EntityScanner<E> newEntityScanner() { Iterable<MarkerRange> markerRanges = constraints.toKeyRanges(); // TODO: combine all ranges into a single reader MarkerRange range = Iterables.getOnlyElement(markerRanges); return dataset.getDao().getScanner( toPartitionKey(range.getStart()), range.getStart().isInclusive(), toPartitionKey(range.getEnd()), range.getEnd().isInclusive()); }
EntityScanner<E> newEntityScanner() { Iterable<MarkerRange> markerRanges = constraints.toKeyRanges(); // TODO: combine all ranges into a single reader MarkerRange range = Iterables.getOnlyElement(markerRanges); return dataset.getDao().getScanner( toPartitionKey(range.getStart()), range.getStart().isInclusive(), toPartitionKey(range.getEnd()), range.getEnd().isInclusive()); }
@Test @SuppressWarnings("unchecked") public void testGroupSet() { String[] ids = new String[]{ UUID.randomUUID().toString(), UUID.randomUUID().toString()}; FieldPartitioner hashFunc = Accessor.getDefault().getFieldPartitioners(hash).get(0); Constraints c = emptyConstraints.partitionedBy(hash).with("id", ids[0]); Marker marker0 = new Marker.Builder() .add("id_hash", hashFunc.apply(ids[0])).add("id_copy", ids[0]).build(); MarkerRange actual = Iterables.getOnlyElement(c.toKeyRanges()); Assert.assertEquals(marker0, actual.getStart().getBound()); Assert.assertEquals(marker0, actual.getEnd().getBound()); c = emptyConstraints.partitionedBy(hash).with("id", (Object[]) ids); Marker marker1 = new Marker.Builder() .add("id_hash", hashFunc.apply(ids[1])).add("id_copy", ids[1]).build(); assertIterableEquals( Sets.newHashSet( new MarkerRange(hashCmp).of(marker0), new MarkerRange(hashCmp).of(marker1)), c.toKeyRanges()); }
@Test public void testSingleSet() { Constraints c = emptyConstraints.partitionedBy(id) .with("component", "com.company.Main"); Marker main = new Marker.Builder("id_component", "com.company.Main").build(); MarkerRange actual = Iterables.getOnlyElement(c.toKeyRanges()); Assert.assertEquals(main, actual.getStart().getBound()); Assert.assertEquals(main, actual.getEnd().getBound()); Assert.assertEquals(new MarkerRange(idCmp).of(main), actual); c = emptyConstraints.partitionedBy(id).with("component", "com.company.Main", "com.company.SomeClass"); Marker sc = new Marker.Builder("id_component", "com.company.SomeClass").build(); assertIterableEquals( Sets.newHashSet( new MarkerRange(idCmp).of(main), new MarkerRange(idCmp).of(sc)), c.toKeyRanges()); }