From: <bra...@us...> - 2009-05-20 02:18:54
|
Revision: 2716 http://archive-access.svn.sourceforge.net/archive-access/?rev=2716&view=rev Author: bradtofel Date: 2009-05-20 02:12:57 +0000 (Wed, 20 May 2009) Log Message: ----------- REFACTOR: now all parse() implementations can throw a BetterRequestException. Also, CompositeRequestParser is now officially abstract, clarifying the semantics of overriding getRequestParsers(). Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixCompositeRequestParser.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/CompositeRequestParser.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java 2009-05-20 02:06:47 UTC (rev 2715) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java 2009-05-20 02:12:57 UTC (rev 2716) @@ -28,6 +28,7 @@ import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.exception.BetterRequestException; import org.archive.wayback.webapp.AccessPoint; /** @@ -47,17 +48,6 @@ * @throws BadQueryException */ public abstract WaybackRequest parse(HttpServletRequest httpRequest, - AccessPoint wbContext) throws BadQueryException; - /** - * @param maxRecords - */ - public void setMaxRecords(int maxRecords); - /** - * @param timestamp - */ - public void setEarliestTimestamp(String timestamp); - /** - * @param timestamp - */ - public void setLatestTimestamp(String timestamp); + AccessPoint wbContext) throws BadQueryException, + BetterRequestException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlRequestParser.java 2009-05-20 02:06:47 UTC (rev 2715) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlRequestParser.java 2009-05-20 02:12:57 UTC (rev 2716) @@ -44,13 +44,13 @@ public class ArchivalUrlRequestParser extends CompositeRequestParser { protected RequestParser[] getRequestParsers() { RequestParser[] theParsers = { - new ReplayRequestParser(), - new PathDatePrefixQueryRequestParser(), - new PathDateRangeQueryRequestParser(), - new PathPrefixDatePrefixQueryRequestParser(), - new PathPrefixDateRangeQueryRequestParser(), - new OpenSearchRequestParser(), - new FormRequestParser() + new ReplayRequestParser(this), + new PathDatePrefixQueryRequestParser(this), + new PathDateRangeQueryRequestParser(this), + new PathPrefixDatePrefixQueryRequestParser(this), + new PathPrefixDateRangeQueryRequestParser(this), + new OpenSearchRequestParser(this), + new FormRequestParser(this) }; return theParsers; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixCompositeRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixCompositeRequestParser.java 2009-05-20 02:06:47 UTC (rev 2715) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixCompositeRequestParser.java 2009-05-20 02:12:57 UTC (rev 2716) @@ -36,12 +36,12 @@ * @version $Date$, $Revision$ */ public class DomainPrefixCompositeRequestParser extends CompositeRequestParser { - DomainPrefixRequestParser dprp = new DomainPrefixRequestParser(); + DomainPrefixRequestParser dprp = new DomainPrefixRequestParser(this); protected RequestParser[] getRequestParsers() { RequestParser[] theParsers = { dprp, - new OpenSearchRequestParser(), - new FormRequestParser() + new OpenSearchRequestParser(this), + new FormRequestParser(this) }; return theParsers; } 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 2009-05-20 02:06:47 UTC (rev 2715) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java 2009-05-20 02:12:57 UTC (rev 2716) @@ -31,6 +31,7 @@ import org.archive.wayback.RequestParser; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.exception.BetterRequestException; import org.archive.wayback.requestparser.CompositeRequestParser; import org.archive.wayback.requestparser.FormRequestParser; import org.archive.wayback.requestparser.OpenSearchRequestParser; @@ -44,13 +45,13 @@ * @version $Date$, $Revision$ */ public class ProxyRequestParser extends CompositeRequestParser { - private ProxyReplayRequestParser prrp = new ProxyReplayRequestParser(); + private ProxyReplayRequestParser prrp = new ProxyReplayRequestParser(this); protected RequestParser[] getRequestParsers() { prrp.init(); RequestParser[] theParsers = { prrp, - new OpenSearchRequestParser(), - new FormRequestParser() + new OpenSearchRequestParser(this), + new FormRequestParser(this) }; return theParsers; } @@ -61,7 +62,7 @@ prrp.setLocalhostNames(localhostNames); } public WaybackRequest parse(HttpServletRequest httpRequest, - AccessPoint wbContext) throws BadQueryException { + AccessPoint wbContext) throws BadQueryException, BetterRequestException { WaybackRequest wbRequest = super.parse(httpRequest, wbContext); if (wbRequest != null) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/CompositeRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/CompositeRequestParser.java 2009-05-20 02:06:47 UTC (rev 2715) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/CompositeRequestParser.java 2009-05-20 02:12:57 UTC (rev 2716) @@ -29,15 +29,19 @@ import org.archive.wayback.RequestParser; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.exception.BetterRequestException; import org.archive.wayback.webapp.AccessPoint; /** + * Abstract RequestParser implementation. Subclasses must implement + * the getRequestParsers() method. This implementation provides a parse() + * implementation, which allows each RequestParser returned by the + * getRequestParsers() method an attempt at parsing the incoming request. * - * * @author brad * @version $Date$, $Revision$ */ -public class CompositeRequestParser extends BaseRequestParser { +public abstract class CompositeRequestParser extends BaseRequestParser { private RequestParser[] parsers = null; /** @@ -45,31 +49,26 @@ */ public void init() { parsers = getRequestParsers(); - for(int i = 0; i < parsers.length; i++) { - parsers[i].setMaxRecords(maxRecords); - if(earliestTimestamp != null) { - parsers[i].setEarliestTimestamp(earliestTimestamp); - } - if(latestTimestamp != null) { - parsers[i].setLatestTimestamp(latestTimestamp); - } - } } - protected RequestParser[] getRequestParsers() { - RequestParser[] theParsers = { - new OpenSearchRequestParser(), - new FormRequestParser() - }; - return theParsers; - } + protected abstract RequestParser[] getRequestParsers(); +// A basic example implementation method: + +// protected abstract RequestParser[] getRequestParsers() { +// RequestParser[] theParsers = { +// new OpenSearchRequestParser(this), +// new FormRequestParser(this) +// }; +// return theParsers; +// } + /* (non-Javadoc) * @see org.archive.wayback.RequestParser#parse(javax.servlet.http.HttpServletRequest) */ public WaybackRequest parse(HttpServletRequest httpRequest, - AccessPoint wbContext) throws BadQueryException { + AccessPoint wbContext) throws BadQueryException, BetterRequestException { WaybackRequest wbRequest = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |