public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PostOrderNavigator nav = new PostOrderNavigator(visitor); object.acceptVisitor(nav); }
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); }
protected void postVisitVisitor(LanguageObject obj) { super.postVisitVisitor(obj); ResolverVisitor visitor = (ResolverVisitor)getVisitor(); try { visitor.throwException(false); } catch (TeiidException e) { throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30103, e); } }
public void visit(From obj) { assert currentGroups.isEmpty(); super.visit(obj); addDiscoveredGroups(); }
public void visit(From obj) { assert currentGroups.isEmpty(); super.visit(obj); addDiscoveredGroups(); }
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; } }
/** * @see org.teiid.query.sql.navigator.PreOrPostOrderNavigator#visit(org.teiid.query.sql.lang.Into) */ public void visit(Into obj) { if (!obj.getGroup().isImplicitTempGroupSymbol()) { super.visit(obj); } }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PostOrderNavigator nav = new PostOrderNavigator(visitor); object.acceptVisitor(nav); }
protected void postVisitVisitor(LanguageObject obj) { super.postVisitVisitor(obj); ResolverVisitor visitor = (ResolverVisitor)getVisitor(); try { visitor.throwException(false); } catch (TeiidException e) { throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30103, e); } }
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; } }
/** * @see org.teiid.query.sql.navigator.PreOrPostOrderNavigator#visit(org.teiid.query.sql.lang.Into) */ public void visit(Into obj) { if (!obj.getGroup().isImplicitTempGroupSymbol()) { super.visit(obj); } }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PostOrderNavigator nav = new PostOrderNavigator(visitor); object.acceptVisitor(nav); }
protected void postVisitVisitor(LanguageObject obj) { super.postVisitVisitor(obj); ResolverVisitor visitor = (ResolverVisitor)getVisitor(); try { visitor.throwException(false); } catch (TeiidException e) { throw new TeiidRuntimeException(QueryPlugin.Event.TEIID30103, e); } }
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; } }
/** * @see org.teiid.query.sql.navigator.PreOrPostOrderNavigator#visit(org.teiid.query.sql.lang.Into) */ public void visit(Into obj) { if (!obj.getGroup().isImplicitTempGroupSymbol()) { super.visit(obj); } }
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();
public void visit(From obj) { assert currentGroups.isEmpty(); for (FromClause clause : obj.getClauses()) { checkImplicit(clause); } super.visit(obj); addDiscoveredGroups(); }
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();
@Override public void visit(IsDistinctCriteria obj) { obj.setLeftRowValue(resolveAsGroup(obj.getLeftRowValue())); obj.setRightRowValue(resolveAsGroup(obj.getRightRowValue())); super.visit(obj); }
PostOrderNavigator.doVisit(key, emv); if (subMapping == null) { subMapping = new HashMap<Expression, Expression>();