Revision: 2819 http://archive-access.svn.sourceforge.net/archive-access/?rev=2819&view=rev Author: bradtofel Date: 2009-10-23 00:12:40 +0000 (Fri, 23 Oct 2009) Log Message: ----------- FEATURE: now optionally annotates close matches that were excluded. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SchemeMatchFilter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SchemeMatchFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SchemeMatchFilter.java 2009-10-22 23:44:05 UTC (rev 2818) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/SchemeMatchFilter.java 2009-10-23 00:12:40 UTC (rev 2819) @@ -25,6 +25,7 @@ package org.archive.wayback.resourceindex.filters; import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.resourceindex.filterfactory.QueryCaptureFilterGroup; import org.archive.wayback.util.ObjectFilter; import org.archive.wayback.util.url.UrlOperations; @@ -39,13 +40,22 @@ public class SchemeMatchFilter implements ObjectFilter<CaptureSearchResult> { private String scheme = null; - + private QueryCaptureFilterGroup annotationTarget = null; + /** * @param hostname String of original host to match */ public SchemeMatchFilter(final String scheme) { this.scheme = scheme; } + /** + * @param hostname String of original host to match + */ + public SchemeMatchFilter(final String scheme, + QueryCaptureFilterGroup annotationTarget) { + this.scheme = scheme; + this.annotationTarget = annotationTarget; + } /* (non-Javadoc) * @see org.archive.wayback.util.ObjectFilter#filterObject(java.lang.Object) @@ -53,8 +63,23 @@ public int filterObject(CaptureSearchResult r) { String captureScheme = UrlOperations.urlToScheme(r.getOriginalUrl()); if(scheme == null) { - return captureScheme == null ? FILTER_INCLUDE : FILTER_EXCLUDE; + if(captureScheme == null) { + return FILTER_INCLUDE; + } else { + annotationTarget.addCloseMatch(r.getOriginalHost(), + r.getOriginalUrl()); + return FILTER_EXCLUDE; + } } - return scheme.equals(captureScheme) ? FILTER_INCLUDE : FILTER_EXCLUDE; + + if(scheme.equals(captureScheme)) { + return FILTER_INCLUDE; + } else { + if(annotationTarget != null) { + annotationTarget.addCloseMatch(r.getOriginalHost(), + r.getOriginalUrl()); + } + return FILTER_EXCLUDE; + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |