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; }
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; }
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 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 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); }
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; }
/** * 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(); }
/** * 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 elements from obj in the elements collection * @param obj Language object * @param elements Collection to collect elements in */ public static final void getFunctions(LanguageObject obj, Collection<Function> functions, boolean deep) { FunctionCollectorVisitor visitor = new FunctionCollectorVisitor(functions); if (!deep) { PreOrderNavigator.doVisit(obj, visitor); } else { DeepPreOrderNavigator.doVisit(obj, visitor); } }
/** * Helper to quickly get the elements from obj in the elements collection * @param obj Language object * @param elements Collection to collect elements in */ public static final void getFunctions(LanguageObject obj, Collection<Function> functions, boolean deep) { FunctionCollectorVisitor visitor = new FunctionCollectorVisitor(functions); if (!deep) { PreOrderNavigator.doVisit(obj, visitor); } else { DeepPreOrderNavigator.doVisit(obj, visitor); } }
/** * By default, this visitor deeply traverses all commands, and there are * no symbols to ignore */ public static final Collection<Symbol> checkSymbols(LanguageObject obj){ CheckNoTempMetadataIDsVisitor visitor = new CheckNoTempMetadataIDsVisitor(); DeepPreOrderNavigator.doVisit(obj, visitor); return visitor.getSymbols(); }
static Command helpResolve(Command command, QueryMetadataInterface queryMetadataInterface) { // resolve try { QueryResolver.resolveCommand(command, queryMetadataInterface); } catch(TeiidException e) { throw new RuntimeException(e); } CheckSymbolsAreResolvedVisitor vis = new CheckSymbolsAreResolvedVisitor(); DeepPreOrderNavigator.doVisit(command, vis); Collection<LanguageObject> unresolvedSymbols = vis.getUnresolvedSymbols(); assertTrue("Found unresolved symbols: " + unresolvedSymbols, unresolvedSymbols.isEmpty()); //$NON-NLS-1$ return command; }
public void testMapMultipleElementSymbolName() { MultipleElementSymbol aigs = new MultipleElementSymbol("OLDG0"); //$NON-NLS-1$ ArrayList<ElementSymbol> elements = new ArrayList<ElementSymbol>(); elements.add(exampleElement(true, 0)); elements.add(exampleElement(true, 1)); aigs.setElementSymbols(elements); // Run symbol mapper StaticSymbolMappingVisitor visitor = new StaticSymbolMappingVisitor(getSymbolMap()); DeepPreOrderNavigator.doVisit(aigs, visitor); // Check name of all in group symbol assertEquals("MultipleElementSymbol name did not get mapped correctly: ", "NEWG0.*", aigs.toString()); //$NON-NLS-1$ //$NON-NLS-2$ }
public void testExecName() { StoredProcedure exec = new StoredProcedure(); exec.setProcedureName(exampleGroup(true, 1).getName()); exec.setProcedureID("proc"); //$NON-NLS-1$ // Run symbol mapper StaticSymbolMappingVisitor visitor = new StaticSymbolMappingVisitor(getSymbolMap()); DeepPreOrderNavigator.doVisit(exec, visitor); // Check that group got mapped assertEquals("Procedure name did not get mapped correctly: ", exampleGroup(false, 1).getName(), exec.getProcedureName()); //$NON-NLS-1$ }
public void testExecParamElement() { StoredProcedure exec = new StoredProcedure(); exec.setProcedureName("pm1.proc1"); //$NON-NLS-1$ exec.setProcedureID("proc"); //$NON-NLS-1$ SPParameter param1 = new SPParameter(1, exampleElement(true, 1)); exec.setParameter(param1); // Run symbol mapper StaticSymbolMappingVisitor visitor = new StaticSymbolMappingVisitor(getSymbolMap()); DeepPreOrderNavigator.doVisit(exec, visitor); // Check that element got switched assertEquals("Stored proc param did not get mapped correctly: ", exampleElement(false, 1), param1.getExpression()); //$NON-NLS-1$ }