/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { return new NotCriteria( (Criteria) getCriteria().clone() ); }
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); }
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); }
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); }
public static NotCriteria helpExample() { return new NotCriteria(TestCompareCriteriaImpl.helpExample(CompareCriteria.GE, 100, 200)); }
@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; } }
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"); }
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"); }
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"); }
@Test public void testNotCriteria2() { NotCriteria not = new NotCriteria(); helpTest(not, "NOT (<undefined>)"); //$NON-NLS-1$ }
@Test public void testExpressionCriteria1() throws Exception { SearchedCaseExpression sce = new SearchedCaseExpression(Arrays.asList(new NotCriteria(new ExpressionCriteria(new ElementSymbol("x")))), Arrays.asList(new ElementSymbol("y"))); helpTestExpression("case when not x then y end", "CASE WHEN NOT (x) THEN y END", sce); }
@Test public void testCardinalityWithKeyComplexCrit3() throws Exception { //override default metadata this.metadata = RealMetadataFactory.example4(); GroupSymbol group1 = getPhysicalGroup(1,2); ElementSymbol g1e2 = getElementSymbol(1,2,2); GroupSymbol group2 = getPhysicalGroup(3,3); ElementSymbol g2e1 = getElementSymbol(3,3,1); ElementSymbol g2e2 = getElementSymbol(3,3,2); //Join criteria ArrayList crits = new ArrayList(1); crits.add(new CompareCriteria(g1e2, CompareCriteria.EQ, g2e2)); Criteria atomicCrit1 = null; Criteria crit1 = new CompareCriteria(g2e1, CompareCriteria.GE, new Constant(new Integer(5))); Criteria crit2 = new CompareCriteria(g2e1, CompareCriteria.NE, new Constant(new Integer(7))); Criteria atomicCrit2 = new CompoundCriteria(CompoundCriteria.OR, crit1, crit2); atomicCrit2 = new NotCriteria(atomicCrit2); Criteria crit3 = new CompareCriteria(g2e1, CompareCriteria.LE, new Constant(new Integer(25))); atomicCrit2 = new CompoundCriteria(CompoundCriteria.AND, atomicCrit2, crit3); int expected = LEFT_SIDE; helpTestChooseSiblingAndMarkDependent(group1, atomicCrit1, group2, atomicCrit2, crits, expected); expected = RIGHT_SIDE; helpTestChooseSiblingAndMarkDependent(group2, atomicCrit2, group1, atomicCrit1, crits, expected); }
@Test public void testCardinalityWithKeyComplexCrit2() throws Exception { //override default metadata this.metadata = RealMetadataFactory.example4(); GroupSymbol group1 = getPhysicalGroup(1,2); ElementSymbol g1e2 = getElementSymbol(1,2,2); GroupSymbol group2 = getPhysicalGroup(3,3); ElementSymbol g2e1 = getElementSymbol(3,3,1); ElementSymbol g2e2 = getElementSymbol(3,3,2); //Join criteria ArrayList crits = new ArrayList(1); crits.add(new CompareCriteria(g1e2, CompareCriteria.EQ, g2e2)); Criteria atomicCrit1 = null; Criteria crit1 = new CompareCriteria(g2e1, CompareCriteria.GT, new Constant(new Integer(5))); Criteria crit2 = new CompareCriteria(g2e1, CompareCriteria.LT, new Constant(new Integer(7))); Criteria atomicCrit2 = new CompoundCriteria(CompoundCriteria.AND, crit1, crit2); Criteria crit3 = new MatchCriteria(g2e1, new Constant(new String("cd%"))); //$NON-NLS-1$ atomicCrit2 = new CompoundCriteria(CompoundCriteria.OR, atomicCrit2, crit3); atomicCrit2 = new NotCriteria(atomicCrit2); int expected = RIGHT_SIDE; helpTestChooseSiblingAndMarkDependent(group1, atomicCrit1, group2, atomicCrit2, crits, expected); expected = LEFT_SIDE; helpTestChooseSiblingAndMarkDependent(group2, atomicCrit2, group1, atomicCrit1, crits, expected); }
/** * Tests NotCriteria in the atomic criteria */ @Test public void testCardinalityWithKeyNotCrit() throws Exception { //override default metadata this.metadata = RealMetadataFactory.example4(); GroupSymbol group1 = getPhysicalGroup(1,2); ElementSymbol g1e2 = getElementSymbol(1,2,2); GroupSymbol group2 = getPhysicalGroup(3,3); ElementSymbol g2e1 = getElementSymbol(3,3,1); ElementSymbol g2e2 = getElementSymbol(3,3,2); //Join criteria ArrayList crits = new ArrayList(1); CompareCriteria crit2 = new CompareCriteria(g1e2, CompareCriteria.EQ, g2e2); crits.add(crit2); Criteria atomicCrit1 = null; Criteria atomicCrit2 = new CompareCriteria(g2e1, CompareCriteria.EQ, new Constant(new Integer(5))); atomicCrit2 = new NotCriteria(atomicCrit2); int expected = RIGHT_SIDE; helpTestChooseSiblingAndMarkDependent(group1, atomicCrit1, group2, atomicCrit2, crits, expected); expected = LEFT_SIDE; helpTestChooseSiblingAndMarkDependent(group2, atomicCrit2, group1, atomicCrit1, crits, expected); }
@Test public void testNotCriteria1() { NotCriteria not = new NotCriteria(new IsNullCriteria(new ElementSymbol("m.g.e1"))); //$NON-NLS-1$ helpTest(not, "NOT (m.g.e1 IS NULL)"); //$NON-NLS-1$ }
@Test public void testJoinPredicate5() { ArrayList<Criteria> crits = new ArrayList<Criteria>(); crits.add(new NotCriteria(new CompareCriteria(new ElementSymbol("m.g2.e1"), CompareCriteria.EQ, new ElementSymbol("m.g3.e1")))); //$NON-NLS-1$ //$NON-NLS-2$ JoinPredicate jp = new JoinPredicate( new UnaryFromClause(new GroupSymbol("m.g2")), //$NON-NLS-1$ new UnaryFromClause(new GroupSymbol("m.g3")), //$NON-NLS-1$ JoinType.JOIN_INNER, crits ); helpTest(jp, "m.g2 INNER JOIN m.g3 ON NOT (m.g2.e1 = m.g3.e1)"); //$NON-NLS-1$ }
public void testSeparateCriteriaByAnd5() { CompareCriteria crit1 = exampleCompareCrit(1); CompareCriteria crit2 = exampleCompareCrit(2); CompareCriteria crit3 = exampleCompareCrit(3); CompoundCriteria compCrit1 = new CompoundCriteria(); compCrit1.setOperator(CompoundCriteria.AND); compCrit1.addCriteria(crit2); compCrit1.addCriteria(crit3); NotCriteria notCrit = new NotCriteria(compCrit1); CompoundCriteria compCrit2 = new CompoundCriteria(); compCrit2.setOperator(CompoundCriteria.AND); compCrit2.addCriteria(crit1); compCrit2.addCriteria(notCrit); helpTestSeparateCriteria(compCrit2, new Criteria[] { crit1, notCrit }); }
/** Select a From db.g Where Not a IS NULL */ @Test public void testNotIsNullCriteria(){ GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$ select.addSymbol(a); Criteria crit = new NotCriteria(new IsNullCriteria(a)); Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("Select a From db.g Where Not a IS NULL", //$NON-NLS-1$ "SELECT a FROM db.g WHERE NOT (a IS NULL)", //$NON-NLS-1$ query); }