From: <bra...@us...> - 2009-10-28 00:17:42
|
Revision: 2852 http://archive-access.svn.sourceforge.net/archive-access/?rev=2852&view=rev Author: bradtofel Date: 2009-10-28 00:16:36 +0000 (Wed, 28 Oct 2009) Log Message: ----------- INITIAL REV: experimental result filters to include results based on the file field, either as a string prefix, or a regex Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FileRegexFilter.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixFilter.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixFilter.java 2009-10-28 00:16:36 UTC (rev 2852) @@ -0,0 +1,26 @@ +package org.archive.wayback.resourceindex.filters; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.util.ObjectFilter; + +public class FilePrefixFilter implements ObjectFilter<CaptureSearchResult> { + + private String prefixes[] = null; + + public String[] getPrefixes() { + return prefixes; + } + public void setPrefixes(String[] prefixes) { + this.prefixes = prefixes; + } + + public int filterObject(CaptureSearchResult o) { + final String file = o.getFile(); + for(String prefix : prefixes) { + if(file.startsWith(prefix)) { + return FILTER_INCLUDE; + } + } + return FILTER_EXCLUDE; + } +} Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FileRegexFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FileRegexFilter.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FileRegexFilter.java 2009-10-28 00:16:36 UTC (rev 2852) @@ -0,0 +1,39 @@ +package org.archive.wayback.resourceindex.filters; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.util.ObjectFilter; + +public class FileRegexFilter implements ObjectFilter<CaptureSearchResult> { + + private Pattern patterns[] = null; + + public List<String> getPatterns() { + ArrayList<String> s = new ArrayList<String>(); + for(Pattern p : patterns) { + s.add(p.pattern()); + } + return s; + } + + public void setPatterns(List<String> patternStrings) { + int size = patternStrings.size(); + patterns = new Pattern[size]; + for(int i = 0; i < size; i++) { + patterns[i] = Pattern.compile(patternStrings.get(i)); + } + } + + public int filterObject(CaptureSearchResult o) { + final String file = o.getFile(); + for(Pattern pattern : patterns) { + if(pattern.matcher(file).find()) { + return FILTER_INCLUDE; + } + } + return FILTER_EXCLUDE; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |