@Test public void testSkipAssociation() { final SemanticSelector selector = generateSkipAssociationSelectorMap(); final ClassType studentType = provider.getClassType("Student"); final ClassType sectionType = provider.getClassType("Section"); final Map<Type, SelectorQueryPlan> queryPlan = defaultSelectorQueryEngine.assembleQueryPlan(selector); assertNotNull(queryPlan); final SelectorQueryPlan plan = queryPlan.get(studentType); final List<Object> childPlans = plan.getChildQueryPlans(); assertEquals(1, childPlans.size()); @SuppressWarnings("unchecked") final Map<Type, SelectorQueryPlan> studentSectionPlanMap = (Map<Type, SelectorQueryPlan>) childPlans.get(0); assertNotNull(studentSectionPlanMap); final SelectorQueryPlan studentSectionPlan = studentSectionPlanMap.get(sectionType); assertNotNull(studentSectionPlan); }
@Override public SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector) { return buildQueryPlan(semanticSelector); }
DefaultSelectorQueryEngine implements SelectorQueryEngine, SelectorQueryVisitor { @Override public SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector) { return buildQueryPlan(semanticSelector); } }
DefaultSelectorQueryEngine implements SelectorQueryEngine, SelectorQueryVisitor { @Override public SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector) { return buildQueryPlan(semanticSelector); }  }
DefaultSelectorQueryEngine implements SelectorQueryEngine, SelectorQueryVisitor { @Override public SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector) { return buildQueryPlan(semanticSelector); }  @Override SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector); @Override SelectorQueryPlan visit(SelectorQueryVisitable visitable); SelectorQueryPlan visit(SemanticSelector semanticSelector); SelectorQueryPlan visit(BooleanSelectorElement booleanSelectorElement); SelectorQueryPlan visit(ComplexSelectorElement complexSelectorElement); SelectorQueryPlan visit(IncludeAllSelectorElement includeAllSelectorElement); SelectorQueryPlan visit(IncludeXSDSelectorElement includeXSDSelectorElement); SelectorQueryPlan visit(IncludeDefaultSelectorElement includeDefaultSelectorElement); SelectorQueryPlan visit(EmptySelectorElement emptySelectorElement); }
DefaultSelectorQueryEngine implements SelectorQueryEngine, SelectorQueryVisitor { @Override public SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector) { return buildQueryPlan(semanticSelector); }  @Override SelectorQuery assembleQueryPlan(SemanticSelector semanticSelector); @Override SelectorQueryPlan visit(SelectorQueryVisitable visitable); SelectorQueryPlan visit(SemanticSelector semanticSelector); SelectorQueryPlan visit(BooleanSelectorElement booleanSelectorElement); SelectorQueryPlan visit(ComplexSelectorElement complexSelectorElement); SelectorQueryPlan visit(IncludeAllSelectorElement includeAllSelectorElement); SelectorQueryPlan visit(IncludeXSDSelectorElement includeXSDSelectorElement); SelectorQueryPlan visit(IncludeDefaultSelectorElement includeDefaultSelectorElement); SelectorQueryPlan visit(EmptySelectorElement emptySelectorElement);  }