Revision: 1788 http://archive-access.svn.sourceforge.net/archive-access/?rev=1788&view=rev Author: bradtofel Date: 2007-07-16 16:22:43 -0700 (Mon, 16 Jul 2007) Log Message: ----------- TWEAK: now aware of SearchResults types. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2007-07-16 23:21:27 UTC (rev 1787) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2007-07-16 23:22:43 UTC (rev 1788) @@ -34,9 +34,12 @@ import javax.xml.parsers.ParserConfigurationException; import org.archive.wayback.ResourceIndex; +import org.archive.wayback.WaybackConstants; +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.UrlSearchResults; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.AccessControlException; import org.archive.wayback.exception.BadQueryException; @@ -181,9 +184,25 @@ } } } + private String getResultsType(Document document) { + NodeList list = document.getElementsByTagName( + WaybackConstants.RESULTS_TYPE); + if(list.getLength() == 1) { + return list.item(0).getTextContent(); + } else { + return WaybackConstants.RESULTS_TYPE_CAPTURE; + } + } + protected SearchResults documentToSearchResults(Document document) { - SearchResults results = new SearchResults(); + SearchResults results = null; NodeList filters = getRequestFilters(document); + String resultsType = getResultsType(document); + if(resultsType.equals(WaybackConstants.RESULTS_TYPE_CAPTURE)) { + results = new CaptureSearchResults(); + } else { + results = new UrlSearchResults(); + } for(int i = 0; i < filters.getLength(); i++) { String key = filters.item(i).getNodeName(); String value = filters.item(i).getTextContent(); @@ -196,7 +215,7 @@ for(int i = 0; i < xresults.getLength(); i++) { Node xresult = xresults.item(i); SearchResult result = searchElementToSearchResult(xresult); - results.addSearchResult(result); + results.addSearchResultRaw(result,true); } return results; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |