/** * Constructor for CaseExpression objects * @param expression a non-null expression * @param when a non-null List containing at least one Expression * @param then a non-null List containing at least one Expression */ public CaseExpression(Expression expression, List when, List then) { setExpression(expression); setWhen(when, then); }
/** * Constructor for CaseExpression objects * @param expression a non-null expression * @param when a non-null List containing at least one Expression * @param then a non-null List containing at least one Expression */ public CaseExpression(Expression expression, List when, List then) { setExpression(expression); setWhen(when, then); }
/** * Constructor for CaseExpression objects * @param expression a non-null expression * @param when a non-null List containing at least one Expression * @param then a non-null List containing at least one Expression */ public CaseExpression(Expression expression, List when, List then) { setExpression(expression); setWhen(when, then); }
public void visit(CaseExpression obj) { obj.setExpression(replaceExpression(obj.getExpression())); final int whenCount = obj.getWhenCount(); ArrayList whens = new ArrayList(whenCount); ArrayList thens = new ArrayList(whenCount); for (int i = 0; i < whenCount; i++) { whens.add(replaceExpression(obj.getWhenExpression(i))); thens.add(replaceExpression(obj.getThenExpression(i))); } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
public void visit(CaseExpression obj) { obj.setExpression(replaceExpression(obj.getExpression())); final int whenCount = obj.getWhenCount(); ArrayList whens = new ArrayList(whenCount); ArrayList thens = new ArrayList(whenCount); for (int i = 0; i < whenCount; i++) { whens.add(replaceExpression(obj.getWhenExpression(i))); thens.add(replaceExpression(obj.getThenExpression(i))); } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
@Test public void testCaseExpression1() { CaseExpression expr = TestCaseExpression.example(3); expr.setExpression(new Constant("a")); //$NON-NLS-1$ helpTestEval(expr, null, null, null, null, new Integer(0)); expr.setExpression(new Constant("b")); //$NON-NLS-1$ helpTestEval(expr, null, null, null, null, new Integer(1)); expr.setExpression(new Constant("c")); //$NON-NLS-1$ helpTestEval(expr, null, null, null, null, new Integer(2)); expr.setExpression(new Constant("d")); //$NON-NLS-1$ helpTestEval(expr, null, null, null, null, new Integer(9999)); }
public void visit(CaseExpression obj) { obj.setExpression(replaceExpression(obj.getExpression())); final int whenCount = obj.getWhenCount(); ArrayList whens = new ArrayList(whenCount); ArrayList thens = new ArrayList(whenCount); for (int i = 0; i < whenCount; i++) { whens.add(replaceExpression(obj.getWhenExpression(i))); thens.add(replaceExpression(obj.getThenExpression(i))); } obj.setWhen(whens, thens); if (obj.getElseExpression() != null) { obj.setElseExpression(replaceExpression(obj.getElseExpression())); } }
public void testSetExpression() { CaseExpression caseExpr = example(1); ElementSymbol y = new ElementSymbol("y"); //$NON-NLS-1$ caseExpr.setExpression(y); assertEquals(y, caseExpr.getExpression()); try { caseExpr.setExpression(null); fail("Setting the expression to null should fail."); //$NON-NLS-1$ } catch (IllegalArgumentException e) { // There should be no side-effects of an illegal argument assertEquals(y, caseExpr.getExpression()); } }
throw new QueryResolverException(QueryPlugin.Event.TEIID30079, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30079, "THEN/ELSE", obj));//$NON-NLS-1$ obj.setExpression(ResolverUtil.convertExpression(obj.getExpression(), whenTypeName, metadata)); ArrayList<Expression> whens = new ArrayList<Expression>(whenCount); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount);
throw new QueryResolverException(QueryPlugin.Event.TEIID30079, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30079, "THEN/ELSE", obj));//$NON-NLS-1$ obj.setExpression(ResolverUtil.convertExpression(obj.getExpression(), whenTypeName, metadata)); ArrayList<Expression> whens = new ArrayList<Expression>(whenCount); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount);
throw new QueryResolverException(QueryPlugin.Event.TEIID30079, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30079, "THEN/ELSE", obj));//$NON-NLS-1$ obj.setExpression(ResolverUtil.convertExpression(obj.getExpression(), whenTypeName, metadata)); ArrayList<Expression> whens = new ArrayList<Expression>(whenCount); ArrayList<Expression> thens = new ArrayList<Expression>(whenCount);
public void testEquals() { CaseExpression sc1 = example(3); assertTrue(sc1.equals(sc1)); assertTrue(sc1.equals(sc1.clone())); assertTrue(sc1.clone().equals(sc1)); assertTrue(sc1.equals(example(3))); CaseExpression sc2 = example(4); assertFalse(sc1.equals(sc2)); assertFalse(sc2.equals(sc1)); CaseExpression sc3 = example(3); sc3.setElseExpression(new ElementSymbol("y")); //$NON-NLS-1$ assertFalse(sc1.equals(sc3)); assertFalse(sc3.equals(sc1)); CaseExpression sc4 = example(3); sc4.setExpression(new ElementSymbol("y")); //$NON-NLS-1$ assertFalse(sc1.equals(sc4)); assertFalse(sc4.equals(sc1)); } }