Revision: 2985 http://archive-access.svn.sourceforge.net/archive-access/?rev=2985&view=rev Author: bradtofel Date: 2010-03-20 00:59:42 +0000 (Sat, 20 Mar 2010) Log Message: ----------- BUGFIX: now closes iterators so open filehandles don't stack up. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/ziplines/ZiplinesSearchResultSource.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/ziplines/ZiplinesSearchResultSource.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/ziplines/ZiplinesSearchResultSource.java 2010-03-20 00:58:14 UTC (rev 2984) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/ziplines/ZiplinesSearchResultSource.java 2010-03-20 00:59:42 UTC (rev 2985) @@ -91,7 +91,7 @@ public void init() throws IOException { chunkMap = new HashMap<String, String>(); FlatFile ff = new FlatFile(chunkMapPath); - Iterator<String> lines = ff.getSequentialIterator(); + CloseableIterator<String> lines = ff.getSequentialIterator(); while(lines.hasNext()) { String line = lines.next(); String[] parts = line.split("\\s"); @@ -101,6 +101,7 @@ } chunkMap.put(parts[0],parts[1]); } + lines.close(); chunkIndex = new FlatFile(chunkIndexPath); } protected CloseableIterator<CaptureSearchResult> adaptIterator(Iterator<String> itr) @@ -130,7 +131,7 @@ } public Iterator<String> getStringPrefixIterator(String prefix) throws ResourceIndexNotAvailableException, IOException { - Iterator<String> itr = chunkIndex.getRecordIteratorLT(prefix); + CloseableIterator<String> itr = chunkIndex.getRecordIteratorLT(prefix); ArrayList<ZiplinedBlock> blocks = new ArrayList<ZiplinedBlock>(); boolean first = true; while(itr.hasNext()) { @@ -161,6 +162,7 @@ long offset = Long.parseLong(parts[2]); blocks.add(new ZiplinedBlock(url, offset)); } + itr.close(); return new StringPrefixIterator(new ZiplinesChunkIterator(blocks),prefix); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |