use of uk.gov.gchq.gaffer.accumulostore.utils.Pair in project Gaffer by gchq.
the class GetElementsinRangesHandlerTest method shouldSummariseOutGoingEdgesOnly.
private void shouldSummariseOutGoingEdgesOnly(final AccumuloStore store) throws OperationException {
// Create set to query for
final Set<Pair<ElementSeed>> simpleEntityRanges = new HashSet<>();
//get Everything between 0 and 1 (Note we are using strings and string serialisers, with this ordering 0999 is before 1)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("C")));
final View view = new View.Builder(defaultView).entity(TestGroups.ENTITY, new ViewElementDefinition.Builder().groupBy().build()).edge(TestGroups.EDGE, new ViewElementDefinition.Builder().groupBy().build()).build();
final GetElementsInRanges<Pair<ElementSeed>, Element> operation = new GetElementsInRanges<>(view, simpleEntityRanges);
//All Edges stored should be outgoing from our provided seeds.
operation.setIncludeIncomingOutGoing(IncludeIncomingOutgoingType.OUTGOING);
final GetElementsInRangesHandler handler = new GetElementsInRangesHandler();
final CloseableIterable<Element> rangeElements = handler.doOperation(operation, user, store);
int count = 0;
for (final Element elm : rangeElements) {
//Make sure every element has been summarised
assertEquals(9, elm.getProperty(AccumuloPropertyNames.COLUMN_QUALIFIER));
count++;
}
assertEquals(1000, count);
rangeElements.close();
simpleEntityRanges.clear();
//This should get everything between 0 and 0799 (again being string ordering 0800 is more than 08)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("08")));
final CloseableIterable<Element> elements = handler.doOperation(operation, user, store);
count = 0;
for (final Element elm : elements) {
//Make sure every element has been summarised
assertEquals(9, elm.getProperty(AccumuloPropertyNames.COLUMN_QUALIFIER));
count++;
}
assertEquals(800, count);
elements.close();
}
use of uk.gov.gchq.gaffer.accumulostore.utils.Pair in project Gaffer by gchq.
the class GetElementsinRangesHandlerTest method shouldReturnElementsNoSummarisation.
private void shouldReturnElementsNoSummarisation(final AccumuloStore store) throws OperationException {
// Create set to query for
final Set<Pair<ElementSeed>> simpleEntityRanges = new HashSet<>();
final User user = new User();
//get Everything between 0 and 1 (Note we are using strings and string serialisers, with this ordering 0999 is before 1)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("1")));
final GetElementsInRanges<Pair<ElementSeed>, Element> operation = new GetElementsInRanges<>(defaultView, simpleEntityRanges);
final GetElementsInRangesHandler handler = new GetElementsInRangesHandler();
CloseableIterable<Element> elementsInRanges = handler.doOperation(operation, user, store);
final int elementsInRangesCount = Iterables.size(elementsInRanges);
//Each Edge was put in 3 times with different col qualifiers, without summarisation we expect this number
assertEquals(1000 * 3, elementsInRangesCount);
elementsInRanges.close();
simpleEntityRanges.clear();
//This should get everything between 0 and 0799 (again being string ordering 0800 is more than 08)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("08")));
final CloseableIterable<Element> elements = handler.doOperation(operation, user, store);
final int count = Iterables.size(elements);
//Each Edge was put in 3 times with different col qualifiers, without summarisation we expect this number
assertEquals(800 * 3, count);
elements.close();
}
use of uk.gov.gchq.gaffer.accumulostore.utils.Pair in project Gaffer by gchq.
the class GetElementsinRangesHandlerTest method shouldSummarise.
private void shouldSummarise(final AccumuloStore store) throws OperationException {
// Create set to query for
final Set<Pair<ElementSeed>> simpleEntityRanges = new HashSet<>();
//get Everything between 0 and 1 (Note we are using strings and string serialisers, with this ordering 0999 is before 1)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("1")));
final View view = new View.Builder(defaultView).entity(TestGroups.ENTITY, new ViewElementDefinition.Builder().groupBy().build()).edge(TestGroups.EDGE, new ViewElementDefinition.Builder().groupBy().build()).build();
final GetElementsInRanges<Pair<ElementSeed>, Element> operation = new GetElementsInRanges<>(view, simpleEntityRanges);
final GetElementsInRangesHandler handler = new GetElementsInRangesHandler();
final CloseableIterable<Element> elementsInRange = handler.doOperation(operation, user, store);
int count = 0;
for (final Element elm : elementsInRange) {
//Make sure every element has been summarised
assertEquals(9, elm.getProperty(AccumuloPropertyNames.COLUMN_QUALIFIER));
count++;
}
assertEquals(1000, count);
elementsInRange.close();
simpleEntityRanges.clear();
//This should get everything between 0 and 0799 (again being string ordering 0800 is more than 08)
simpleEntityRanges.add(new Pair<ElementSeed>(new EntitySeed("0"), new EntitySeed("08")));
final CloseableIterable<Element> elements = handler.doOperation(operation, user, store);
count = 0;
for (final Element elm : elements) {
//Make sure every element has been summarised
assertEquals(9, elm.getProperty(AccumuloPropertyNames.COLUMN_QUALIFIER));
count++;
}
assertEquals(800, count);
elements.close();
}
Aggregations