From: <bra...@us...> - 2007-07-25 00:40:15
|
Revision: 1876 http://archive-access.svn.sourceforge.net/archive-access/?rev=1876&view=rev Author: bradtofel Date: 2007-07-24 17:40:16 -0700 (Tue, 24 Jul 2007) Log Message: ----------- REFACTOR: now implement ObjectFilter with strong typing, instead of inheriting from SearchResultFilter Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CaptureToUrlResultFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CaptureToUrlResultFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CaptureToUrlResultFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CaptureToUrlResultFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -29,7 +29,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * @@ -37,7 +37,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class CaptureToUrlResultFilter extends SearchResultFilter { +public class CaptureToUrlResultFilter implements ObjectFilter<SearchResult> { private String currentUrl; private String firstCapture; private String lastCapture; @@ -89,11 +89,8 @@ resultRef.put(RESULT_NUM_CAPTURES,"1"); resultRef.put(RESULT_NUM_VERSIONS,"1"); } - /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) - */ - @Override - public int filterSearchResult(SearchResult r) { + + public int filterObject(SearchResult r) { String urlKey = r.get(WaybackConstants.RESULT_URL_KEY); if(resultRef == null || !currentUrl.equals(urlKey)) { fungeSearchResult(r); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -28,7 +28,7 @@ import java.util.Iterator; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter that abstracts multiple SearchResultFilters -- if all @@ -38,24 +38,24 @@ * @author brad * @version $Date$, $Revision$ */ -public class CompositeExclusionFilter extends SearchResultFilter { +public class CompositeExclusionFilter implements ObjectFilter<SearchResult> { - private ArrayList<SearchResultFilter> filters = - new ArrayList<SearchResultFilter>(); + private ArrayList<ObjectFilter<SearchResult>> filters = + new ArrayList<ObjectFilter<SearchResult>>(); /** * @param filter to be added to the composite. */ - public void addComponent(SearchResultFilter filter) { + public void addComponent(ObjectFilter<SearchResult> filter) { filters.add(filter); } /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { - Iterator<SearchResultFilter> itr = filters.iterator(); + public int filterObject(SearchResult r) { + Iterator<ObjectFilter<SearchResult>> itr = filters.iterator(); while(itr.hasNext()) { - int result = itr.next().filterSearchResult(r); + int result = itr.next().filterObject(r); if(result != FILTER_INCLUDE) { return result; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -25,7 +25,7 @@ package org.archive.wayback.resourceindex.filters; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which INCLUDEs all checked records, but keeps track of @@ -34,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class CounterFilter extends SearchResultFilter { +public class CounterFilter implements ObjectFilter<SearchResult> { private int numMatched = 0; @@ -48,7 +48,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { numMatched++; return FILTER_INCLUDE; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter that excludes records outside of start and end range. @@ -35,7 +35,7 @@ * @version $Date$, $Revision$ */ -public class DateRangeFilter extends SearchResultFilter { +public class DateRangeFilter implements ObjectFilter<SearchResult> { private String first = null; private String last = null; @@ -52,7 +52,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); return ((first.compareTo(captureDate) > 0) || (last.compareTo(captureDate) < 0)) ? Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes all records until 1 is found beyond end @@ -37,7 +37,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class EndDateFilter extends SearchResultFilter { +public class EndDateFilter implements ObjectFilter<SearchResult> { private String endDate = null; /** @@ -50,7 +50,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); return (endDate.substring(0,captureDate.length()).compareTo( Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -25,7 +25,7 @@ package org.archive.wayback.resourceindex.filters; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which aborts processing when too many records have been @@ -34,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class GuardRailFilter extends SearchResultFilter { +public class GuardRailFilter implements ObjectFilter<SearchResult> { private int maxRecordsToScan = 0; private int recordsScanned = 0; @@ -49,7 +49,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { recordsScanned++; if(recordsScanned > maxRecordsToScan) { return FILTER_ABORT; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes only records that have original host @@ -35,7 +35,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class HostMatchFilter extends SearchResultFilter { +public class HostMatchFilter implements ObjectFilter<SearchResult> { private String hostname = null; @@ -49,7 +49,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String origHost = r.get(WaybackConstants.RESULT_ORIG_HOST); return hostname.equals(origHost) ? FILTER_INCLUDE : FILTER_EXCLUDE; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -28,7 +28,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes only records matching one or more supplied @@ -37,7 +37,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class MimeTypeFilter extends SearchResultFilter { +public class MimeTypeFilter implements ObjectFilter<SearchResult> { private HashMap<String,Integer> validMimes = null; /** @@ -53,7 +53,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String mime = r.get(WaybackConstants.RESULT_MIME_TYPE).toLowerCase(); return validMimes.containsKey(mime) ? FILTER_INCLUDE : FILTER_EXCLUDE; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -27,7 +27,7 @@ import org.apache.commons.httpclient.URIException; import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; import org.archive.wayback.util.UrlCanonicalizer; /** @@ -37,13 +37,13 @@ * @author brad * @version $Date$, $Revision$ */ -public class SelfRedirectFilter extends SearchResultFilter { +public class SelfRedirectFilter implements ObjectFilter<SearchResult> { private UrlCanonicalizer canonicalizer = new UrlCanonicalizer(); /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String httpCode = r.get(WaybackConstants.RESULT_HTTP_CODE); // only filter real 3XX http response codes: if(httpCode.startsWith("3")) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes all records until 1 is found before start @@ -38,7 +38,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class StartDateFilter extends SearchResultFilter { +public class StartDateFilter implements ObjectFilter<SearchResult> { private String startDate = null; @@ -53,7 +53,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); return (startDate.substring(0,captureDate.length()).compareTo( captureDate) > 0) ? Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes only records that have url matching @@ -35,7 +35,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class UrlMatchFilter extends SearchResultFilter { +public class UrlMatchFilter implements ObjectFilter<SearchResult> { private String url = null; @@ -49,7 +49,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String resultUrl = r.get(WaybackConstants.RESULT_URL_KEY); return url.equals(resultUrl) ? FILTER_INCLUDE : FILTER_ABORT; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -26,7 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFilter which includes any URL which begins with a given prefix, @@ -37,7 +37,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class UrlPrefixMatchFilter extends SearchResultFilter { +public class UrlPrefixMatchFilter implements ObjectFilter<SearchResult> { private String prefix; @@ -51,7 +51,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { String resultUrl = r.get(WaybackConstants.RESULT_URL_KEY); return resultUrl.startsWith(prefix) ? FILTER_INCLUDE : FILTER_ABORT; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -25,7 +25,7 @@ package org.archive.wayback.resourceindex.filters; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFitler that includes the first N records seen. @@ -33,7 +33,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class WindowEndFilter extends SearchResultFilter { +public class WindowEndFilter implements ObjectFilter<SearchResult> { private int windowSize = 0; private int numSeen = 0; @@ -49,7 +49,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { numSeen++; if(numSeen <= windowSize) { return FILTER_INCLUDE; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java 2007-07-25 00:36:17 UTC (rev 1875) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java 2007-07-25 00:40:16 UTC (rev 1876) @@ -25,7 +25,7 @@ package org.archive.wayback.resourceindex.filters; import org.archive.wayback.core.SearchResult; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * SearchResultFitler that omits the first N records seen. @@ -33,7 +33,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class WindowStartFilter extends SearchResultFilter { +public class WindowStartFilter implements ObjectFilter<SearchResult> { private int windowStart = 0; private int numSeen = 0; @@ -49,7 +49,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterSearchResult(SearchResult r) { + public int filterObject(SearchResult r) { numSeen++; if(numSeen > windowStart) { return FILTER_INCLUDE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2007-10-29 21:44:11
|
Revision: 2063 http://archive-access.svn.sourceforge.net/archive-access/?rev=2063&view=rev Author: bradtofel Date: 2007-10-29 14:44:06 -0700 (Mon, 29 Oct 2007) Log Message: ----------- BUGFIX: (unreported) shorter than 14-digit request dates were causing String out of bounds exceptions. Now they are padded to 14 digits. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2007-10-19 00:01:34 UTC (rev 2062) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2007-10-29 21:44:06 UTC (rev 2063) @@ -26,6 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; /** @@ -45,8 +46,8 @@ * @param last String latest date to include */ public DateRangeFilter(final String first, final String last) { - this.first = first; - this.last = last; + this.first = Timestamp.parseBefore(first).getDateStr(); + this.last = Timestamp.parseAfter(last).getDateStr(); } /* (non-Javadoc) Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2007-10-19 00:01:34 UTC (rev 2062) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2007-10-29 21:44:06 UTC (rev 2063) @@ -26,8 +26,10 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; + /** * SearchResultFilter which includes all records until 1 is found beyond end * date then it aborts processing. Assumed usage is for URL matches, when @@ -44,7 +46,7 @@ * @param endDate String timestamp which marks the end of includable records */ public EndDateFilter(final String endDate) { - this.endDate = endDate; + this.endDate = Timestamp.parseAfter(endDate).getDateStr(); } /* (non-Javadoc) Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2007-10-19 00:01:34 UTC (rev 2062) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2007-10-29 21:44:06 UTC (rev 2063) @@ -26,6 +26,7 @@ import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; /** @@ -47,7 +48,7 @@ * records */ public StartDateFilter(final String startDate) { - this.startDate = startDate; + this.startDate = Timestamp.parseBefore(startDate).getDateStr(); } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2008-07-01 23:32:21
|
Revision: 2363 http://archive-access.svn.sourceforge.net/archive-access/?rev=2363&view=rev Author: bradtofel Date: 2008-07-01 16:32:29 -0700 (Tue, 01 Jul 2008) Log Message: ----------- REFACTOR: SearchResult => (Url|Capture)SearchResult Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DuplicateRecordFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/OracleAnnotationFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -27,7 +27,7 @@ import java.util.ArrayList; import java.util.Iterator; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -38,22 +38,22 @@ * @author brad * @version $Date$, $Revision$ */ -public class CompositeExclusionFilter implements ObjectFilter<SearchResult> { +public class CompositeExclusionFilter implements ObjectFilter<CaptureSearchResult> { - private ArrayList<ObjectFilter<SearchResult>> filters = - new ArrayList<ObjectFilter<SearchResult>>(); + private ArrayList<ObjectFilter<CaptureSearchResult>> filters = + new ArrayList<ObjectFilter<CaptureSearchResult>>(); /** * @param filter to be added to the composite. */ - public void addComponent(ObjectFilter<SearchResult> filter) { + public void addComponent(ObjectFilter<CaptureSearchResult> filter) { filters.add(filter); } /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) */ - public int filterObject(SearchResult r) { - Iterator<ObjectFilter<SearchResult>> itr = filters.iterator(); + public int filterObject(CaptureSearchResult r) { + Iterator<ObjectFilter<CaptureSearchResult>> itr = filters.iterator(); while(itr.hasNext()) { int result = itr.next().filterObject(r); if(result != FILTER_INCLUDE) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,7 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -34,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class CounterFilter implements ObjectFilter<SearchResult> { +public class CounterFilter implements ObjectFilter<CaptureSearchResult> { private int numMatched = 0; @@ -46,9 +46,9 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { + public int filterObject(CaptureSearchResult r) { numMatched++; return FILTER_INCLUDE; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; @@ -36,7 +35,7 @@ * @version $Date$, $Revision$ */ -public class DateRangeFilter implements ObjectFilter<SearchResult> { +public class DateRangeFilter implements ObjectFilter<CaptureSearchResult> { private String first = null; private String last = null; @@ -51,10 +50,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); + public int filterObject(CaptureSearchResult r) { + String captureDate = r.getCaptureTimestamp(); return ((first.compareTo(captureDate) > 0) || (last.compareTo(captureDate) < 0)) ? FILTER_EXCLUDE : FILTER_INCLUDE; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DuplicateRecordFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DuplicateRecordFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DuplicateRecordFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -1,22 +1,25 @@ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** * ObjectFilter which omits exact duplicate URL+date records from a stream - * of SearchResults. + * of CaptureSearchResult. * * @author brad * @version $Date$, $Revision$ */ -public class DuplicateRecordFilter implements ObjectFilter<SearchResult> { +public class DuplicateRecordFilter implements ObjectFilter<CaptureSearchResult> { private String lastUrl = null; private String lastDate = null; - public int filterObject(SearchResult o) { - String thisUrl = o.getUrl(); - String thisDate = o.getCaptureDate(); + /* (non-Javadoc) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) + */ + public int filterObject(CaptureSearchResult o) { + String thisUrl = o.getUrlKey(); + String thisDate = o.getCaptureTimestamp(); int result = ObjectFilter.FILTER_INCLUDE; if(lastUrl != null) { if(lastUrl.equals(thisUrl) && thisDate.equals(lastDate)) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; @@ -39,7 +38,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class EndDateFilter implements ObjectFilter<SearchResult> { +public class EndDateFilter implements ObjectFilter<CaptureSearchResult> { private String endDate = null; /** @@ -50,10 +49,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); + public int filterObject(CaptureSearchResult r) { + String captureDate = r.getCaptureTimestamp(); return (endDate.substring(0,captureDate.length()).compareTo( captureDate) < 0) ? Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/GuardRailFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,7 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -34,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class GuardRailFilter implements ObjectFilter<SearchResult> { +public class GuardRailFilter implements ObjectFilter<CaptureSearchResult> { private int maxRecordsToScan = 0; private int recordsScanned = 0; @@ -47,9 +47,9 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { + public int filterObject(CaptureSearchResult r) { recordsScanned++; if(recordsScanned > maxRecordsToScan) { return FILTER_ABORT; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/HostMatchFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -35,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class HostMatchFilter implements ObjectFilter<SearchResult> { +public class HostMatchFilter implements ObjectFilter<CaptureSearchResult> { private String hostname = null; @@ -47,10 +46,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String origHost = r.get(WaybackConstants.RESULT_ORIG_HOST); + public int filterObject(CaptureSearchResult r) { + String origHost = r.getOriginalHost(); return hostname.equals(origHost) ? FILTER_INCLUDE : FILTER_EXCLUDE; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/MimeTypeFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -26,8 +26,7 @@ import java.util.HashMap; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -37,7 +36,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class MimeTypeFilter implements ObjectFilter<SearchResult> { +public class MimeTypeFilter implements ObjectFilter<CaptureSearchResult> { private HashMap<String,Integer> validMimes = null; /** @@ -51,10 +50,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String mime = r.get(WaybackConstants.RESULT_MIME_TYPE).toLowerCase(); + public int filterObject(CaptureSearchResult r) { + String mime = r.getMimeType().toLowerCase(); return validMimes.containsKey(mime) ? FILTER_INCLUDE : FILTER_EXCLUDE; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/OracleAnnotationFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/OracleAnnotationFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/OracleAnnotationFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -29,8 +29,7 @@ import org.archive.accesscontrol.AccessControlClient; import org.archive.accesscontrol.RuleOracleUnavailableException; import org.archive.accesscontrol.model.Rule; -import org.archive.wayback.core.SearchResult; -import org.archive.wayback.core.Timestamp; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -40,17 +39,17 @@ * @author brad * @version $Date$, $Revision$ */ -public class OracleAnnotationFilter implements ObjectFilter<SearchResult> { +public class OracleAnnotationFilter implements ObjectFilter<CaptureSearchResult> { private AccessControlClient client = null; private String oracleUrl = null; private String who = null; /* (non-Javadoc) * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult o) { + public int filterObject(CaptureSearchResult o) { if(client != null) { - String url = o.getAbsoluteUrl(); - Date capDate = Timestamp.parseAfter(o.getCaptureDate()).getDate(); + String url = o.getOriginalUrl(); + Date capDate = o.getCaptureDate(); try { Rule r = client.getRule(url, capDate, new Date(), who); if(r != null) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SelfRedirectFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -26,8 +26,7 @@ import org.apache.commons.httpclient.URIException; import org.archive.wayback.UrlCanonicalizer; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; import org.archive.wayback.util.url.AggressiveUrlCanonicalizer; @@ -38,22 +37,22 @@ * @author brad * @version $Date$, $Revision$ */ -public class SelfRedirectFilter implements ObjectFilter<SearchResult> { +public class SelfRedirectFilter implements ObjectFilter<CaptureSearchResult> { private UrlCanonicalizer canonicalizer = new AggressiveUrlCanonicalizer(); public SelfRedirectFilter() { canonicalizer = new AggressiveUrlCanonicalizer(); } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String httpCode = r.get(WaybackConstants.RESULT_HTTP_CODE); + public int filterObject(CaptureSearchResult r) { + String httpCode = r.getHttpCode(); // only filter real 3XX http response codes: if(httpCode.startsWith("3")) { - String redirect = r.get(WaybackConstants.RESULT_REDIRECT_URL); + String redirect = r.getRedirectUrl(); if(redirect.compareTo("-") != 0) { - String urlKey = r.get(WaybackConstants.RESULT_URL_KEY); + String urlKey = r.getUrlKey(); try { String redirectKey = canonicalizer.urlStringToKey(redirect); if(redirectKey.compareTo(urlKey) == 0) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/StartDateFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.core.Timestamp; import org.archive.wayback.util.ObjectFilter; @@ -39,7 +38,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class StartDateFilter implements ObjectFilter<SearchResult> { +public class StartDateFilter implements ObjectFilter<CaptureSearchResult> { private String startDate = null; @@ -52,10 +51,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); + public int filterObject(CaptureSearchResult r) { + String captureDate = r.getCaptureTimestamp(); return (startDate.substring(0,captureDate.length()).compareTo( captureDate) > 0) ? FILTER_ABORT : FILTER_INCLUDE; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlMatchFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -35,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class UrlMatchFilter implements ObjectFilter<SearchResult> { +public class UrlMatchFilter implements ObjectFilter<CaptureSearchResult> { private String url = null; @@ -47,10 +46,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String resultUrl = r.get(WaybackConstants.RESULT_URL_KEY); + public int filterObject(CaptureSearchResult r) { + String resultUrl = r.getUrlKey(); return url.equals(resultUrl) ? FILTER_INCLUDE : FILTER_ABORT; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/UrlPrefixMatchFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,8 +24,7 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -37,7 +36,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class UrlPrefixMatchFilter implements ObjectFilter<SearchResult> { +public class UrlPrefixMatchFilter implements ObjectFilter<CaptureSearchResult> { private String prefix; @@ -49,10 +48,10 @@ } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { - String resultUrl = r.get(WaybackConstants.RESULT_URL_KEY); + public int filterObject(CaptureSearchResult r) { + String resultUrl = r.getUrlKey(); return resultUrl.startsWith(prefix) ? FILTER_INCLUDE : FILTER_ABORT; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowEndFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,7 +24,6 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.core.SearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -33,10 +32,11 @@ * @author brad * @version $Date$, $Revision$ */ -public class WindowEndFilter implements ObjectFilter<SearchResult> { +public class WindowEndFilter<T> implements ObjectFilter<T> { private int windowSize = 0; private int numSeen = 0; + private int numReturned = 0; /** * @param windowSize int number of records to include @@ -45,13 +45,16 @@ this.windowSize = windowSize; this.numSeen = 0; } - + public int getNumReturned() { + return numReturned; + } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { + public int filterObject(T r) { numSeen++; if(numSeen <= windowSize) { + numReturned++; return FILTER_INCLUDE; } return FILTER_EXCLUDE; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java 2008-07-01 23:31:37 UTC (rev 2362) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/WindowStartFilter.java 2008-07-01 23:32:29 UTC (rev 2363) @@ -24,7 +24,6 @@ */ package org.archive.wayback.resourceindex.filters; -import org.archive.wayback.core.SearchResult; import org.archive.wayback.util.ObjectFilter; /** @@ -33,7 +32,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class WindowStartFilter implements ObjectFilter<SearchResult> { +public class WindowStartFilter<T> implements ObjectFilter<T> { private int windowStart = 0; private int numSeen = 0; @@ -45,11 +44,14 @@ this.windowStart = windowStart; this.numSeen = 0; } + public int getNumSeen() { + return numSeen; + } /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.SearchResultFilter#filterSearchResult(org.archive.wayback.core.SearchResult) + * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) */ - public int filterObject(SearchResult r) { + public int filterObject(T r) { numSeen++; if(numSeen > windowStart) { return FILTER_INCLUDE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |