public static MatchCriteria example(String element, String str) { MatchCriteria crit = new MatchCriteria(); crit.setLeftExpression(new ElementSymbol(element)); crit.setRightExpression(new Constant(str)); return crit; }
public static MatchCriteria helpExample(String right, char escape, boolean negated) { ElementSymbol e1 = TestElementImpl.helpExample("vm1.g1", "e1"); //$NON-NLS-1$ //$NON-NLS-2$ MatchCriteria match = new MatchCriteria(e1, new Constant(right), escape); match.setNegated(negated); return match; }
public static MatchCriteria example(String str) { MatchCriteria crit = new MatchCriteria(); crit.setLeftExpression(new ElementSymbol("m.g1.e1")); //$NON-NLS-1$ crit.setRightExpression(new Constant(str)); return crit; }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { Expression leftCopy = null; if(getLeftExpression() != null) { leftCopy = (Expression) getLeftExpression().clone(); } Expression rightCopy = null; if(getRightExpression() != null) { rightCopy = (Expression) getRightExpression().clone(); } MatchCriteria criteriaCopy = new MatchCriteria(leftCopy, rightCopy, getEscapeChar()); criteriaCopy.setNegated(isNegated()); criteriaCopy.mode = mode; return criteriaCopy; }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { Expression leftCopy = null; if(getLeftExpression() != null) { leftCopy = (Expression) getLeftExpression().clone(); } Expression rightCopy = null; if(getRightExpression() != null) { rightCopy = (Expression) getRightExpression().clone(); } MatchCriteria criteriaCopy = new MatchCriteria(leftCopy, rightCopy, getEscapeChar()); criteriaCopy.setNegated(isNegated()); criteriaCopy.mode = mode; return criteriaCopy; }
public static MatchCriteria example(String str, char escapeChar) { MatchCriteria crit = new MatchCriteria(); crit.setLeftExpression(new ElementSymbol("m.g1.e1")); //$NON-NLS-1$ crit.setRightExpression(new Constant(str)); crit.setEscapeChar(escapeChar); return crit; }
/** * Deep copy of object * @return Deep copy of object */ public Object clone() { Expression leftCopy = null; if(getLeftExpression() != null) { leftCopy = (Expression) getLeftExpression().clone(); } Expression rightCopy = null; if(getRightExpression() != null) { rightCopy = (Expression) getRightExpression().clone(); } MatchCriteria criteriaCopy = new MatchCriteria(leftCopy, rightCopy, getEscapeChar()); criteriaCopy.setNegated(isNegated()); criteriaCopy.mode = mode; return criteriaCopy; }
public void testVisitMatchCriteria() { MatchCriteria mc = new MatchCriteria(exampleElement(true, 0), new Constant("abc")); //$NON-NLS-1$ helpTest(mc, getSymbolMap()); }
@Test public void testMatchCriteria1() { MatchCriteria mc = new MatchCriteria(); mc.setLeftExpression(new ElementSymbol("m.g.e1")); //$NON-NLS-1$ mc.setRightExpression(new Constant("abc")); //$NON-NLS-1$ helpTest(mc, "m.g.e1 LIKE 'abc'"); //$NON-NLS-1$ }
@Test public void testCompoundNonJoinCriteriaInFromUWithLIKE() { PredicateCriteria crit = new MatchCriteria(new ElementSymbol("e2"), new Constant("%")); //$NON-NLS-1$ //$NON-NLS-2$ helpTestCompoundNonJoinCriteria("e2 LIKE '%'", crit); //$NON-NLS-1$ }
@Test public void testMatchCriteria3() { MatchCriteria mc = new MatchCriteria(); mc.setLeftExpression(new ElementSymbol("m.g.e1")); //$NON-NLS-1$ mc.setRightExpression(new Constant("abc")); //$NON-NLS-1$ mc.setNegated(true); helpTest(mc, "m.g.e1 NOT LIKE 'abc'"); //$NON-NLS-1$ }
@Test public void testRewriteMatchCritEscapeChar5() throws Exception { MatchCriteria mcrit = new MatchCriteria(new ElementSymbol("pm1.g1.e1"), new Constant(null, DataTypeManager.DefaultDataClasses.STRING), '#'); //$NON-NLS-1$ Criteria expected = QueryRewriter.UNKNOWN_CRITERIA; Object actual = QueryRewriter.rewriteCriteria(mcrit, null, null); assertEquals("Did not get expected rewritten criteria", expected, actual); //$NON-NLS-1$ }
@Test public void testMatchCriteria2() { MatchCriteria mc = new MatchCriteria(); mc.setLeftExpression(new ElementSymbol("m.g.e1")); //$NON-NLS-1$ mc.setRightExpression(new Constant("%")); //$NON-NLS-1$ mc.setEscapeChar('#'); helpTest(mc, "m.g.e1 LIKE '%' ESCAPE '#'"); //$NON-NLS-1$ }
private void helpTestMatch(String value, String pattern, char escape, boolean negated, boolean expectedMatch) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { MatchCriteria crit = new MatchCriteria(new Constant(value), new Constant(pattern), escape); crit.setNegated(negated); boolean actualMatch = Evaluator.evaluate(crit); // Compare actual and expected match assertEquals("Match criteria test failed for value=[" + value + "], pattern=[" + pattern + "], hasEscape=" + (escape != MatchCriteria.NULL_ESCAPE_CHAR) + ": ", expectedMatch, actualMatch); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ }
/** SELECT a FROM g WHERE a LIKE x*/ @Test public void testLikeWOConstant(){ GroupSymbol g = new GroupSymbol("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); ElementSymbol x = new ElementSymbol("x"); //$NON-NLS-1$ Criteria crit = new MatchCriteria(a, x); Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT a FROM g WHERE a LIKE x", //$NON-NLS-1$ "SELECT a FROM g WHERE a LIKE x", //$NON-NLS-1$ query); }
@Test public void testPgLike(){ 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); Expression string1 = new Constant("\\_aString"); //$NON-NLS-1$ Criteria crit = new MatchCriteria(new ElementSymbol("b"), string1, '\\'); //$NON-NLS-1$ Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT a FROM db.g WHERE b LIKE E'\\\\_aString'", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b LIKE '\\_aString' ESCAPE '\\'", //$NON-NLS-1$ query); }
/** SELECT a FROM db.g WHERE b LIKE 'aString'*/ @Test public void testLike0(){ 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); Expression string1 = new Constant("aString"); //$NON-NLS-1$ Criteria crit = new MatchCriteria(new ElementSymbol("b"), string1); //$NON-NLS-1$ Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT a FROM db.g WHERE b LIKE 'aString'", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b LIKE 'aString'", //$NON-NLS-1$ query); }
/** SELECT a from db.g where b LIKE ? */ @Test public void testParameter1() { 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); Reference ref1 = new Reference(0); Criteria crit = new MatchCriteria(new ElementSymbol("b"), ref1); //$NON-NLS-1$ Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT a from db.g where b LIKE ?", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b LIKE ?", //$NON-NLS-1$ query); }
/** SELECT a from db.g where b LIKE ? */ @Test public void testParameter2() { GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$ From from = new From(); from.addGroup(g); Select select = new Select(); Reference ref0 = new Reference(0); select.addSymbol(ref0); Reference ref1 = new Reference(1); Criteria crit = new MatchCriteria(new ElementSymbol("b"), ref1); //$NON-NLS-1$ Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT ? from db.g where b LIKE ?", //$NON-NLS-1$ "SELECT ? FROM db.g WHERE b LIKE ?", //$NON-NLS-1$ query); }
/** SELECT a FROM db.g WHERE b NOT LIKE 'aString'*/ @Test public void testLike1(){ 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); Expression string1 = new Constant("aString"); //$NON-NLS-1$ MatchCriteria crit = new MatchCriteria(new ElementSymbol("b"), string1); //$NON-NLS-1$ crit.setNegated(true); Query query = new Query(); query.setSelect(select); query.setFrom(from); query.setCriteria(crit); helpTest("SELECT a FROM db.g WHERE b NOT LIKE 'aString'", //$NON-NLS-1$ "SELECT a FROM db.g WHERE b NOT LIKE 'aString'", //$NON-NLS-1$ query); }