.preAggregationFilter(new ElementFilter.Builder() .select(TestPropertyNames.COUNT) .execute(new IsMoreThan(5)) .build()) .aggregator(new ElementAggregator.Builder() assertEquals(1, preFilterComponents.size()); assertArrayEquals(new String[]{TestPropertyNames.COUNT}, preFilterComponents.get(0).getSelection()); assertEquals(new IsMoreThan(5), preFilterComponents.get(0).getPredicate());
.execute(new Not<>(new Or.Builder<>() .select(0) .execute(new IsMoreThan(2)) .select(1) .execute(new IsEqual("some value"))
.execute(new Or.Builder<>() .select(0) .execute(new IsMoreThan(2)) .select(1) .execute(new IsEqual("some value"))
public void isMoreThanOrEqualTo5() { // --------------------------------------------------------- final IsMoreThan function = new IsMoreThan(5, true); // --------------------------------------------------------- runExample(function, null, 1, 5, 10); }
public void isMoreThanAString() { // --------------------------------------------------------- final IsMoreThan function = new IsMoreThan("B"); // --------------------------------------------------------- runExample(function, null, 1, "A", "B", "C"); } }
public void isMoreThan5() { // --------------------------------------------------------- final IsMoreThan function = new IsMoreThan(5); // --------------------------------------------------------- runExample(function, null, 1, 5, 10); }
public void isMoreThanALong5() { // --------------------------------------------------------- final IsMoreThan function = new IsMoreThan(5L); // --------------------------------------------------------- runExample(function, null, 1, 1L, 5, 5L, 10, 10L, "abc"); }
@Override public ValidationResult validate() { final ValidationResult result = Operation.super.validate(); result.add(FieldUtil.validateRequiredFields( new Tuple3<>("proportionToSample must be greater than 0", proportionToSample, new IsMoreThan(0f)) )); return result; }
public void isLessThan3AndIsMoreThan0() { // --------------------------------------------------------- final And function = new And<>( new IsLessThan(3), new IsMoreThan(0) ); // --------------------------------------------------------- runExample(function, null, 0, 1, 2, 3, 1L, 2L); }
public void isLessThan2EqualTo5OrIsMoreThan10() { // --------------------------------------------------------- final Or function = new Or<>( new IsLessThan(2), new IsEqual(5), new IsMoreThan(10) ); // --------------------------------------------------------- runExample(function, "When using an Or predicate with a single selected value you can just use the constructor new Or(predicates))'", 1, 2, 3, 5, 15, 1L, 3L, 5L); }
public void freqMapIsMoreThan2() { // --------------------------------------------------------- final PredicateMap function = new PredicateMap("key1", new IsMoreThan(2L)); // --------------------------------------------------------- final FreqMap map1 = new FreqMap(); map1.put("key1", 1L); final FreqMap map2 = new FreqMap(); map2.put("key1", 2L); final FreqMap map3 = new FreqMap(); map3.put("key1", 3L); final FreqMap map4 = new FreqMap(); map4.put("key1", 3L); map4.put("key2", 0L); final FreqMap map5 = new FreqMap(); map5.put("key2", 3L); runExample(function, null, map1, map2, map3, map4, map5); }
public void freqMapIsMoreThanOrEqualTo2() { // --------------------------------------------------------- final PredicateMap function = new PredicateMap("key1", new IsMoreThan(2L, true)); // --------------------------------------------------------- final FreqMap map1 = new FreqMap(); map1.put("key1", 1L); final FreqMap map2 = new FreqMap(); map2.put("key1", 2L); final FreqMap map3 = new FreqMap(); map3.put("key1", 3L); final FreqMap map4 = new FreqMap(); map4.put("key1", 3L); map4.put("key2", 0L); final FreqMap map5 = new FreqMap(); map5.put("key2", 3L); runExample(function, null, map1, map2, map3, map4, map5); }
public CloseableIterable<? extends Element> getEntitiesRelatedTo2WithCountLessThan2OrMoreThan5() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2), new EdgeSeed(2, 3, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter( new ElementFilter.Builder() .select("count") .execute(new Or<>(new IsLessThan(2), new IsMoreThan(5))) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, "When using an Or predicate with a single selected value you can just do 'select(propertyName)' then 'execute(new Or(predicates))'"); }
public CloseableIterable<? extends Element> getAllElementsWithCountGreaterThan2() { // --------------------------------------------------------- final GetAllElements operation = new GetAllElements.Builder() .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(2)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(2)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); } }
public CloseableIterable<? extends Element> getAllEntitiesAndEdgesThatAreRelatedToEdge1to2WithCountMoreThan1() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EdgeSeed(1, 2, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public CloseableIterable<? extends Element> getEntitiesAndEdgesByEntityId2AndEdgeId2to3WithCountMoreThan1() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2), new EdgeSeed(2, 3, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public CloseableIterable<? extends EntityId> getAdjacentIdsAlongOutboundEdgesFromVertex2WithCountGreaterThan1() { // --------------------------------------------------------- final GetAdjacentIds operation = new GetAdjacentIds.Builder() .input(new EntitySeed(2)) .inOutType(IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); } }
public void firstItemIsLessThan2AndSecondItemIsMoreThan5() { // --------------------------------------------------------- final And function = new And.Builder() .select(0) .execute(new IsLessThan(2)) .select(1) .execute(new IsMoreThan(5)) .build(); // --------------------------------------------------------- runExample(function, null, new Tuple2<>(1, 10), new Tuple2<>(1, 1), new Tuple2<>(10, 10), new Tuple2<>(10, 1), new Tuple2<>(1L, 10L), new Tuple1<>(1)); } }
public CloseableIterable<? extends Element> getElementsWithinSetOfVertices1And2And3WithCountGreaterThan2() { // --------------------------------------------------------- final GetElementsWithinSet operation = new GetElementsWithinSet.Builder() .input(new EntitySeed(1), new EntitySeed(2), new EntitySeed(3)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(2)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(2)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); } }
public void firstItemIsLessThan2OrSecondItemIsMoreThan10() { // --------------------------------------------------------- final Or function = new Or.Builder() .select(0) .execute(new IsLessThan(2)) .select(1) .execute(new IsMoreThan(10)) .build(); // --------------------------------------------------------- runExample(function, "When using an Or predicate with multiple selected values, you need to use the Or.Builder to build your Or predicate, using .select() then .execute(). " + "When selecting values in the Or.Builder you need to refer to the position in the input array. I.e to use the first value use position 0 - select(0)." + "You can select multiple values to give to a predicate like isXLessThanY, this is achieved by passing 2 positions to the selec method - select(0, 1)", new Tuple2<>(1, 15), new Tuple2<>(1, 1), new Tuple2<>(15, 15), new Tuple2<>(15, 1), new Tuple2<>(1L, 15L), new Tuple1<>(1)); } }