test_class.file: recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestASTVarProcessor.java
test_class.identifier: TestASTVarProcessor
test_case.body: @Test
    public void testASTVar()
    throws Exception {
      final String query = "SELECT * { ?s ?p [ <name> ?n ] }";
      final ASTQueryContainer ast = SyntaxTreeBuilder.parseQuery(query);
  
      final String[] expectedVars = { "n", "p", "s" };
      final String[] actualVars = ASTVarProcessor.process(ast).toArray(new String[0]);
      Arrays.sort(actualVars);
      assertArrayEquals(expectedVars, actualVars);
    }
test_case.class_method_signature: TestASTVarProcessor.testASTVar()
test_case.full_signature: @Test public void testASTVar()
test_case.identifier: testASTVar
test_case.invocations: parseQuery toArray process sort assertArrayEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testASTVar()
focal_class.file: recommendation-servlet/src/main/java/org/sindice/analytics/queryProcessor/ASTVarProcessor.java
focal_class.identifier: ASTVarProcessor
focal_class.class_method_signature: ASTVarProcessor.ASTVarProcessor()
focal_class.full_signature: private  ASTVarProcessor()
focal_class.identifier: ASTVarProcessor
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  ASTVarProcessor()
focal_class.class_method_signature: ASTVarProcessor.process(ASTQueryContainer ast)
focal_class.full_signature: public static Set<String> process(ASTQueryContainer ast)
focal_class.identifier: process
focal_class.modifiers: public static
focal_class.parameters: (ASTQueryContainer ast)
focal_class.return: Set<String>
focal_class.signature: Set<String> process(ASTQueryContainer ast)
focal_method.body: public static Set<String> process(ASTQueryContainer ast)
    throws VisitorException {
      final Set<String> vars = new HashSet<String>();
  
      final ASTVarProcessorVisitor v = new ASTVarProcessorVisitor();
      v.visit(ast, vars);
      return vars;
    }
focal_method.class_method_signature: ASTVarProcessor.process(ASTQueryContainer ast)
focal_method.full_signature: public static Set<String> process(ASTQueryContainer ast)
focal_method.identifier: process
focal_method.invocations: visit
focal_method.modifiers: public static
focal_method.parameters: (ASTQueryContainer ast)
focal_method.return: Set<String>
focal_method.signature: Set<String> process(ASTQueryContainer ast)