From: <bra...@us...> - 2007-07-25 00:49:33
|
Revision: 1886 http://archive-access.svn.sourceforge.net/archive-access/?rev=1886&view=rev Author: bradtofel Date: 2007-07-24 17:49:36 -0700 (Tue, 24 Jul 2007) Log Message: ----------- TWEAK: type safety 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/LocalResourceIndex.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 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 2007-07-25 00:48:56 UTC (rev 1885) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/CompositeSearchResultSource.java 2007-07-25 00:49:36 UTC (rev 1886) @@ -29,6 +29,7 @@ import java.util.Comparator; import java.util.List; +import org.archive.wayback.core.SearchResult; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.resourceindex.cdx.CDXIndex; import org.archive.wayback.util.CloseableIterator; @@ -66,11 +67,12 @@ * * @see org.archive.wayback.resourceindex.SearchResultSource#getPrefixIterator(java.lang.String) */ - public CloseableIterator getPrefixIterator(String prefix) + public CloseableIterator<SearchResult> getPrefixIterator(String prefix) throws ResourceIndexNotAvailableException { - Comparator<Object> comparator = new SearchResultComparator(); - CompositeSortedIterator itr = new CompositeSortedIterator(comparator); + Comparator<SearchResult> comparator = new SearchResultComparator(); + CompositeSortedIterator<SearchResult> itr = + new CompositeSortedIterator<SearchResult>(comparator); for (int i = 0; i < sources.size(); i++) { itr.addComponent(sources.get(i).getPrefixIterator(prefix)); } @@ -82,11 +84,12 @@ * * @see org.archive.wayback.resourceindex.SearchResultSource#getPrefixReverseIterator(java.lang.String) */ - public CloseableIterator getPrefixReverseIterator(String prefix) - throws ResourceIndexNotAvailableException { + public CloseableIterator<SearchResult> getPrefixReverseIterator( + String prefix) throws ResourceIndexNotAvailableException { - Comparator<Object> comparator = new SearchResultComparator(true); - CompositeSortedIterator itr = new CompositeSortedIterator(comparator); + Comparator<SearchResult> comparator = new SearchResultComparator(true); + CompositeSortedIterator<SearchResult> itr = + new CompositeSortedIterator<SearchResult>(comparator); for (int i = 0; i < sources.size(); i++) { itr.addComponent(sources.get(i).getPrefixReverseIterator(prefix)); } @@ -96,7 +99,7 @@ /* (non-Javadoc) * @see org.archive.wayback.resourceindex.SearchResultSource#cleanup(org.archive.wayback.util.CleanableIterator) */ - public void cleanup(CloseableIterator c) throws IOException{ + public void cleanup(CloseableIterator<SearchResult> c) throws IOException{ c.close(); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java 2007-07-25 00:48:56 UTC (rev 1885) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java 2007-07-25 00:49:36 UTC (rev 1886) @@ -25,7 +25,6 @@ package org.archive.wayback.resourceindex; import java.io.IOException; -import java.util.Properties; import org.apache.commons.httpclient.URIException; import org.archive.net.UURI; @@ -45,7 +44,6 @@ import org.archive.wayback.resourceindex.filters.WindowEndFilter; import org.archive.wayback.resourceindex.filters.WindowStartFilter; import org.archive.wayback.core.CaptureSearchResults; -import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.Timestamp; @@ -53,7 +51,6 @@ import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.AccessControlException; import org.archive.wayback.exception.BadQueryException; -import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.exception.ResourceNotInArchiveException; import org.archive.wayback.util.CloseableIterator; @@ -82,23 +79,9 @@ private UrlCanonicalizer canonicalizer = new UrlCanonicalizer(); - /* - * (non-Javadoc) - * - * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) - */ - public void init(Properties p) throws ConfigurationException { - PropertyConfiguration pc = new PropertyConfiguration(p); - source = SearchResultSourceFactory.get(p); - exclusionFactory = ExclusionFilterFactoryFactory.get(p); - - maxRecords = pc.getInt(WaybackConstants.MAX_RESULTS_CONFIG_NAME, - MAX_RECORDS); - } - - private SearchResultFilter getExclusionFilter() + private ObjectFilter<SearchResult> getExclusionFilter() throws ResourceIndexNotAvailableException { - SearchResultFilter filter = null; + ObjectFilter<SearchResult> filter = null; if(exclusionFactory != null) { filter = exclusionFactory.get(); if(filter == null) { @@ -109,11 +92,12 @@ return filter; } - private void filterRecords(CloseableIterator itr, ObjectFilter filter, - SearchResults results, boolean forwards) throws IOException { + private void filterRecords(CloseableIterator<SearchResult> itr, + ObjectFilter<SearchResult> filter, SearchResults results, + boolean forwards) throws IOException { while (itr.hasNext()) { - SearchResult result = (SearchResult) itr.next(); + SearchResult result = itr.next(); int ruling = filter.filterObject(result); if (ruling == ObjectFilter.FILTER_ABORT) { break; @@ -225,7 +209,7 @@ GuardRailFilter guardrail = new GuardRailFilter(maxRecords); // checks an exclusion service for every matching record - SearchResultFilter exclusion = getExclusionFilter(); + ObjectFilter<SearchResult> exclusion = getExclusionFilter(); // count how many results got to the ExclusionFilter: CounterFilter preExCounter = new CounterFilter(); @@ -240,8 +224,10 @@ || searchType.equals(WaybackConstants.REQUEST_CLOSEST_QUERY)) { results = new CaptureSearchResults(); - ObjectFilterChain forwardFilters = new ObjectFilterChain(); - ObjectFilterChain reverseFilters = new ObjectFilterChain(); + ObjectFilterChain<SearchResult> forwardFilters = + new ObjectFilterChain<SearchResult>(); + ObjectFilterChain<SearchResult> reverseFilters = + new ObjectFilterChain<SearchResult>(); // use the same guardrail for both: forwardFilters.addFilter(guardrail); @@ -320,7 +306,8 @@ results = new CaptureSearchResults(); // build up the FilterChain(s): - ObjectFilterChain filters = new ObjectFilterChain(); + ObjectFilterChain<SearchResult> filters = + new ObjectFilterChain<SearchResult>(); filters.addFilter(guardrail); filters.addFilter(new UrlMatchFilter(keyUrl)); @@ -354,7 +341,8 @@ results = new UrlSearchResults(); // build up the FilterChain(s): - ObjectFilterChain filters = new ObjectFilterChain(); + ObjectFilterChain<SearchResult> filters = + new ObjectFilterChain<SearchResult>(); filters.addFilter(guardrail); filters.addFilter(new UrlPrefixMatchFilter(keyUrl)); 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 2007-07-25 00:48:56 UTC (rev 1885) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java 2007-07-25 00:49:36 UTC (rev 1886) @@ -35,7 +35,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class SearchResultComparator implements Comparator<Object> { +public class SearchResultComparator implements Comparator<SearchResult> { private boolean backwards; /** @@ -52,11 +52,7 @@ backwards = false; } - private String objectToKey(Object o) { - if(!(o instanceof SearchResult)) { - throw new IllegalArgumentException("Need SearchResult arguments"); - } - SearchResult r = (SearchResult) o; + private String objectToKey(SearchResult r) { String urlKey = r.get(WaybackConstants.RESULT_URL_KEY); String captureDate = r.get(WaybackConstants.RESULT_CAPTURE_DATE); return urlKey + " " + captureDate; @@ -64,7 +60,7 @@ /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ - public int compare(Object o1, Object o2) { + public int compare(SearchResult o1, SearchResult 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 2007-07-25 00:48:56 UTC (rev 1885) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java 2007-07-25 00:49:36 UTC (rev 1886) @@ -26,6 +26,7 @@ import java.io.IOException; +import org.archive.wayback.core.SearchResult; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.util.CloseableIterator; @@ -43,7 +44,7 @@ * results. * @throws ResourceIndexNotAvailableException */ - public CloseableIterator getPrefixIterator(final String prefix) + public CloseableIterator<SearchResult> getPrefixIterator(final String prefix) throws ResourceIndexNotAvailableException; /** @@ -53,12 +54,12 @@ * results. * @throws ResourceIndexNotAvailableException */ - public CloseableIterator getPrefixReverseIterator(final String prefix) + public CloseableIterator<SearchResult> getPrefixReverseIterator(final String prefix) throws ResourceIndexNotAvailableException; /** * @param c * @throws IOException */ - public void cleanup(CloseableIterator c) throws IOException; + public void cleanup(CloseableIterator<SearchResult> c) throws IOException; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |