.postTransformFilter(new ElementFilter.Builder() .select(TestPropertyNames.PROP_1) .execute(new IsEqual("9")) .build()) .build(); assertEquals(1, postTransformFilterComponents.size()); assertArrayEquals(new String[]{TestPropertyNames.PROP_1}, postTransformFilterComponents.get(0).getSelection()); assertEquals(new IsEqual("9"), postTransformFilterComponents.get(0).getPredicate());
private Pair<FilterPredicate, Set<Path>> addPrimitiveFilter(final Predicate filterFunction, final String selection, final String group) throws SerialisationException { // All supported filters will be in the if else statement below if (filterFunction instanceof IsEqual) { return addIsEqualFilter(selection, schemaUtils.getConverter(group).gafferObjectToParquetObjects(selection, ((IsEqual) filterFunction).getControlValue()), group, false); } else if (filterFunction instanceof IsLessThan) { if (((IsLessThan) filterFunction).getOrEqualTo()) { return addIsLessThanOrEqualToFilter(selection, schemaUtils.getConverter(group).gafferObjectToParquetObjects(selection, ((IsLessThan) filterFunction).getControlValue()), group); } else { return addIsLessThanFilter(selection, schemaUtils.getConverter(group).gafferObjectToParquetObjects(selection, ((IsLessThan) filterFunction).getControlValue()), group); } } else if (filterFunction instanceof IsMoreThan) { if (((IsMoreThan) filterFunction).getOrEqualTo()) { return addIsMoreThanOrEqualToFilter(selection, schemaUtils.getConverter(group).gafferObjectToParquetObjects(selection, ((IsMoreThan) filterFunction).getControlValue()), group); } else { return addIsMoreThanFilter(selection, schemaUtils.getConverter(group).gafferObjectToParquetObjects(selection, ((IsMoreThan) filterFunction).getControlValue()), group); } } else if (filterFunction instanceof IsTrue) { return new Pair<>(eq(booleanColumn(selection), Boolean.TRUE), getAllPathsForColumn(group)); } else if (filterFunction instanceof IsFalse) { return new Pair<>(eq(booleanColumn(selection), Boolean.FALSE), getAllPathsForColumn(group)); } else { LOGGER.warn(filterFunction.getClass().getCanonicalName() + " is not a natively supported filter by the Parquet store, therefore execution will take longer to perform this filter."); return null; } }
.execute(new IsMoreThan(2)) .select(1) .execute(new IsEqual("some value")) .build())) .build();
.execute(new IsMoreThan(2)) .select(1) .execute(new IsEqual("some value")) .build()) .build();
public void isEqualTo5() { // --------------------------------------------------------- final IsEqual function = new IsEqual(5); // --------------------------------------------------------- runExample(function, null, 5, 5L, "5", '5'); }
public void isEqualToString5() { // --------------------------------------------------------- final IsEqual function = new IsEqual("5"); // --------------------------------------------------------- runExample(function, null, 5, 5L, "5", '5'); }
public void isEqualLong5() { // --------------------------------------------------------- final IsEqual function = new IsEqual(5L); // --------------------------------------------------------- runExample(function, null, 5, 5L, "5", '5'); } }
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); }
final Predicate<?> isEqual = new IsEqual(equalNullSafe.value()); final Set<String> relevantGroups = getGroupsFromFilter(filter); if (null != relevantGroups) {