/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
public static NotCriteria helpExample() { return new NotCriteria(TestCompareCriteriaImpl.helpExample(CompareCriteria.GE, 100, 200)); }
/** * Compare equality of two AtomicCriteria. * @param obj Other object * @return True if equivalent */ public boolean equals(Object obj) { if(obj == this) { return true; } if(!(obj instanceof NotCriteria)) { return false; } return EquivalenceUtil.areEqual(getCriteria(), ((NotCriteria)obj).getCriteria()); }
private Criteria rewriteCriteria(NotCriteria criteria) throws TeiidComponentException, TeiidProcessingException{ Criteria innerCrit = criteria.getCriteria(); if (innerCrit instanceof CompoundCriteria) { //reduce to only negation of predicates, so that the null/unknown handling criteria is applied appropriately return rewriteCriteria(Criteria.applyDemorgan(innerCrit)); } if(innerCrit == TRUE_CRITERIA) { return FALSE_CRITERIA; } else if(innerCrit == FALSE_CRITERIA) { return TRUE_CRITERIA; } else if (innerCrit == UNKNOWN_CRITERIA) { return UNKNOWN_CRITERIA; } if (innerCrit instanceof Negatable) { ((Negatable) innerCrit).negate(); return rewriteCriteria(innerCrit); } if (innerCrit instanceof NotCriteria) { return rewriteCriteria(((NotCriteria)innerCrit).getCriteria()); } Criteria newInnerCrit = rewriteCriteria(innerCrit); if (!newInnerCrit.equals(innerCrit)) { criteria.setCriteria(newInnerCrit); return rewriteCriteria(criteria); } return criteria; }
@Override public void visit(Unary expr) { accept(expr.getOperand()); org.teiid.query.sql.symbol.Expression teiidExpr = this.stack.pop(); switch (expr.getOperator()) { case MINUS: this.stack.push(new Function(SourceSystemFunctions.MULTIPLY_OP, new org.teiid.query.sql.symbol.Expression[] {new Constant(-1), teiidExpr })); break; case NOT: this.stack.push(new NotCriteria(new ExpressionCriteria(teiidExpr))); break; } }
/** * Compare equality of two AtomicCriteria. * @param obj Other object * @return True if equivalent */ public boolean equals(Object obj) { if(obj == this) { return true; } if(!(obj instanceof NotCriteria)) { return false; } return EquivalenceUtil.areEqual(getCriteria(), ((NotCriteria)obj).getCriteria()); }
private Criteria rewriteCriteria(NotCriteria criteria) throws TeiidComponentException, TeiidProcessingException{ Criteria innerCrit = criteria.getCriteria(); if (innerCrit instanceof CompoundCriteria) { //reduce to only negation of predicates, so that the null/unknown handling criteria is applied appropriately return rewriteCriteria(Criteria.applyDemorgan(innerCrit)); } if(innerCrit == TRUE_CRITERIA) { return FALSE_CRITERIA; } else if(innerCrit == FALSE_CRITERIA) { return TRUE_CRITERIA; } else if (innerCrit == UNKNOWN_CRITERIA) { return UNKNOWN_CRITERIA; } if (innerCrit instanceof Negatable) { ((Negatable) innerCrit).negate(); return rewriteCriteria(innerCrit); } if (innerCrit instanceof NotCriteria) { return rewriteCriteria(((NotCriteria)innerCrit).getCriteria()); } Criteria newInnerCrit = rewriteCriteria(innerCrit); if (!newInnerCrit.equals(innerCrit)) { criteria.setCriteria(newInnerCrit); return rewriteCriteria(criteria); } return criteria; }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
/** * Compare equality of two AtomicCriteria. * @param obj Other object * @return True if equivalent */ public boolean equals(Object obj) { if(obj == this) { return true; } if(!(obj instanceof NotCriteria)) { return false; } return EquivalenceUtil.areEqual(getCriteria(), ((NotCriteria)obj).getCriteria()); }
private Criteria rewriteCriteria(NotCriteria criteria) throws TeiidComponentException, TeiidProcessingException{ Criteria innerCrit = criteria.getCriteria(); if (innerCrit instanceof CompoundCriteria) { //reduce to only negation of predicates, so that the null/unknown handling criteria is applied appropriately return rewriteCriteria(Criteria.applyDemorgan(innerCrit)); } if(innerCrit == TRUE_CRITERIA) { return FALSE_CRITERIA; } else if(innerCrit == FALSE_CRITERIA) { return TRUE_CRITERIA; } else if (innerCrit == UNKNOWN_CRITERIA) { return UNKNOWN_CRITERIA; } if (innerCrit instanceof Negatable) { ((Negatable) innerCrit).negate(); return rewriteCriteria(innerCrit); } if (innerCrit instanceof NotCriteria) { return rewriteCriteria(((NotCriteria)innerCrit).getCriteria()); } Criteria newInnerCrit = rewriteCriteria(innerCrit); if (!newInnerCrit.equals(innerCrit)) { criteria.setCriteria(newInnerCrit); return rewriteCriteria(criteria); } return criteria; }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
/** * Get hash code * @return Hash code */ public int hashCode() { return HashCodeUtil.hashCode(0, getCriteria()); }
final public Criteria notCrit(ParseInfo info) throws ParseException { Expression ex = null; boolean isNot = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NOT: jj_consume_token(NOT); isNot=true; break; default: jj_la1[200] = jj_gen; ; } ex = booleanPrimary(info); Criteria crit = null; if (ex instanceof Criteria) { crit = (Criteria)ex; } else { crit = new ExpressionCriteria(ex); } if(isNot) { {if (true) return new NotCriteria(crit);} } else { {if (true) return crit;} } throw new Error("Missing return statement in function"); }
public static Criteria applyDemorgan(Criteria input) { if (input instanceof NotCriteria) { NotCriteria not = (NotCriteria)input; return not.getCriteria(); } if (!(input instanceof CompoundCriteria)) { return new NotCriteria(input); } CompoundCriteria compCrit = (CompoundCriteria)input; int operator = (compCrit.getOperator()==CompoundCriteria.OR)?CompoundCriteria.AND:CompoundCriteria.OR; List<Criteria> criteria = new ArrayList<Criteria>(compCrit.getCriteria().size()); for (Criteria crit : compCrit.getCriteria()) { crit = new NotCriteria(crit); criteria.add(crit); } return new CompoundCriteria(operator, criteria); }
private Boolean evaluate(NotCriteria criteria, List<?> tuple) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { Criteria subCrit = criteria.getCriteria(); Boolean result = internalEvaluateTVL(subCrit, tuple); if (result == null) { return null; } if (result.booleanValue()) { return Boolean.FALSE; } return Boolean.TRUE; }
@Test public void testNotCriteria2() { NotCriteria not = new NotCriteria(); helpTest(not, "NOT (<undefined>)"); //$NON-NLS-1$ }
public static Criteria applyDemorgan(Criteria input) { if (input instanceof NotCriteria) { NotCriteria not = (NotCriteria)input; return not.getCriteria(); } if (!(input instanceof CompoundCriteria)) { return new NotCriteria(input); } CompoundCriteria compCrit = (CompoundCriteria)input; int operator = (compCrit.getOperator()==CompoundCriteria.OR)?CompoundCriteria.AND:CompoundCriteria.OR; List<Criteria> criteria = new ArrayList<Criteria>(compCrit.getCriteria().size()); for (Criteria crit : compCrit.getCriteria()) { crit = new NotCriteria(crit); criteria.add(crit); } return new CompoundCriteria(operator, criteria); }
/** * Get hash code * @return Hash code */ public int hashCode() { return HashCodeUtil.hashCode(0, getCriteria()); }