public static void resolveLanguageObject(LanguageObject obj, Collection<GroupSymbol> groups, GroupContext externalContext, QueryMetadataInterface metadata) throws TeiidComponentException, QueryResolverException { if(obj == null) { return; } // Resolve elements, deal with errors ResolverVisitor elementsVisitor = new ResolverVisitor(metadata, groups, externalContext); PostOrderNavigator.doVisit(obj, elementsVisitor); elementsVisitor.throwException(true); }
private void rewriteExpressions(LanguageObject obj) throws TeiidComponentException, TeiidProcessingException{ if (obj == null) { return; } ExpressionMappingVisitor visitor = new ExpressionMappingVisitor(null) { /** * @see org.teiid.query.sql.visitor.ExpressionMappingVisitor#replaceExpression(org.teiid.query.sql.symbol.Expression) */ @Override public Expression replaceExpression(Expression element) { try { return rewriteExpressionDirect(element); } catch (TeiidException err) { throw new TeiidRuntimeException(err); } } }; try { PostOrderNavigator.doVisit(obj, visitor); } catch (TeiidRuntimeException err) { if (err.getCause() instanceof TeiidComponentException) { throw (TeiidComponentException)err.getCause(); } if (err.getCause() instanceof TeiidProcessingException) { throw (TeiidProcessingException)err.getCause(); } throw err; } }
private void rewriteExpressions(LanguageObject obj) throws TeiidComponentException, TeiidProcessingException{ if (obj == null) { return; } ExpressionMappingVisitor visitor = new ExpressionMappingVisitor(null) { /** * @see org.teiid.query.sql.visitor.ExpressionMappingVisitor#replaceExpression(org.teiid.query.sql.symbol.Expression) */ @Override public Expression replaceExpression(Expression element) { try { return rewriteExpressionDirect(element); } catch (TeiidException err) { throw new TeiidRuntimeException(err); } } }; try { PostOrderNavigator.doVisit(obj, visitor); } catch (TeiidRuntimeException err) { if (err.getCause() instanceof TeiidComponentException) { throw (TeiidComponentException)err.getCause(); } if (err.getCause() instanceof TeiidProcessingException) { throw (TeiidProcessingException)err.getCause(); } throw err; } }
private void rewriteExpressions(LanguageObject obj) throws TeiidComponentException, TeiidProcessingException{ if (obj == null) { return; } ExpressionMappingVisitor visitor = new ExpressionMappingVisitor(null) { /** * @see org.teiid.query.sql.visitor.ExpressionMappingVisitor#replaceExpression(org.teiid.query.sql.symbol.Expression) */ @Override public Expression replaceExpression(Expression element) { try { return rewriteExpressionDirect(element); } catch (TeiidException err) { throw new TeiidRuntimeException(err); } } }; try { PostOrderNavigator.doVisit(obj, visitor); } catch (TeiidRuntimeException err) { if (err.getCause() instanceof TeiidComponentException) { throw (TeiidComponentException)err.getCause(); } if (err.getCause() instanceof TeiidProcessingException) { throw (TeiidProcessingException)err.getCause(); } throw err; } }
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();
query.setSelect(new Select(selectSymbols)); ExpressionMappingVisitor emv = new ExpressionMappingVisitor(expressionMapping.asMap(), true); PostOrderNavigator.doVisit(query.getSelect(), emv); PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));
query.setSelect(new Select(selectSymbols)); ExpressionMappingVisitor emv = new ExpressionMappingVisitor(expressionMapping.asMap(), true); PostOrderNavigator.doVisit(query.getSelect(), emv); PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));
query.setSelect(new Select(selectSymbols)); ExpressionMappingVisitor emv = new ExpressionMappingVisitor(expressionMapping.asMap(), true); PostOrderNavigator.doVisit(query.getSelect(), emv); PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));
PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));
PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));
PostOrderNavigator.doVisit(crit, emv); query.setCriteria(Criteria.combineCriteria(query.getCriteria(), crit));