public boolean equals(Object obj) { if (!super.equals(obj)) return false; if (!(obj instanceof CaseExpression)) return false; CaseExpression other = (CaseExpression)obj; return getExpression().equals(other.getExpression()) && when.equals(other.when); } }
public boolean equals(Object obj) { if (!super.equals(obj)) return false; if (!(obj instanceof CaseExpression)) return false; CaseExpression other = (CaseExpression)obj; return getExpression().equals(other.getExpression()) && when.equals(other.when); } }
public boolean equals(Object obj) { if (!super.equals(obj)) return false; if (!(obj instanceof CaseExpression)) return false; CaseExpression other = (CaseExpression)obj; return getExpression().equals(other.getExpression()) && when.equals(other.when); } }
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())); } }
private Expression rewriteCaseExpression(CaseExpression expr) throws TeiidComponentException, TeiidProcessingException{ List<CompareCriteria> whens = new ArrayList<CompareCriteria>(expr.getWhenCount()); for (Expression expression: (List<Expression>)expr.getWhen()) { whens.add(new CompareCriteria((Expression)expr.getExpression().clone(), CompareCriteria.EQ, expression)); } SearchedCaseExpression sce = new SearchedCaseExpression(whens, expr.getThen()); sce.setElseExpression(expr.getElseExpression()); sce.setType(expr.getType()); return rewriteCaseExpression(sce); }
private Expression rewriteCaseExpression(CaseExpression expr) throws TeiidComponentException, TeiidProcessingException{ List<CompareCriteria> whens = new ArrayList<CompareCriteria>(expr.getWhenCount()); for (Expression expression: (List<Expression>)expr.getWhen()) { whens.add(new CompareCriteria((Expression)expr.getExpression().clone(), CompareCriteria.EQ, expression)); } SearchedCaseExpression sce = new SearchedCaseExpression(whens, expr.getThen()); sce.setElseExpression(expr.getElseExpression()); sce.setType(expr.getType()); return rewriteCaseExpression(sce); }
private Expression rewriteCaseExpression(CaseExpression expr) throws TeiidComponentException, TeiidProcessingException{ List<CompareCriteria> whens = new ArrayList<CompareCriteria>(expr.getWhenCount()); for (Expression expression: (List<Expression>)expr.getWhen()) { whens.add(new CompareCriteria((Expression)expr.getExpression().clone(), CompareCriteria.EQ, expression)); } SearchedCaseExpression sce = new SearchedCaseExpression(whens, expr.getThen()); sce.setElseExpression(expr.getElseExpression()); sce.setType(expr.getType()); return rewriteCaseExpression(sce); }
public void testGetExpression() { assertNotNull(example(1).getExpression()); assertEquals(new ElementSymbol("x"), example(1).getExpression()); //$NON-NLS-1$ }
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()); } }
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; }
@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); }