You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2014/03/27 17:47:44 UTC

svn commit: r1582394 - /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java

Author: rvesse
Date: Thu Mar 27 16:47:43 2014
New Revision: 1582394

URL: http://svn.apache.org/r1582394
Log:
Some minor abstraction in SPARQLParserBase to make it easier to extend sub-query parsing

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java?rev=1582394&r1=1582393&r2=1582394&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/lang/SPARQLParserBase.java Thu Mar 27 16:47:43 2014
@@ -29,6 +29,7 @@ import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.query.Query ;
 import com.hp.hpl.jena.query.QueryParseException ;
 import com.hp.hpl.jena.sparql.ARQInternalErrorException ;
+import com.hp.hpl.jena.sparql.core.Prologue;
 import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
@@ -204,12 +205,27 @@ public class SPARQLParserBase extends Pa
         return sink.createDeleteDataSink();
     }
     
-    protected void startSubSelect(int line, int col)
+    protected void pushQuery()
     {
         if ( query == null )
             throw new ARQInternalErrorException("Parser query object is null") ;
         stack.push(query) ;
-        query = new Query(getPrologue()) ;
+    }
+    
+    protected void startSubSelect(int line, int col)
+    {
+        pushQuery();
+        query = newSubQuery(getPrologue()) ;
+    }
+    
+    protected Query newSubQuery(Prologue progloue)
+    {
+        return new Query(getPrologue());
+    }
+    
+    protected void popQuery()
+    {
+        query = stack.pop();
     }
     
     protected Query endSubSelect(int line, int column)
@@ -217,7 +233,7 @@ public class SPARQLParserBase extends Pa
         Query subQuery = query ;
         if ( ! subQuery.isSelectType() )
             throwParseException("Subquery not a SELECT query", line, column) ;
-        query = stack.pop();
+        popQuery();
         return subQuery ;
     }