From: <bra...@us...> - 2008-07-23 00:42:39
|
Revision: 2485 http://archive-access.svn.sourceforge.net/archive-access/?rev=2485&view=rev Author: bradtofel Date: 2008-07-23 00:42:47 +0000 (Wed, 23 Jul 2008) Log Message: ----------- REFACTOR: moved WaybackRequest.fixup() out of all RequestParser implementations, and into AccessPoint. This allows the AccessPoint to set the reference to itself before fixup() allowing: FEATURE: Added get/setLocale() to AccessPoint, allowing explicit configuration of the Locale to use for that AccessPoint. If none is specified, then the Locale of the HttpServletRequest is used, as before. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/WaybackRequest.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/FormRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/OpenSearchRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/PathRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/WaybackRequest.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/WaybackRequest.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/WaybackRequest.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -720,10 +720,14 @@ String.valueOf(httpRequest.getLocalPort())); putUnlessNull(REQUEST_WAYBACK_CONTEXT, httpRequest.getContextPath()); - Locale l = httpRequest.getLocale(); - ResourceBundle b = ResourceBundle.getBundle(UI_RESOURCE_BUNDLE_NAME, - httpRequest.getLocale()); - formatter = new StringFormatter(b,l); + Locale l = null; + if(accessPoint != null) { + l = accessPoint.getLocale(); + } + if(l == null) { + l = httpRequest.getLocale(); + } + setLocale(l); putUnlessNull(REQUEST_LOCALE_LANG,l.getDisplayLanguage()); Cookie[] cookies = httpRequest.getCookies(); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -74,7 +74,6 @@ String replayDateStr = BDBMap.getTimestampForId( httpRequest.getContextPath(), id); wbRequest.setReplayTimestamp(replayDateStr); - wbRequest.fixup(httpRequest); } return wbRequest; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/FormRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/FormRequestParser.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/FormRequestParser.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -102,10 +102,6 @@ } } } - if(wbRequest != null) { - wbRequest.fixup(httpRequest); - } - return wbRequest; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/OpenSearchRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/OpenSearchRequestParser.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/OpenSearchRequestParser.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -146,7 +146,6 @@ if(wbRequest.getEndTimestamp() == null) { wbRequest.setEndTimestamp(getLatestTimestamp()); } - wbRequest.fixup(httpRequest); return wbRequest; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/PathRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/PathRequestParser.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/PathRequestParser.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -67,7 +67,6 @@ WaybackRequest wbRequest = parse(requestPath); if(wbRequest != null) { - wbRequest.fixup(httpRequest); wbRequest.setResultsPerPage(maxRecords); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2008-07-22 02:59:11 UTC (rev 2484) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2008-07-23 00:42:47 UTC (rev 2485) @@ -25,6 +25,7 @@ package org.archive.wayback.webapp; import java.io.IOException; +import java.util.Locale; import java.util.Properties; import java.util.logging.Logger; @@ -89,7 +90,17 @@ private Properties configs = null; private ExclusionFilterFactory exclusionFactory = null; private BooleanOperator<WaybackRequest> authentication = null; + private String urlRoot = null; + private Locale locale = null; + public Locale getLocale() { + return locale; + } + + public void setLocale(Locale locale) { + this.locale = locale; + } + /** * */ @@ -224,6 +235,9 @@ * Canonical server and port information. */ public String getAbsoluteLocalPrefix(HttpServletRequest httpRequest) { + if(urlRoot != null) { + return urlRoot; + } return getAbsoluteContextPrefix(httpRequest, useServerName); } @@ -236,7 +250,7 @@ WaybackRequest wbRequest = new WaybackRequest(); wbRequest.setContextPrefix(getAbsoluteLocalPrefix(httpRequest)); wbRequest.setAccessPoint(this); - + wbRequest.fixup(httpRequest); UIResults uiResults = new UIResults(wbRequest,uriConverter); try { uiResults.forward(httpRequest, httpResponse, translated); @@ -278,9 +292,10 @@ wbRequest = parser.parse(httpRequest, this); if(wbRequest != null) { + handled = true; wbRequest.setAccessPoint(this); - handled = true; wbRequest.setContextPrefix(getAbsoluteLocalPrefix(httpRequest)); + wbRequest.fixup(httpRequest); if(authentication != null) { if(!authentication.isTrue(wbRequest)) { throw new AuthenticationControlException("Not authorized"); @@ -485,4 +500,12 @@ public void setException(ExceptionRenderer exception) { this.exception = exception; } + + public String getUrlRoot() { + return urlRoot; + } + + public void setUrlRoot(String urlRoot) { + this.urlRoot = urlRoot; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |