private List<UnaryFromClause> getUnaryFromClauses(QueryCommand queryCommand) { final List<UnaryFromClause> clauses = new ArrayList<UnaryFromClause>(); LanguageVisitor visitor = new LanguageVisitor() { public void visit(UnaryFromClause obj) { clauses.add(obj); } }; DeepPreOrderNavigator.doVisit(queryCommand, visitor); return clauses; }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { DeepPreOrderNavigator nav = new DeepPreOrderNavigator(visitor); object.acceptVisitor(nav); }
protected void visitNode(org.teiid.query.sql.LanguageObject obj) { if (capVisitor.isValid() && obj instanceof Expression) { obj.acceptVisitor(capVisitor); } super.visitNode(obj); } };
private List<UnaryFromClause> getUnaryFromClauses(QueryCommand queryCommand) { final List<UnaryFromClause> clauses = new ArrayList<UnaryFromClause>(); LanguageVisitor visitor = new LanguageVisitor() { public void visit(UnaryFromClause obj) { clauses.add(obj); } }; DeepPreOrderNavigator.doVisit(queryCommand, visitor); return clauses; }
protected void visitNode(org.teiid.query.sql.LanguageObject obj) { if (capVisitor.isValid() && obj instanceof Expression) { obj.acceptVisitor(capVisitor); } super.visitNode(obj); } };
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { DeepPreOrderNavigator nav = new DeepPreOrderNavigator(visitor); object.acceptVisitor(nav); }
private List<UnaryFromClause> getUnaryFromClauses(QueryCommand queryCommand) { final List<UnaryFromClause> clauses = new ArrayList<UnaryFromClause>(); LanguageVisitor visitor = new LanguageVisitor() { public void visit(UnaryFromClause obj) { clauses.add(obj); } }; DeepPreOrderNavigator.doVisit(queryCommand, visitor); return clauses; }
protected void visitNode(org.teiid.query.sql.LanguageObject obj) { if (capVisitor.isValid() && obj instanceof Expression) { obj.acceptVisitor(capVisitor); } super.visitNode(obj); } };
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { DeepPreOrderNavigator nav = new DeepPreOrderNavigator(visitor); object.acceptVisitor(nav); }
public static void mapSymbols(LanguageObject obj, Map symbolMap) { if (obj == null || symbolMap.isEmpty()) { return; } StaticSymbolMappingVisitor ssmv = new StaticSymbolMappingVisitor(symbolMap); DeepPreOrderNavigator.doVisit(obj, ssmv); }
public static void mapSymbols(LanguageObject obj, Map symbolMap) { if (obj == null || symbolMap.isEmpty()) { return; } StaticSymbolMappingVisitor ssmv = new StaticSymbolMappingVisitor(symbolMap); DeepPreOrderNavigator.doVisit(obj, ssmv); }
public static final boolean needsProcessingEvaluation(LanguageObject obj) { EvaluatableVisitor visitor = new EvaluatableVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.levels.contains(EvaluationLevel.PROCESSING); }
public static void mapSymbols(LanguageObject obj, Map symbolMap) { if (obj == null || symbolMap.isEmpty()) { return; } StaticSymbolMappingVisitor ssmv = new StaticSymbolMappingVisitor(symbolMap); DeepPreOrderNavigator.doVisit(obj, ssmv); }
public static final boolean needsProcessingEvaluation(LanguageObject obj) { EvaluatableVisitor visitor = new EvaluatableVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.levels.contains(EvaluationLevel.PROCESSING); }
public static final boolean needsProcessingEvaluation(LanguageObject obj) { EvaluatableVisitor visitor = new EvaluatableVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.levels.contains(EvaluationLevel.PROCESSING); }
static List<ElementSymbol> getBindingsReferences(LanguageObject object, Collection<ElementSymbol> allBindings) { List<ElementSymbol> elements = new LinkedList<ElementSymbol>(); ElementCollectorVisitor visitor = new ElementCollectorVisitor(elements); DeepPreOrderNavigator.doVisit(object, visitor); for (Iterator<ElementSymbol> i = elements.iterator(); i.hasNext();) { ElementSymbol elementSymbol = i.next(); if (!elementSymbol.isExternalReference() || !allBindings.contains(elementSymbol)) { i.remove(); } } return elements; }
static void markBindingsAsNonExternal(LanguageObject object, Collection<ElementSymbol> allBindings) { List<ElementSymbol> elements = new ArrayList<ElementSymbol>(); ElementCollectorVisitor visitor = new ElementCollectorVisitor(elements); DeepPreOrderNavigator.doVisit(object, visitor); for (Iterator<ElementSymbol> i = elements.iterator(); i.hasNext();) { ElementSymbol elementSymbol = i.next(); if (allBindings.contains(elementSymbol)) { elementSymbol.setIsExternalReference(false); elementSymbol.setMetadataID(null); } } }
/** * Helper to quickly get the references from obj in a collection. * @param obj Language object * @return List of {@link org.teiid.query.sql.symbol.Reference} */ public static List<Reference> getReferences(LanguageObject obj) { ReferenceCollectorVisitor visitor = new ReferenceCollectorVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.getReferences(); }
/** * Helper to quickly get the references from obj in a collection. * @param obj Language object * @return List of {@link org.teiid.query.sql.symbol.Reference} */ public static List<Reference> getReferences(LanguageObject obj) { ReferenceCollectorVisitor visitor = new ReferenceCollectorVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.getReferences(); }
public static final Collection<ElementSymbol> getElements(LanguageObject obj, boolean removeDuplicates, boolean useDeepIteration, boolean aggsOnly) { if(obj == null) { return Collections.emptyList(); } Collection<ElementSymbol> elements = null; if(removeDuplicates) { elements = new LinkedHashSet<ElementSymbol>(); } else { elements = new ArrayList<ElementSymbol>(); } ElementCollectorVisitor visitor = new ElementCollectorVisitor(elements); visitor.aggsOnly = aggsOnly; if (useDeepIteration){ DeepPreOrderNavigator.doVisit(obj, visitor); } else { PreOrderNavigator.doVisit(obj, visitor); } return elements; }