Author: ecn Date: Wed Jun 27 19:24:23 2012 New Revision: 1354680 URL: http://svn.apache.org/viewvc?rev=1354680&view=rev Log: ACCUMULO-17
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java?rev=1354680&r1=1354679&r2=1354680&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java Wed Jun 27 19:24:23 2012 @@ -31,6 +31,7 @@ import org.apache.accumulo.core.iterator import org.apache.accumulo.core.iterators.SortedKeyValueIterator; import org.apache.accumulo.core.iterators.SortedMapIterator; import org.apache.accumulo.core.security.Authorizations; +import org.apache.commons.collections.iterators.IteratorChain; public class MockBatchScanner extends MockScannerBase implements BatchScanner { @@ -67,20 +68,25 @@ public class MockBatchScanner extends Mo } } + @SuppressWarnings("unchecked") @Override public Iterator<Entry<Key,Value>> iterator() { if (ranges == null) { throw new IllegalStateException("ranges not set"); } - SortedKeyValueIterator<Key,Value> i = new SortedMapIterator(table.table); - try { - i = new RangesFilter(createFilter(i), ranges); - i.seek(new Range(), createColumnBSS(fetchedColumns), !fetchedColumns.isEmpty()); - return new IteratorAdapter(i); - } catch (IOException e) { - throw new RuntimeException(e); + IteratorChain chain = new IteratorChain(); + for (Range range : ranges) { + SortedKeyValueIterator<Key,Value> i = new SortedMapIterator(table.table); + try { + i = new RangesFilter(createFilter(i), ranges); + i.seek(range, createColumnBSS(fetchedColumns), !fetchedColumns.isEmpty()); + chain.addIterator(new IteratorAdapter(i)); + } catch (IOException e) { + throw new RuntimeException(e); + } } + return chain; } @Override