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 ;
}