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())); } }
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())); } }
/** * @see java.lang.Object#clone() */ public Object clone() { Expression expr = (Expression)expression.clone(); int whenCount = getWhenCount(); ArrayList whenCopy = new ArrayList(whenCount); ArrayList thenCopy = new ArrayList(whenCount); for(int i = 0; i < whenCount; i++) { whenCopy.add(getWhenExpression(i).clone()); thenCopy.add(getThenExpression(i).clone()); } Expression elseExpr = getElseExpression(); if (elseExpr != null) { elseExpr = (Expression)elseExpr.clone(); } CaseExpression copy = new CaseExpression(expr, whenCopy, thenCopy); copy.setType(getType()); copy.setElseExpression(elseExpr); return copy; }
/** * @see java.lang.Object#clone() */ public Object clone() { Expression expr = (Expression)expression.clone(); int whenCount = getWhenCount(); ArrayList whenCopy = new ArrayList(whenCount); ArrayList thenCopy = new ArrayList(whenCount); for(int i = 0; i < whenCount; i++) { whenCopy.add(getWhenExpression(i).clone()); thenCopy.add(getThenExpression(i).clone()); } Expression elseExpr = getElseExpression(); if (elseExpr != null) { elseExpr = (Expression)elseExpr.clone(); } CaseExpression copy = new CaseExpression(expr, whenCopy, thenCopy); copy.setType(getType()); copy.setElseExpression(elseExpr); return copy; }
/** * @see java.lang.Object#clone() */ public Object clone() { Expression expr = (Expression)expression.clone(); int whenCount = getWhenCount(); ArrayList whenCopy = new ArrayList(whenCount); ArrayList thenCopy = new ArrayList(whenCount); for(int i = 0; i < whenCount; i++) { whenCopy.add(getWhenExpression(i).clone()); thenCopy.add(getThenExpression(i).clone()); } Expression elseExpr = getElseExpression(); if (elseExpr != null) { elseExpr = (Expression)elseExpr.clone(); } CaseExpression copy = new CaseExpression(expr, whenCopy, thenCopy); copy.setType(getType()); copy.setElseExpression(elseExpr); return copy; }
public void visit(CaseExpression obj) { preVisitVisitor(obj); visitNode(obj.getExpression()); for(int i=0; i<obj.getWhenCount(); i++) { visitNode(obj.getWhenExpression(i)); visitNode(obj.getThenExpression(i)); } visitNode(obj.getElseExpression()); postVisitVisitor(obj); } public void visit(CommandStatement obj) {
public void visit(CaseExpression obj) { preVisitVisitor(obj); visitNode(obj.getExpression()); for(int i=0; i<obj.getWhenCount(); i++) { visitNode(obj.getWhenExpression(i)); visitNode(obj.getThenExpression(i)); } visitNode(obj.getElseExpression()); postVisitVisitor(obj); } public void visit(CommandStatement obj) {
public void visit(CaseExpression obj) { preVisitVisitor(obj); visitNode(obj.getExpression()); for(int i=0; i<obj.getWhenCount(); i++) { visitNode(obj.getWhenExpression(i)); visitNode(obj.getThenExpression(i)); } visitNode(obj.getElseExpression()); postVisitVisitor(obj); } public void visit(CommandStatement obj) {
private Object evaluate(CaseExpression expr, List<?> tuple) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { Object exprVal = internalEvaluate(expr.getExpression(), tuple); for (int i = 0; i < expr.getWhenCount(); i++) { if (EquivalenceUtil.areEqual(exprVal, internalEvaluate(expr.getWhenExpression(i), tuple))) { return internalEvaluate(expr.getThenExpression(i), tuple); } } if (expr.getElseExpression() != null) { return internalEvaluate(expr.getElseExpression(), tuple); } return null; }
private Object evaluate(CaseExpression expr, List<?> tuple) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { Object exprVal = internalEvaluate(expr.getExpression(), tuple); for (int i = 0; i < expr.getWhenCount(); i++) { if (EquivalenceUtil.areEqual(exprVal, internalEvaluate(expr.getWhenExpression(i), tuple))) { return internalEvaluate(expr.getThenExpression(i), tuple); } } if (expr.getElseExpression() != null) { return internalEvaluate(expr.getElseExpression(), tuple); } return null; }
private Object evaluate(CaseExpression expr, List<?> tuple) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { Object exprVal = internalEvaluate(expr.getExpression(), tuple); for (int i = 0; i < expr.getWhenCount(); i++) { if (EquivalenceUtil.areEqual(exprVal, internalEvaluate(expr.getWhenExpression(i), tuple))) { return internalEvaluate(expr.getThenExpression(i), tuple); } } if (expr.getElseExpression() != null) { return internalEvaluate(expr.getElseExpression(), tuple); } return null; }
thenType = obj.getThenExpression(i).getType(); for (int i = 0; i < whenCount; i++) { when = obj.getWhenExpression(i); then = obj.getThenExpression(i); for (int i = 0; i < whenCount; i++) { whens.add(ResolverUtil.convertExpression(obj.getWhenExpression(i), whenTypeName, metadata)); thens.add(ResolverUtil.convertExpression(obj.getThenExpression(i), thenTypeName, metadata));
thenType = obj.getThenExpression(i).getType(); for (int i = 0; i < whenCount; i++) { when = obj.getWhenExpression(i); then = obj.getThenExpression(i); for (int i = 0; i < whenCount; i++) { whens.add(ResolverUtil.convertExpression(obj.getWhenExpression(i), whenTypeName, metadata)); thens.add(ResolverUtil.convertExpression(obj.getThenExpression(i), thenTypeName, metadata));
thenType = obj.getThenExpression(i).getType(); for (int i = 0; i < whenCount; i++) { when = obj.getWhenExpression(i); then = obj.getThenExpression(i); for (int i = 0; i < whenCount; i++) { whens.add(ResolverUtil.convertExpression(obj.getWhenExpression(i), whenTypeName, metadata)); thens.add(ResolverUtil.convertExpression(obj.getThenExpression(i), thenTypeName, metadata));
helpTestStrictEquivalence(expr.getWhenExpression(1), clone.getWhenExpression(1)); helpTestStrictEquivalence(const1, clone.getThenExpression(0)); helpTestStrictEquivalence(expr.getThenExpression(0), clone.getThenExpression(0)); helpTestStrictEquivalence(const2, clone.getThenExpression(1)); helpTestStrictEquivalence(expr.getThenExpression(1), clone.getThenExpression(1));
assertEquals(new Constant("abc"), caseExpr.getWhenExpression(0)); //$NON-NLS-1$ assertEquals(new Constant("xyz"), caseExpr.getWhenExpression(1)); //$NON-NLS-1$ assertEquals(new Constant(new Integer(20000)), caseExpr.getThenExpression(0)); assertEquals(new Constant(new Integer(30000)), caseExpr.getThenExpression(1));
@Override public void visit( CaseExpression obj ) { append(CASE); append(SPACE); visitNode(obj.getExpression()); append(SPACE); for (int i = 0; i < obj.getWhenCount(); i++) { append(WHEN); append(SPACE); visitNode(obj.getWhenExpression(i)); append(SPACE); append(THEN); append(SPACE); visitNode(obj.getThenExpression(i)); append(SPACE); } if (obj.getElseExpression() != null) { append(ELSE); append(SPACE); visitNode(obj.getElseExpression()); append(SPACE); } append(END); }
@Override public void visit( CaseExpression obj ) { append(CASE); append(SPACE); visitNode(obj.getExpression()); append(SPACE); for (int i = 0; i < obj.getWhenCount(); i++) { append(WHEN); append(SPACE); visitNode(obj.getWhenExpression(i)); append(SPACE); append(THEN); append(SPACE); visitNode(obj.getThenExpression(i)); append(SPACE); } if (obj.getElseExpression() != null) { append(ELSE); append(SPACE); visitNode(obj.getElseExpression()); append(SPACE); } append(END); }
@Override public void visit( CaseExpression obj ) { append(CASE); append(SPACE); visitNode(obj.getExpression()); append(SPACE); for (int i = 0; i < obj.getWhenCount(); i++) { append(WHEN); append(SPACE); visitNode(obj.getWhenExpression(i)); append(SPACE); append(THEN); append(SPACE); visitNode(obj.getThenExpression(i)); append(SPACE); } if (obj.getElseExpression() != null) { append(ELSE); append(SPACE); visitNode(obj.getElseExpression()); append(SPACE); } append(END); }