From: <bra...@us...> - 2008-07-01 23:34:43
|
Revision: 2365 http://archive-access.svn.sourceforge.net/archive-access/?rev=2365&view=rev Author: bradtofel Date: 2008-07-01 16:34:52 -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/CompositeSearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/DeduplicationSearchResultAnnotationAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/UpdatableSearchResultSource.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/CompositeSearchResultSource.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/CompositeSearchResultSource.java 2008-07-01 23:33:35 UTC (rev 2364) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/CompositeSearchResultSource.java 2008-07-01 23:34:52 UTC (rev 2365) @@ -29,7 +29,7 @@ import java.util.Comparator; import java.util.List; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.resourceindex.cdx.CDXIndex; import org.archive.wayback.util.CloseableIterator; @@ -67,12 +67,12 @@ * * @see org.archive.wayback.resourceindex.SearchResultSource#getPrefixIterator(java.lang.String) */ - public CloseableIterator<SearchResult> getPrefixIterator(String prefix) + public CloseableIterator<CaptureSearchResult> getPrefixIterator(String prefix) throws ResourceIndexNotAvailableException { - Comparator<SearchResult> comparator = new SearchResultComparator(); - CompositeSortedIterator<SearchResult> itr = - new CompositeSortedIterator<SearchResult>(comparator); + Comparator<CaptureSearchResult> comparator = new SearchResultComparator(); + CompositeSortedIterator<CaptureSearchResult> itr = + new CompositeSortedIterator<CaptureSearchResult>(comparator); for (int i = 0; i < sources.size(); i++) { itr.addComponent(sources.get(i).getPrefixIterator(prefix)); } @@ -84,12 +84,12 @@ * * @see org.archive.wayback.resourceindex.SearchResultSource#getPrefixReverseIterator(java.lang.String) */ - public CloseableIterator<SearchResult> getPrefixReverseIterator( + public CloseableIterator<CaptureSearchResult> getPrefixReverseIterator( String prefix) throws ResourceIndexNotAvailableException { - Comparator<SearchResult> comparator = new SearchResultComparator(true); - CompositeSortedIterator<SearchResult> itr = - new CompositeSortedIterator<SearchResult>(comparator); + Comparator<CaptureSearchResult> comparator = new SearchResultComparator(true); + CompositeSortedIterator<CaptureSearchResult> itr = + new CompositeSortedIterator<CaptureSearchResult>(comparator); for (int i = 0; i < sources.size(); i++) { itr.addComponent(sources.get(i).getPrefixReverseIterator(prefix)); } @@ -99,7 +99,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultSource#cleanup(org.archive.wayback.util.CleanableIterator) */ - public void cleanup(CloseableIterator<SearchResult> c) throws IOException{ + public void cleanup(CloseableIterator<CaptureSearchResult> c) throws IOException{ c.close(); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/DeduplicationSearchResultAnnotationAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/DeduplicationSearchResultAnnotationAdapter.java 2008-07-01 23:33:35 UTC (rev 2364) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/DeduplicationSearchResultAnnotationAdapter.java 2008-07-01 23:34:52 UTC (rev 2365) @@ -2,8 +2,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.Adapter; /** @@ -25,46 +24,38 @@ * @version $Date$, $Revision$ */ public class DeduplicationSearchResultAnnotationAdapter -implements Adapter<SearchResult,SearchResult> { +implements Adapter<CaptureSearchResult,CaptureSearchResult> { private final static String EMPTY_VALUE = "-"; - // these fields are all copied to deduped records as-is: - private final static String FIELDS[] = { - WaybackConstants.RESULT_ARC_FILE, - WaybackConstants.RESULT_OFFSET, - WaybackConstants.RESULT_HTTP_CODE, - WaybackConstants.RESULT_MIME_TYPE, - WaybackConstants.RESULT_REDIRECT_URL, - }; - private HashMap<String,SearchResult> memory = null; + private HashMap<String,CaptureSearchResult> memory = null; public DeduplicationSearchResultAnnotationAdapter() { - memory = new HashMap<String,SearchResult>(); + memory = new HashMap<String,CaptureSearchResult>(); } - private SearchResult annotate(SearchResult o) { - String thisDigest = o.get(WaybackConstants.RESULT_MD5_DIGEST); - SearchResult last = memory.get(thisDigest); + private CaptureSearchResult annotate(CaptureSearchResult o) { + String thisDigest = o.getDigest(); + CaptureSearchResult last = memory.get(thisDigest); if(last == null) { + // TODO: log missing record digest reference return null; } - for(String field : FIELDS) { - o.put(field, last.get(field)); - } - o.put(WaybackConstants.RESULT_DUPLICATE_ANNOTATION, - WaybackConstants.RESULT_DUPLICATE_DIGEST); - o.put(WaybackConstants.RESULT_DUPLICATE_STORED_DATE, - last.get(WaybackConstants.RESULT_CAPTURE_DATE)); + o.setFile(last.getFile()); + o.setOffset(last.getOffset()); + o.setHttpCode(last.getHttpCode()); + o.setMimeType(last.getMimeType()); + o.setRedirectUrl(last.getRedirectUrl()); + o.flagDuplicateDigest(last.getCaptureTimestamp()); return o; } - private SearchResult remember(SearchResult o) { - memory.put(o.get(WaybackConstants.RESULT_MD5_DIGEST),o); + private CaptureSearchResult remember(CaptureSearchResult o) { + memory.put(o.getDigest(),o); return o; } - public SearchResult adapt(SearchResult o) { - if(o.get(FIELDS[0]).equals(EMPTY_VALUE)) { + public CaptureSearchResult adapt(CaptureSearchResult o) { + if(o.getFile().equals(EMPTY_VALUE)) { return annotate(o); } return remember(o); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java 2008-07-01 23:33:35 UTC (rev 2364) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java 2008-07-01 23:34:52 UTC (rev 2365) @@ -26,8 +26,7 @@ import java.util.Comparator; -import org.archive.wayback.WaybackConstants; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; /** * @@ -35,7 +34,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class SearchResultComparator implements Comparator<SearchResult> { +public class SearchResultComparator implements Comparator<CaptureSearchResult> { private boolean backwards; /** @@ -52,15 +51,15 @@ backwards = false; } - private String objectToKey(SearchResult r) { - String urlKey = r.get(WaybackConstants.RESULT_URL_KEY); - String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); + private String objectToKey(CaptureSearchResult r) { + String urlKey = r.getUrlKey(); + String captureDate = r.getCaptureTimestamp(); return urlKey + " " + captureDate; } /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ - public int compare(SearchResult o1, SearchResult o2) { + public int compare(CaptureSearchResult o1, CaptureSearchResult o2) { String k1 = objectToKey(o1); String k2 = objectToKey(o2); if(backwards) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java 2008-07-01 23:33:35 UTC (rev 2364) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java 2008-07-01 23:34:52 UTC (rev 2365) @@ -26,7 +26,7 @@ import java.io.IOException; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.util.CloseableIterator; @@ -44,7 +44,7 @@ * results. * @throws ResourceIndexNotAvailableException */ - public CloseableIterator<SearchResult> getPrefixIterator(final String prefix) + public CloseableIterator<CaptureSearchResult> getPrefixIterator(final String prefix) throws ResourceIndexNotAvailableException; /** @@ -54,14 +54,14 @@ * results. * @throws ResourceIndexNotAvailableException */ - public CloseableIterator<SearchResult> getPrefixReverseIterator(final String prefix) + public CloseableIterator<CaptureSearchResult> getPrefixReverseIterator(final String prefix) throws ResourceIndexNotAvailableException; /** * @param c * @throws IOException */ - public void cleanup(CloseableIterator<SearchResult> c) throws IOException; + public void cleanup(CloseableIterator<CaptureSearchResult> c) throws IOException; /** * @param c Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/UpdatableSearchResultSource.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/UpdatableSearchResultSource.java 2008-07-01 23:33:35 UTC (rev 2364) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/UpdatableSearchResultSource.java 2008-07-01 23:34:52 UTC (rev 2365) @@ -28,7 +28,7 @@ import java.util.Iterator; import org.archive.wayback.UrlCanonicalizer; -import org.archive.wayback.core.SearchResult; +import org.archive.wayback.core.CaptureSearchResult; /** * @@ -37,6 +37,6 @@ * @version $Date$, $Revision$ */ public interface UpdatableSearchResultSource extends SearchResultSource { - public void addSearchResults(Iterator<SearchResult> itr, + public void addSearchResults(Iterator<CaptureSearchResult> itr, UrlCanonicalizer canonicalizer) throws IOException; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |