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. |