public boolean test(final Element element) { elementTuple.setElement(element); return test(elementTuple); }
public List<TupleAdaptedPredicate<String, ?>> getPreAggregationFilterFunctions() { return null != preAggregationFilter ? preAggregationFilter.getComponents() : null; }
public CHILD_CLASS postAggregationFilterFunctions(final List<TupleAdaptedPredicate<String, ?>> filterFunctions) { getElementDef().postAggregationFilter = new ElementFilter(); if (null != filterFunctions) { getElementDef().postAggregationFilter.getComponents().addAll(filterFunctions); } return self(); }
@Test public void shouldReturnUnmodifiableComponentsWhenLocked() { // Given final ElementFilter filter = getTestObject(); // When filter.lock(); final List<TupleAdaptedPredicate<String, ?>> components = filter.getComponents(); // Then try { components.add(null); fail("Exception expected"); } catch (final UnsupportedOperationException e) { assertNotNull(e); } }
public Builder() { this(new ElementFilter()); }
public ValidationResult testWithValidationResult(final Element element) { final ValidationResult result = new ValidationResult(); elementTuple.setElement(element); components.stream() .filter(predicate -> !predicate.test(elementTuple)) .forEach(predicate -> result.addError(getErrorMsg(predicate))); return result; }
@Test public void shouldTestElementOnPredicate2WithValidationResult() { // Given final KoryphePredicate2<String, String> predicate2 = new KoryphePredicate2<String, String>() { @Override public boolean test(final String o, final String o2) { return "value".equals(o) && "value2".equals(o2); } }; final ElementFilter filter = new ElementFilter.Builder() .select("prop1", "prop2") .execute(predicate2) .build(); final Entity element1 = new Entity.Builder() .property("prop1", "value") .property("prop2", "value2") .build(); final Entity element2 = new Entity.Builder() .property("prop1", "unknown") .property("prop2", "value2") .build(); // When final ValidationResult result1 = filter.testWithValidationResult(element1); final ValidationResult result2 = filter.testWithValidationResult(element2); // Then assertTrue(result1.isValid()); assertFalse(result2.isValid()); assertTrue("Result was: " + result2.getErrorString(), result2.getErrorString().contains("{prop1: <java.lang.String>unknown, prop2: <java.lang.String>value2}")); }
@Override protected ElementFilter getTestObject() { return new ElementFilter(); }
public ValidationResult testWithValidationResult(final Element element) { final ValidationResult result = new ValidationResult(); elementTuple.setElement(element); components.stream() .filter(predicate -> !predicate.test(elementTuple)) .forEach(predicate -> result.addError(getErrorMsg(predicate))); return result; }
public List<TupleAdaptedPredicate<String, ?>> getPostTransformFilterFunctions() { return null != postTransformFilter ? postTransformFilter.getComponents() : null; }
@Test public void shouldTestElementOnComplexLambdaPredicate() { // Given final Predicate<Object> predicate1 = p -> Integer.class.isAssignableFrom(p.getClass()); final Predicate<Object> predicate2 = "value"::equals; final ElementFilter filter = new ElementFilter.Builder() .select("prop1") .execute(predicate1.negate().and(predicate2)) .build(); final Entity element1 = new Entity.Builder() .property("prop1", "value") .build(); final Entity element2 = new Entity.Builder() .property("prop1", 1) .build(); // When final boolean result1 = filter.test(element1); final boolean result2 = filter.test(element2); // Then assertTrue(result1); assertFalse(result2); }
public CHILD_CLASS postTransformFilterFunctions(final List<TupleAdaptedPredicate<String, ?>> filterFunctions) { getElementDef().postTransformFilter = new ElementFilter(); if (null != filterFunctions) { getElementDef().postTransformFilter.getComponents().addAll(filterFunctions); } return self(); }
public Builder() { this(new ElementFilter()); }
public List<TupleAdaptedPredicate<String, ?>> getPostAggregationFilterFunctions() { return null != postAggregationFilter ? postAggregationFilter.getComponents() : null; }
@Test public void shouldTestElementOnLambdaPredicate() { // Given final Predicate<Object> predicate = p -> null == p || String.class.isAssignableFrom(p.getClass()); final ElementFilter filter = new ElementFilter.Builder() .select("prop1") .execute(predicate) .build(); final Entity element1 = new Entity.Builder() .property("prop1", "value") .build(); final Entity element2 = new Entity.Builder() .property("prop1", 1) .build(); // When final boolean result1 = filter.test(element1); final boolean result2 = filter.test(element2); // Then assertTrue(result1); assertFalse(result2); }
public CHILD_CLASS preAggregationFilterFunctions(final List<TupleAdaptedPredicate<String, ?>> filterFunctions) { getElementDef().preAggregationFilter = new ElementFilter(); if (null != filterFunctions) { getElementDef().preAggregationFilter.getComponents().addAll(filterFunctions); } return self(); }
public boolean hasPostTransformFilters() { return null != postTransformFilter && !postTransformFilter.getComponents().isEmpty(); }
@Test public void shouldTestElementOnInlinePredicate() { // Given final ElementFilter filter = new ElementFilter.Builder() .select("prop1") .execute("value"::equals) .build(); final Entity element1 = new Entity.Builder() .property("prop1", "value") .build(); final Entity element2 = new Entity.Builder() .property("prop1", "unknown") .build(); // When final boolean result1 = filter.test(element1); final boolean result2 = filter.test(element2); // Then assertTrue(result1); assertFalse(result2); }
public CHILD_CLASS postTransformFilterFunctions(final List<TupleAdaptedPredicate<String, ?>> filterFunctions) { getElementDef().postTransformFilter = new ElementFilter(); if (null != filterFunctions) { getElementDef().postTransformFilter.getComponents().addAll(filterFunctions); } return self(); }
public boolean hasPostAggregationFilters() { return null != postAggregationFilter && !postAggregationFilter.getComponents().isEmpty(); }