public static final<E extends TitanElement> void traversal(Condition<E> condition, Predicate<Condition<E>> evaluator) { if (!evaluator.apply(condition)) return; //Abort if the evaluator returns false if (condition.getType()== Condition.Type.LITERAL) { return; } else if (condition instanceof Not) { traversal(((Not) condition).getChild(), evaluator); } else if (condition instanceof MultiCondition) { for (Condition<E> child : condition.getChildren()) traversal(child, evaluator); } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
private static final boolean isQNFLiteralOrNot(Condition<?> condition) { if (condition instanceof Not) { Condition child = ((Not) condition).getChild(); if (!isQNFLiteral(child)) return false; else if (child instanceof PredicateCondition) { return !((PredicateCondition) child).getPredicate().hasNegation(); } else return true; } else return isQNFLiteral(condition); }
@Nullable @Override public Condition<E> apply(@Nullable Condition<E> cond) { if (cond instanceof Not) { Condition<E> child = ((Not) cond).getChild(); Preconditions.checkArgument(child.getType() == Condition.Type.LITERAL); //verify QNF if (child instanceof PredicateCondition) { PredicateCondition<?, E> pc = (PredicateCondition) child; if (pc.getPredicate().hasNegation()) { return new PredicateCondition(pc.getKey(), pc.getPredicate().negate(), pc.getValue()); } } } return null; } });
String sub = buildQueryFilter(((Not)condition).getChild(),informations); if (StringUtils.isNotBlank(sub)) return "-("+sub+")"; else return "";
public static final<E extends TitanElement> Condition<E> transformation(Condition<E> condition, Function<Condition<E>,Condition<E>> transformation) { Condition<E> transformed = transformation.apply(condition); if (transformed!=null) return transformed; //if transformed==null we go a level deeper if (condition.getType()== Condition.Type.LITERAL) { return condition; } else if (condition instanceof Not) { return Not.of(transformation(((Not) condition).getChild(), transformation)); } else if (condition instanceof And) { And<E> newand = new And<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newand.add(transformation(child, transformation)); return newand; } else if (condition instanceof Or) { Or<E> newor = new Or<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newor.add(transformation(child, transformation)); return newor; } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
return FilterBuilders.notFilter(getFilter(((Not) condition).getChild(),informations)); } else if (condition instanceof And) { AndFilterBuilder b = FilterBuilders.andFilter();
public static final<E extends TitanElement> void traversal(Condition<E> condition, Predicate<Condition<E>> evaluator) { if (!evaluator.apply(condition)) return; //Abort if the evaluator returns false if (condition.getType()== Condition.Type.LITERAL) { return; } else if (condition instanceof Not) { traversal(((Not) condition).getChild(), evaluator); } else if (condition instanceof MultiCondition) { for (Condition<E> child : condition.getChildren()) traversal(child, evaluator); } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
public static final<E extends TitanElement> void traversal(Condition<E> condition, Predicate<Condition<E>> evaluator) { if (!evaluator.apply(condition)) return; //Abort if the evaluator returns false if (condition.getType()== Condition.Type.LITERAL) { return; } else if (condition instanceof Not) { traversal(((Not) condition).getChild(), evaluator); } else if (condition instanceof MultiCondition) { for (Condition<E> child : condition.getChildren()) traversal(child, evaluator); } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
@Nullable @Override public Condition<E> apply(@Nullable Condition<E> cond) { if (cond instanceof Not) { Condition<E> child = ((Not) cond).getChild(); Preconditions.checkArgument(child.getType() == Condition.Type.LITERAL); //verify QNF if (child instanceof PredicateCondition) { PredicateCondition<?, E> pc = (PredicateCondition) child; if (pc.getPredicate().hasNegation()) { return new PredicateCondition(pc.getKey(), pc.getPredicate().negate(), pc.getValue()); } } } return null; } });
private static final boolean isQNFLiteralOrNot(Condition<?> condition) { if (condition instanceof Not) { Condition child = ((Not) condition).getChild(); if (!isQNFLiteral(child)) return false; else if (child instanceof PredicateCondition) { return !((PredicateCondition) child).getPredicate().hasNegation(); } else return true; } else return isQNFLiteral(condition); }
private static final boolean isQNFLiteralOrNot(Condition<?> condition) { if (condition instanceof Not) { Condition child = ((Not) condition).getChild(); if (!isQNFLiteral(child)) return false; else if (child instanceof PredicateCondition) { return !((PredicateCondition) child).getPredicate().hasNegation(); } else return true; } else return isQNFLiteral(condition); }
@Nullable @Override public Condition<E> apply(@Nullable Condition<E> cond) { if (cond instanceof Not) { Condition<E> child = ((Not) cond).getChild(); Preconditions.checkArgument(child.getType() == Condition.Type.LITERAL); //verify QNF if (child instanceof PredicateCondition) { PredicateCondition<?, E> pc = (PredicateCondition) child; if (pc.getPredicate().hasNegation()) { return new PredicateCondition(pc.getKey(), pc.getPredicate().negate(), pc.getValue()); } } } return null; } });
} else if (condition instanceof Not) { BooleanFilter q = new BooleanFilter(); q.add(convertQuery(((Not) condition).getChild(),informations), BooleanClause.Occur.MUST_NOT); return q; } else if (condition instanceof And) {
String sub = buildQueryFilter(((Not)condition).getChild(),informations); if (StringUtils.isNotBlank(sub)) return "-("+sub+")"; else return "";
String sub = buildQueryFilter(((Not)condition).getChild(),informations); if (StringUtils.isNotBlank(sub)) return "-("+sub+")"; else return "";
public static final<E extends TitanElement> Condition<E> transformation(Condition<E> condition, Function<Condition<E>,Condition<E>> transformation) { Condition<E> transformed = transformation.apply(condition); if (transformed!=null) return transformed; //if transformed==null we go a level deeper if (condition.getType()== Condition.Type.LITERAL) { return condition; } else if (condition instanceof Not) { return Not.of(transformation(((Not) condition).getChild(), transformation)); } else if (condition instanceof And) { And<E> newand = new And<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newand.add(transformation(child, transformation)); return newand; } else if (condition instanceof Or) { Or<E> newor = new Or<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newor.add(transformation(child, transformation)); return newor; } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
public static final<E extends TitanElement> Condition<E> transformation(Condition<E> condition, Function<Condition<E>,Condition<E>> transformation) { Condition<E> transformed = transformation.apply(condition); if (transformed!=null) return transformed; //if transformed==null we go a level deeper if (condition.getType()== Condition.Type.LITERAL) { return condition; } else if (condition instanceof Not) { return Not.of(transformation(((Not) condition).getChild(), transformation)); } else if (condition instanceof And) { And<E> newand = new And<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newand.add(transformation(child, transformation)); return newand; } else if (condition instanceof Or) { Or<E> newor = new Or<E>(condition.numChildren()); for (Condition<E> child : condition.getChildren()) newor.add(transformation(child, transformation)); return newor; } else throw new IllegalArgumentException("Unexpected condition type: " + condition); }
} else throw new IllegalArgumentException("Unsupported type: " + value); } else if (condition instanceof Not) { return FilterBuilders.notFilter(getFilter(((Not) condition).getChild(),informations)); } else if (condition instanceof And) { AndFilterBuilder b = FilterBuilders.andFilter();
} else throw new IllegalArgumentException("Unsupported type: " + value); } else if (condition instanceof Not) { return FilterBuilders.notFilter(getFilter(((Not) condition).getChild(),informations)); } else if (condition instanceof And) { AndFilterBuilder b = FilterBuilders.andFilter();