test_class.declarator: ast
test_class.modifier: private
test_class.original_string: private ASTQueryContainer ast;
test_class.type: ASTQueryContainer
test_class.var_name: ast
test_class.file: recommendation-servlet/src/test/java/org/sindice/analytics/queryProcessor/TestPointOfFocusProcessor.java
test_class.identifier: TestPointOfFocusProcessor
test_case.body: @Test
    public void testMaterializePOF()
    throws Exception {
      final String q = "SELECT ?s WHERE { ?s < ?o }";
      final String expectedAst = "QueryContainer\n" +
                                  " SelectQuery\n" +
                                  "  Select\n" +
                                  "   ProjectionElem\n" +
                                  "    Var (POF)\n" +
                                  "  WhereClause\n" +
                                  "   GraphPatternGroup\n" +
                                  "    BasicGraphPattern\n" +
                                  "     TriplesSameSubjectPath\n" +
                                  "      Var (s)\n" +
                                  "      PropertyListPath\n" +
                                  "       Var (POF)\n" +
                                  "       ObjectList\n" +
                                  "        Var (o)";
  
      ast = SyntaxTreeBuilder.parseQuery(q);
      PointOfFocusProcessor.process(ast);
      assertEquals(expectedAst, ast.dump(""));
    }
test_case.class_method_signature: TestPointOfFocusProcessor.testMaterializePOF()
test_case.full_signature: @Test public void testMaterializePOF()
test_case.identifier: testMaterializePOF
test_case.invocations: parseQuery process assertEquals dump
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMaterializePOF()
focal_class.file: recommendation-servlet/src/main/java/org/sindice/analytics/queryProcessor/PointOfFocusProcessor.java
focal_class.identifier: PointOfFocusProcessor
focal_class.class_method_signature: PointOfFocusProcessor.PointOfFocusProcessor()
focal_class.full_signature: private  PointOfFocusProcessor()
focal_class.identifier: PointOfFocusProcessor
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  PointOfFocusProcessor()
focal_class.class_method_signature: PointOfFocusProcessor.process(ASTQueryContainer ast)
focal_class.full_signature: public static RecommendationType process(ASTQueryContainer ast)
focal_class.identifier: process
focal_class.modifiers: public static
focal_class.parameters: (ASTQueryContainer ast)
focal_class.return: RecommendationType
focal_class.signature: RecommendationType process(ASTQueryContainer ast)
focal_method.body: public static RecommendationType process(ASTQueryContainer ast)
    throws VisitorException {
      final List<String> v = new ArrayList<String>();
  
      if (!(ast.getQuery() instanceof ASTSelectQuery)) { // Change to a SelectQuery
        final ASTSelectQuery selectQuery = new ASTSelectQuery(SyntaxTreeBuilderTreeConstants.JJTSELECTQUERY);
        final ASTSelect select = new ASTSelect(SyntaxTreeBuilderTreeConstants.JJTSELECT);
  
        selectQuery.jjtAppendChild(select);
        for (ASTDatasetClause d : ast.getQuery().getDatasetClauseList()) {
          selectQuery.jjtAppendChild(d);
        }
        selectQuery.jjtAppendChild(ast.getQuery().getWhereClause());
        if (!(ast.getQuery() instanceof ASTAskQuery)) {
          if (ast.getQuery().getGroupClause() != null) {
            selectQuery.jjtAppendChild(ast.getQuery().getGroupClause());
          }
          if (ast.getQuery().getHavingClause() != null) {
            selectQuery.jjtAppendChild(ast.getQuery().getHavingClause());
          }
          if (ast.getQuery().getOrderClause() != null) {
            selectQuery.jjtAppendChild(ast.getQuery().getOrderClause());
          }
          if (ast.getQuery().getLimit() != null) {
            selectQuery.jjtAppendChild(ast.getQuery().getLimit());
          }
          if (ast.getQuery().getOffset() != null) {
            selectQuery.jjtAppendChild(ast.getQuery().getOffset());
          }
        }
        if (ast.getQuery().getBindingsClause() != null) {
          selectQuery.jjtAppendChild(ast.getQuery().getBindingsClause());
        }
        ast.getQuery().jjtReplaceWith(selectQuery);
      }
      final ASTMaterializePointOfFocus matPOF = new ASTMaterializePointOfFocus();
      matPOF.visit(ast, v);
      final POFRecType type = new POFRecType();
      return (RecommendationType) type.visit(ast, RecommendationType.NONE);
    }
focal_method.class_method_signature: PointOfFocusProcessor.process(ASTQueryContainer ast)
focal_method.full_signature: public static RecommendationType process(ASTQueryContainer ast)
focal_method.identifier: process
focal_method.invocations: getQuery jjtAppendChild getDatasetClauseList getQuery jjtAppendChild jjtAppendChild getWhereClause getQuery getQuery getGroupClause getQuery jjtAppendChild getGroupClause getQuery getHavingClause getQuery jjtAppendChild getHavingClause getQuery getOrderClause getQuery jjtAppendChild getOrderClause getQuery getLimit getQuery jjtAppendChild getLimit getQuery getOffset getQuery jjtAppendChild getOffset getQuery getBindingsClause getQuery jjtAppendChild getBindingsClause getQuery jjtReplaceWith getQuery visit visit
focal_method.modifiers: public static
focal_method.parameters: (ASTQueryContainer ast)
focal_method.return: RecommendationType
focal_method.signature: RecommendationType process(ASTQueryContainer ast)