You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/09/22 18:41:06 UTC

svn commit: r1174251 - in /incubator/jena: Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/ Jena2/ARQ/trunk/ Jena2/ARQ/trunk/src-dev/dev/ Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/ Jena2/ARQ/trunk/src-test/com/hp/hpl/...

Author: andy
Date: Thu Sep 22 16:41:05 2011
New Revision: 1174251

URL: http://svn.apache.org/viewvc?rev=1174251&view=rev
Log:
JENA-121 : Remove .add and .addAll from interface Binding.

Removed:
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterFixed.java
Modified:
    incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java
    incubator/jena/Jena2/ARQ/trunk/Q.rq
    incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
    incubator/jena/Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/localname.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestAPI.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestQueryExecutionTimeout.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/expr/TestExpressions.java
    incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/resultset/TestResultSet.java
    incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestDistinctDataBag.java
    incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestSortedDataBag.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/HitConverter.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/LuceneSearch.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/Algebra.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/Binding.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFactory.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFixed.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingInputStream.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingUtils.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingWrapped.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterAssign.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterBlockTriplesQH.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterDistinctReduced.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterTriplePattern.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/graph/Reifier2.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/lang/ParserQueryBase.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/modify/UpdateProcessorBase.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/listIndex.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/splitIRI.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/version.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/versionARQ.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/RDFInput.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/SPARQLResult.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/TSVInput.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputSAX.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/sse/builders/BuilderBinding.java
    incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/tokens/TokenizerText.java
    incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java

Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java Thu Sep 22 16:41:05 2011
@@ -169,7 +169,7 @@ public class SolverLib
         else
         {
             // Makes nodes immediately.  Causing unecessary NodeTable accesses (e.g. project) 
-            Binding b = new BindingMap() ;
+            BindingMap b = BindingFactory.create() ;
             for ( Var v : bindingNodeIds )
             {
                 NodeId id = bindingNodeIds.get(v) ;

Modified: incubator/jena/Jena2/ARQ/trunk/Q.rq
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/Q.rq?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/Q.rq (original)
+++ incubator/jena/Jena2/ARQ/trunk/Q.rq Thu Sep 22 16:41:05 2011
@@ -1,6 +1,5 @@
 PREFIX :	<http://www.example.org/>
 
-SELECT DISTINCT ?x 
-{
-   ?x :p 123 .
-} ORDER BY ?x LIMIT 2
+SELECT (count(*) AS ?c)
+{ ?s ?p ?o
+} GROUP BY ?s

Modified: incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java Thu Sep 22 16:41:05 2011
@@ -8,9 +8,9 @@
 
 package dev;
 
-import java.io.ByteArrayInputStream ;
-import java.io.ByteArrayOutputStream ;
 import java.io.FileInputStream ;
+import java.io.FileNotFoundException ;
+import java.io.IOException ;
 import java.io.InputStream ;
 import java.util.Iterator ;
 import java.util.NoSuchElementException ;
@@ -24,13 +24,14 @@ import org.openjena.atlas.json.JSON ;
 import org.openjena.atlas.json.JsonValue ;
 import org.openjena.atlas.lib.Lib ;
 import org.openjena.atlas.lib.Sink ;
+import org.openjena.atlas.lib.SinkNull ;
 import org.openjena.atlas.lib.StrUtils ;
 import org.openjena.atlas.logging.Log ;
 import org.openjena.riot.ErrorHandlerFactory ;
 import org.openjena.riot.RiotReader ;
 import org.openjena.riot.checker.CheckerIRI ;
+import org.openjena.riot.lang.LangRIOT ;
 import org.openjena.riot.pipeline.normalize.CanonicalizeLiteral ;
-import org.openjena.riot.system.PrefixMap ;
 import org.openjena.riot.tokens.Token ;
 import org.openjena.riot.tokens.Tokenizer ;
 import org.openjena.riot.tokens.TokenizerFactory ;
@@ -61,13 +62,11 @@ import com.hp.hpl.jena.sparql.algebra.Al
 import com.hp.hpl.jena.sparql.algebra.Op ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
-import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.sparql.core.assembler.AssemblerUtils ;
 import com.hp.hpl.jena.sparql.core.assembler.DatasetAssemblerVocab ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryExecutionBase ;
-import com.hp.hpl.jena.sparql.engine.binding.Binding ;
-import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingInputStream ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingOutputStream ;
 import com.hp.hpl.jena.sparql.expr.Expr ;
@@ -125,32 +124,27 @@ public class RunARQ
     @SuppressWarnings("deprecation")
     public static void main(String[] argv) throws Exception
     {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
-        Binding b = BindingFactory.create();
-        b.add(Var.alloc("test"), Node.createLiteral("21", null, XSDDatatype.XSDint));
+        Sink<Quad> sink = new SinkNull<Quad>() ;
 
-        PrefixMap pmap = new PrefixMap() ;
-        pmap.add("xsd",  XSDDatatype.XSD+"#") ;
-        
-        BindingOutputStream bos = new BindingOutputStream(baos, pmap);
-        bos.write(b);
-        bos.flush() ;
-
-        String x = baos.toString() ;
-        System.out.print(x) ;
-
-        bos.close();
+        FileInputStream fis = null;
 
-        BindingInputStream bis =
-                new BindingInputStream(new ByteArrayInputStream(
-                        baos.toByteArray()));
+        LangRIOT parser = null;
+        try {
+            fis = new FileInputStream("/home/afs/Desktop/X") ; // ("/absolute/path/to/nquads-chunk");
+            parser = RiotReader.createParserNQuads(fis, sink);
+            parser.parse();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                fis.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
 
-        System.out.println(bis.next());
         exit(0) ;
-
-        
-        
         arq.sparql.main("--data=D.ttl", "--query=Q1.rq") ;
         exit(0) ;
         

Modified: incubator/jena/Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/localname.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/localname.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/localname.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-examples/arq/examples/propertyfunction/localname.java Thu Sep 22 16:41:05 2011
@@ -125,7 +125,7 @@ public class localname extends PFuncSimp
         if ( nodeLocalname.isVariable() )
         {
             // Object is an unbound variable.
-            Binding b = new BindingMap(input) ;
+            BindingMap b = BindingFactory.create(input) ;
             // Bind a pair for subject and object variables
             b.add(Var.alloc(subjVar), node) ;
             b.add(Var.alloc(nodeLocalname), localname) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestAPI.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestAPI.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestAPI.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestAPI.java Thu Sep 22 16:41:05 2011
@@ -6,8 +6,8 @@
 
 package com.hp.hpl.jena.sparql.api;
 
-import junit.framework.TestCase ;
 import org.junit.Test ;
+import org.openjena.atlas.junit.BaseTest ;
 
 import com.hp.hpl.jena.query.Query ;
 import com.hp.hpl.jena.query.QueryExecution ;
@@ -24,7 +24,7 @@ import com.hp.hpl.jena.rdf.model.Resourc
 import com.hp.hpl.jena.sparql.util.graph.GraphFactory ;
 import com.hp.hpl.jena.vocabulary.OWL ;
 
-public class TestAPI extends TestCase
+public class TestAPI extends BaseTest
 {
     private static final String ns = "http://example/ns#" ;
     
@@ -39,14 +39,6 @@ public class TestAPI extends TestCase
         m.add(r1, p3, "y1") ;
     }
     
-    @Override
-    public void setUp()
-    {}
-
-    @Override
-    public void tearDown()
-    {}
-    
     @Test public void testInitialBindingsConstruct()
     {
         QueryExecution qExec = makeQExec("CONSTRUCT {?s ?p ?z} {?s ?p 'x1'}") ;
@@ -165,6 +157,40 @@ public class TestAPI extends TestCase
         qexec.close() ;
     }
     
+    @Test public void testReuseQueryObject1()
+    {
+        String queryString = "SELECT * {?s ?p ?o}";
+        Query q = QueryFactory.create(queryString) ;
+        
+        QueryExecution qExec = QueryExecutionFactory.create(q, m) ;
+        int count = queryAndCount(qExec) ;
+        assertEquals(3, count) ;
+        
+        qExec = QueryExecutionFactory.create(q, m) ;
+        count = queryAndCount(qExec) ;
+        assertEquals(3, count) ;
+    }
+    
+    
+    @Test(expected=AssertionError.class) public void testReuseQueryObject2()
+    {
+        String queryString = "SELECT (count(?s) AS ?c) {?s ?p ?o} GROUP BY ?s";
+        Query q = QueryFactory.create(queryString) ;
+        
+        QueryExecution qExec = QueryExecutionFactory.create(q, m) ;
+        
+        ResultSet rs = qExec.execSelect() ;
+        QuerySolution qs = rs.nextSolution() ;
+        assertEquals(3, qs.getLiteral("c").getInt()) ;
+        qExec.close() ;
+        
+        qExec = QueryExecutionFactory.create(q, m) ;
+        rs = qExec.execSelect() ;
+        qs = rs.nextSolution() ;
+        assertEquals(3, qs.getLiteral("c").getInt()) ;
+        qExec.close() ;
+    }
+    
     
 //    // Execute a test both with and without regex optimization enabled
 //    // Check the number of results

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestQueryExecutionTimeout.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestQueryExecutionTimeout.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestQueryExecutionTimeout.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/api/TestQueryExecutionTimeout.java Thu Sep 22 16:41:05 2011
@@ -149,7 +149,7 @@ public class TestQueryExecutionTimeout e
     {
         String qs = prefix + "SELECT * { ?s ?p ?o }" ;
         QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ;
-        qExec.setTimeout(200, TimeUnit.MILLISECONDS, -1, TimeUnit.MILLISECONDS) ;
+        qExec.setTimeout(500, TimeUnit.MILLISECONDS, -1, TimeUnit.MILLISECONDS) ;
         ResultSet rs = qExec.execSelect() ;
         rs.next() ; // First timeout does not go off. Resets timers.
         rs.next() ; // Second timeout never goes off 

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/binding/TestBindingStreams.java Thu Sep 22 16:41:05 2011
@@ -99,7 +99,7 @@ public class TestBindingStreams extends 
     @Test
     public void bindingStream_61()
     {
-        Binding b = BindingFactory.create() ;
+        BindingMap b = BindingFactory.create() ;
         Node bn = Node.createAnon(new AnonId("unusual")) ;
         b.add(Var.alloc("v"), bn) ;
         testWriteRead(b) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/engine/iterator/TestQueryIterSort.java Thu Sep 22 16:41:05 2011
@@ -48,6 +48,7 @@ import com.hp.hpl.jena.sparql.engine.Que
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingComparator ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.main.OpExecutorFactory ;
 import com.hp.hpl.jena.sparql.expr.ExprVar ;
 import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
@@ -247,7 +248,7 @@ public class TestQueryIterSort {
 
     private Binding randomBinding(Var[] vars)
     {
-        Binding binding = BindingFactory.create();
+        BindingMap binding = BindingFactory.create();
         binding.add(vars[0], Node.createAnon());
         binding.add(vars[1], Node.createURI(randomURI()));
         binding.add(vars[2], Node.createURI(randomURI()));

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/expr/TestExpressions.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/expr/TestExpressions.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/expr/TestExpressions.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/expr/TestExpressions.java Thu Sep 22 16:41:05 2011
@@ -378,11 +378,13 @@ public class TestExpressions
         query.setPrefix("select",  selNS) ;
     }
     static String xsd = XSDDatatype.XSD+"#" ;
-    static Binding env = new BindingMap() ;
+    static Binding env ; 
     static {
-        env.add(Var.alloc("a"), Node.createLiteral("A")) ;
-        env.add(Var.alloc("b"), Node.createAnon()) ;
-        env.add(Var.alloc("x"), Node.createURI("urn:x")) ;
+        BindingMap b = new BindingMap() ;
+        b.add(Var.alloc("a"), Node.createLiteral("A")) ;
+        b.add(Var.alloc("b"), Node.createAnon()) ;
+        b.add(Var.alloc("x"), Node.createURI("urn:x")) ;
+        env = b ;
     }
 
     private static Expr parse(String exprString)

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/resultset/TestResultSet.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/resultset/TestResultSet.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/resultset/TestResultSet.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/com/hp/hpl/jena/sparql/resultset/TestResultSet.java Thu Sep 22 16:41:05 2011
@@ -320,7 +320,7 @@ public class TestResultSet extends BaseT
     
     private ResultSet make(String var, Node val)
     {
-        Binding b = new BindingMap() ;
+        BindingMap b = new BindingMap() ;
         b.add(Var.alloc(var), val) ;
         List<String> vars = new ArrayList<String>() ;
         vars.add(var) ;
@@ -331,9 +331,9 @@ public class TestResultSet extends BaseT
 
     private ResultSet make2(String var, Node val)
     {
-        Binding b1 = new BindingMap() ;
+        BindingMap b1 = new BindingMap() ;
         b1.add(Var.alloc(var), val) ;
-        Binding b2 = new BindingMap() ;
+        BindingMap b2 = new BindingMap() ;
         b2.add(Var.alloc(var), val) ;
         
         List<String> vars = new ArrayList<String>() ;
@@ -365,7 +365,7 @@ public class TestResultSet extends BaseT
     
     private ResultSet make(String var1, Node val1, String var2, Node val2 )
     {
-        Binding b = new BindingMap() ;
+        BindingMap b = new BindingMap() ;
         
         b.add(Var.alloc(var1), val1) ;
         b.add(Var.alloc(var2), val2) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestDistinctDataBag.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestDistinctDataBag.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestDistinctDataBag.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestDistinctDataBag.java Thu Sep 22 16:41:05 2011
@@ -37,6 +37,7 @@ 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.BindingComparator ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.resultset.ResultSetCompare ;
 import com.hp.hpl.jena.sparql.sse.Item ;
 import com.hp.hpl.jena.sparql.sse.SSE ;
@@ -159,7 +160,7 @@ public class TestDistinctDataBag extends
     
     private Binding randomBinding(Var[] vars)
     {
-        Binding binding = BindingFactory.create();
+        BindingMap binding = BindingFactory.create();
         binding.add(vars[0], Node.createAnon());
         binding.add(vars[1], Node.createURI(randomURI()));
         binding.add(vars[2], Node.createURI(randomURI()));

Modified: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestSortedDataBag.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestSortedDataBag.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestSortedDataBag.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/data/TestSortedDataBag.java Thu Sep 22 16:41:05 2011
@@ -42,6 +42,7 @@ import com.hp.hpl.jena.sparql.engine.Que
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingComparator ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.expr.ExprVar ;
 
 public class TestSortedDataBag extends TestCase
@@ -147,7 +148,7 @@ public class TestSortedDataBag extends T
     
     private Binding randomBinding(Var[] vars)
     {
-        Binding binding = BindingFactory.create();
+        BindingMap binding = BindingFactory.create();
         binding.add(vars[0], Node.createAnon());
         binding.add(vars[1], Node.createURI(randomURI()));
         binding.add(vars[2], Node.createURI(randomURI()));

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/HitConverter.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/HitConverter.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/HitConverter.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/HitConverter.java Thu Sep 22 16:41:05 2011
@@ -8,6 +8,7 @@ package com.hp.hpl.jena.query.larq;
 
 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 ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.util.NodeFactory ;
 import com.hp.hpl.jena.util.iterator.Map1 ;
@@ -30,7 +31,7 @@ class HitConverter implements Map1<HitLA
     
     public Binding map1(HitLARQ hit)
     {
-        Binding b = new BindingMap(binding) ;
+        BindingMap b = BindingFactory.create(binding) ;
         b.add(Var.alloc(subject), hit.getNode()) ;
         if ( score != null )
             b.add(Var.alloc(score), NodeFactory.floatToNode(hit.getScore())) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/LuceneSearch.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/LuceneSearch.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/LuceneSearch.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/query/larq/LuceneSearch.java Thu Sep 22 16:41:05 2011
@@ -19,6 +19,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.iterator.QueryIterNullIterator ;
 import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
@@ -224,13 +225,12 @@ public abstract class LuceneSearch exten
         
         public Binding map1(HitLARQ hit)
         {
-            Binding b = new BindingMap(binding) ;
+            BindingMap b = BindingFactory.create(binding) ;
             b.add(match, hit.getNode()) ;
             if ( score != null )
                 b.add(score, NodeFactory.floatToNode(hit.getScore())) ;
             return b ;
         }
-        
     }
     
     public QueryIterator boundSubject(Binding binding, 

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/Algebra.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/Algebra.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/Algebra.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/algebra/Algebra.java Thu Sep 22 16:41:05 2011
@@ -25,6 +25,7 @@ import com.hp.hpl.jena.sparql.engine.Que
 import com.hp.hpl.jena.sparql.engine.QueryEngineRegistry ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingRoot ;
 import com.hp.hpl.jena.sparql.engine.ref.QueryEngineRef ;
@@ -167,7 +168,7 @@ public class Algebra
             return null ;
         
         // If compatible, merge. Iterate over variables in right but not in left.
-        Binding b = new BindingMap(bindingLeft) ;
+        BindingMap b = BindingFactory.create(bindingLeft) ;
         for ( Iterator<Var> vIter = bindingRight.vars() ; vIter.hasNext() ; )
         {
             Var v = vIter.next();

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/QueryExecutionBase.java Thu Sep 22 16:41:05 2011
@@ -42,7 +42,6 @@ import com.hp.hpl.jena.sparql.core.Datas
 import com.hp.hpl.jena.sparql.core.describe.DescribeHandler ;
 import com.hp.hpl.jena.sparql.core.describe.DescribeHandlerRegistry ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
-import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingRoot ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
 import com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase ;
@@ -484,10 +483,7 @@ public class QueryExecutionBase implemen
             DatasetGraph dsg = prepareDataset(dataset, query, fileManager) ;
             Binding inputBinding = null ;
             if ( initialBinding != null )
-            {
-                inputBinding = new BindingMap() ;
-                BindingUtils.addToBinding(inputBinding, initialBinding) ;
-            }
+                inputBinding = BindingUtils.asBinding(initialBinding) ;
             if ( inputBinding == null )
                 inputBinding = BindingRoot.create() ;
 

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/Binding.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/Binding.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/Binding.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/Binding.java Thu Sep 22 16:41:05 2011
@@ -14,8 +14,8 @@ import com.hp.hpl.jena.sparql.core.Var ;
 
 public interface Binding
 {
-    /** Add a (var, value) pair- the value must not be null */
-    public void add(Var var, Node node) ;
+//    /** Add a (var, value) pair- the value must not be null */
+//    public void add(Var var, Node node) ;
 
     /** Iterate over all variables of this binding. */
     public Iterator<Var> vars() ;
@@ -32,8 +32,7 @@ public interface Binding
     /** Is this an empty binding?  No variables. */
     public boolean isEmpty() ;
 
-    public void addAll(Binding key) ;
-
+//    public void addAll(Binding key) ;
 }
 
 /*

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFactory.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFactory.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFactory.java Thu Sep 22 16:41:05 2011
@@ -29,8 +29,8 @@ public class BindingFactory
         return new Binding1(parent, var, node) ;
     }
     
-    public static Binding create() { return create(noParent) ; }
-    public static Binding create(Binding parent) { return new BindingMap(parent)  ; }
+    public static BindingMap create() { return create(noParent) ; }
+    public static BindingMap create(Binding parent) { return new BindingMap(parent)  ; }
 }
 
 /*

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFixed.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFixed.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFixed.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingFixed.java Thu Sep 22 16:41:05 2011
@@ -41,10 +41,6 @@ public class BindingFixed extends Bindin
     }
         
     @Override
-    public void add(Var var, Node node)
-    { throw new UnsupportedOperationException("BindingFixed.add") ; }
-
-    @Override
     public boolean equals(Object obj)
     {
         if ( this == obj ) return true ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingInputStream.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingInputStream.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingInputStream.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingInputStream.java Thu Sep 22 16:41:05 2011
@@ -170,7 +170,7 @@ public class BindingInputStream extends 
         {
             directives() ;
 
-            Binding binding = BindingFactory.create() ;
+            BindingMap binding = BindingFactory.create() ;
 
             int i = 0 ;
             

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingUtils.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingUtils.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingUtils.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingUtils.java Thu Sep 22 16:41:05 2011
@@ -45,12 +45,12 @@ public class BindingUtils
         if ( qSolution instanceof ResultBinding )
             // Only named variables.
             return new BindingProjectNamed( ((ResultBinding)qSolution).getBinding() ) ;
-        Binding binding = new BindingMap(null) ;
+        BindingMap binding = new BindingMap(null) ;
         addToBinding(binding, qSolution) ;
         return binding ;
     }
         
-    public static void addToBinding(Binding binding, QuerySolution qSolution)
+    public static void addToBinding(BindingMap binding, QuerySolution qSolution)
     {
         if ( qSolution == null )
             return ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingWrapped.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingWrapped.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingWrapped.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/binding/BindingWrapped.java Thu Sep 22 16:41:05 2011
@@ -12,7 +12,6 @@ import com.hp.hpl.jena.sparql.core.Var ;
 
 /** A binding that wraps another. */
 
-
 public class BindingWrapped implements Binding
 {
     protected Binding binding ;
@@ -20,14 +19,6 @@ public class BindingWrapped implements B
     public BindingWrapped(Binding other) { binding = other; } 
     
     public Binding getWrapped() { return binding ; }
-    
-    public void add(Var var, Node node)
-    { 
-        if ( ! Var.isAnonVar(var) )
-        binding.add(var, node) ; }
-
-    public void addAll(Binding other)
-    { binding.addAll(other) ; }
 
     public boolean contains(Var var)
     {

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterAssign.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterAssign.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterAssign.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterAssign.java Thu Sep 22 16:41:05 2011
@@ -14,6 +14,7 @@ import com.hp.hpl.jena.sparql.core.VarEx
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 
 /** Extend each solution by an expressions */ 
@@ -37,7 +38,7 @@ public class QueryIterAssign extends Que
     @Override
     public Binding accept(Binding binding)
     {
-        Binding b = new BindingMap(binding) ;
+        BindingMap b = BindingFactory.create(binding) ;
         for ( Var v : exprs.getVars() )
         {
             // Not this, where expressions do not see the new bindings.

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterBlockTriplesQH.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterBlockTriplesQH.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterBlockTriplesQH.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterBlockTriplesQH.java Thu Sep 22 16:41:05 2011
@@ -24,6 +24,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
 import com.hp.hpl.jena.sparql.util.FmtUtils ;
@@ -172,7 +173,7 @@ public class QueryIterBlockTriplesQH ext
     private static Binding graphResultsToBinding(Binding parent, Domain d, Var[] projectionVars)
     {
         // Copy out
-        Binding binding = new BindingMap(parent) ;
+        BindingMap binding = BindingFactory.create(parent) ;
         
         for ( int i = 0 ; i < projectionVars.length ; i++ )
         {

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterDistinctReduced.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterDistinctReduced.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterDistinctReduced.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterDistinctReduced.java Thu Sep 22 16:41:05 2011
@@ -18,7 +18,7 @@ public abstract class QueryIterDistinctR
     Binding slot = null ;       // ready to go.
     
     public QueryIterDistinctReduced(QueryIterator iter, ExecutionContext context)
-    { super(QueryIterFixed.create(iter, context), context)  ; }
+    { super(iter, context)  ; }
 
     // Subclasses will want to implement this as well. 
     @Override

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java Thu Sep 22 16:41:05 2011
@@ -6,6 +6,7 @@
 
 package com.hp.hpl.jena.sparql.engine.iterator;
 
+import java.util.ArrayList ;
 import java.util.HashMap ;
 import java.util.Iterator ;
 import java.util.List ;
@@ -19,6 +20,7 @@ import com.hp.hpl.jena.sparql.core.VarEx
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingKey ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.expr.ExprAggregator ;
@@ -91,7 +93,7 @@ public class QueryIterGroup extends Quer
     		    {
     		        // The answer of an empty pattern. 
     		        boolean valueExists = false ;
-    		        Binding binding = new BindingMap() ;
+    		        BindingMap binding = BindingFactory.create() ;
 
     		        if ( aggregators != null )
     		        {
@@ -117,19 +119,18 @@ public class QueryIterGroup extends Quer
     		            return new QueryIterNullIterator(execCxt) ;
     		            
     		    }
-    		        
 
     		    // Phase 2 : There was input and so there are some groups.
-
     		    // For each bucket, get binding, add aggregator values to the binding.
     		    if ( aggregators != null )
     		    {
+                    List<Binding> results = new ArrayList<Binding>() ;
     		        for ( Iterator<BindingKey> bIter = buckets.keySet().iterator() ; bIter.hasNext(); )
     		        {
     		            BindingKey key = bIter.next();
 
     		            // Maybe null
-    		            Binding binding = buckets.get(key) ; // == key.getBinding() ;
+    		            BindingMap binding = BindingFactory.create(key.getBinding()) ;
 
     		            for ( Iterator<ExprAggregator> aggIter = aggregators.iterator() ; aggIter.hasNext() ; )
     		            {
@@ -140,11 +141,13 @@ public class QueryIterGroup extends Quer
     		                    // Extend with the aggregations.
     		                    binding.add(v, value) ;
     		            }
+    		            results.add(binding) ;
+    		            // the values are in binding
     		        }
+    		        return results.iterator() ;
     		    }
-
-    		    // Results - the binding modified by the aggregations.
-    		    return buckets.values().iterator() ;
+    		    else
+    		        return buckets.values().iterator() ;
     		}
     	};
     	
@@ -159,7 +162,7 @@ public class QueryIterGroup extends Quer
     {
         // No group vars (implicit or explicit) => working on whole result set. 
         // Still need a BindingMap to assign to later.
-        Binding x = new BindingMap() ;
+        BindingMap x = BindingFactory.create() ;
         for ( Iterator<Var> iter = vars.getVars().iterator() ; iter.hasNext() ; )
         {
             Var var = iter.next() ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterTriplePattern.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterTriplePattern.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterTriplePattern.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterTriplePattern.java Thu Sep 22 16:41:05 2011
@@ -19,6 +19,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.util.iterator.ClosableIterator ;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
@@ -101,7 +102,7 @@ public class QueryIterTriplePattern exte
 
         private Binding mapper(Triple r)
         {
-            Binding results = new BindingMap(binding) ;
+            BindingMap results = BindingFactory.create(binding) ;
 
             if ( ! insert(s, r.getSubject(), results) )
                 return null ; 
@@ -112,7 +113,7 @@ public class QueryIterTriplePattern exte
             return results ;
         }
 
-        private static boolean insert(Node inputNode, Node outputNode, Binding results)
+        private static boolean insert(Node inputNode, Node outputNode, BindingMap results)
         {
             if ( ! Var.isVar(inputNode) )
                 return true ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/graph/Reifier2.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/graph/Reifier2.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/graph/Reifier2.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/graph/Reifier2.java Thu Sep 22 16:41:05 2011
@@ -114,15 +114,16 @@ public class Reifier2 implements Reifier
         
         if ( node != null || triple != null )
         {
-            b = new BindingMap(b) ;
+            BindingMap b2 = new BindingMap(b) ;
             if ( node != null )
-                bind(b, reifNodeVar, node) ; 
+                bind(b2, reifNodeVar, node) ; 
             if ( triple != null )
             {
-                bind(b, varS, triple.getMatchSubject()) ;
-                bind(b, varP, triple.getMatchPredicate()) ;
-                bind(b, varO, triple.getMatchObject()) ;
+                bind(b2, varS, triple.getMatchSubject()) ;
+                bind(b2, varP, triple.getMatchPredicate()) ;
+                bind(b2, varO, triple.getMatchObject()) ;
             }
+            b = b2 ;
         }
         
         Plan plan = factory.create(op, ds, b, null) ;
@@ -130,7 +131,7 @@ public class Reifier2 implements Reifier
         return qIter ;
     }
     
-    private static void bind(Binding b, Var var, Node node)
+    private static void bind(BindingMap b, Var var, Node node)
     {
         if ( node == null || node == Node.ANY )
             return ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/lang/ParserQueryBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/lang/ParserQueryBase.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/lang/ParserQueryBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/lang/ParserQueryBase.java Thu Sep 22 16:41:05 2011
@@ -150,7 +150,7 @@ public class ParserQueryBase extends Par
         values = new ArrayList<Binding>() ;
     }
     
-    private Binding currentValueRow()                            { return values.get(values.size()-1) ; }
+    private BindingMap currentValueRow()                            { return (BindingMap)values.get(values.size()-1) ; }
     
     protected void emitBindingVariable(Var v, int line, int col)    { variables.add(v) ; }
     
@@ -184,7 +184,6 @@ public class ParserQueryBase extends Par
             msg = QueryParseException.formatMessage(msg, line, col) ;
             throw new QueryParseException(msg, line , col) ;
         }
-        
     }
     
     protected void finishBinding(int line, int col)

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/modify/UpdateProcessorBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/modify/UpdateProcessorBase.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/modify/UpdateProcessorBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/modify/UpdateProcessorBase.java Thu Sep 22 16:41:05 2011
@@ -9,6 +9,7 @@ package com.hp.hpl.jena.sparql.modify;
 import com.hp.hpl.jena.query.ARQ ;
 import com.hp.hpl.jena.query.QuerySolution ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingUtils ;
 import com.hp.hpl.jena.sparql.util.Context ;
@@ -21,7 +22,7 @@ import com.hp.hpl.jena.update.UpdateRequ
  */
 public class UpdateProcessorBase implements UpdateProcessor
 {
-    protected Binding initialBinding = new BindingMap() ;
+    protected BindingMap initialBinding = BindingFactory.create() ;
     protected final UpdateRequest request ;
     protected final GraphStore graphStore ;
     protected final UpdateEngineFactory factory ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/listIndex.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/listIndex.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/listIndex.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/listIndex.java Thu Sep 22 16:41:05 2011
@@ -16,6 +16,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
 import com.hp.hpl.jena.sparql.expr.ExprEvalException ;
@@ -133,7 +134,7 @@ public class listIndex extends ListBaseL
         {
             Node idx = NodeFactory.intToNode(i) ;
             Node member = members.get(i) ;
-            Binding b = new BindingMap(binding) ;
+            BindingMap b = BindingFactory.create(binding) ;
             b.add(varIndex, idx) ;
             b.add(varMember, member) ;
             bindings.add(b) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/splitIRI.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/splitIRI.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/splitIRI.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/splitIRI.java Thu Sep 22 16:41:05 2011
@@ -80,8 +80,8 @@ public class splitIRI extends PropertyFu
         Node localnameNode = argObject.getArg(1) ;
         
         // New binding to return.
-        Binding b = null ;
-        if ( namespaceNode.isVariable() || localnameNode.isVariable() )
+        BindingMap b = null ;
+        if ( Var.isVar(namespaceNode) || Var.isVar(localnameNode) )
             b = new BindingMap(binding) ;
         
         if ( Var.isVar(namespaceNode) ) // .isVariable() )
@@ -114,8 +114,8 @@ public class splitIRI extends PropertyFu
             if ( lc == null || ! lc.equals(localname) )
                 return IterLib.noResults(execCxt) ;
         }
-        if ( b == null )
-            b = binding ;
+        
+        Binding b2 = ( b == null ) ? binding : b ;
         return IterLib.result(b, execCxt) ;
     }
 

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/version.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/version.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/version.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/version.java Thu Sep 22 16:41:05 2011
@@ -16,6 +16,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
 import com.hp.hpl.jena.sparql.mgt.SystemInfo ;
@@ -48,7 +49,7 @@ public class version extends PropertyFun
             if ( ! isSameOrVar(obj, version) ) 
                 continue ;
             
-            Binding b = new BindingMap(binding) ;
+            BindingMap b = BindingFactory.create(binding) ;
             if ( subj.isVariable() )
                 b.add(Var.alloc(subj), info.getIRI()) ;
             if ( subj.isVariable() )

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/versionARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/versionARQ.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/versionARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/pfunction/library/versionARQ.java Thu Sep 22 16:41:05 2011
@@ -12,6 +12,7 @@ import com.hp.hpl.jena.sparql.core.Var ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.expr.NodeValue ;
 import com.hp.hpl.jena.sparql.pfunction.PropFuncArg ;
@@ -33,16 +34,14 @@ public class versionARQ extends Property
     @Override
     public QueryIterator execEvaluated(Binding binding, PropFuncArg subject, Node predicate, PropFuncArg object, ExecutionContext execCxt)
     {
-        Binding b = new BindingMap(binding) ;
-        
+        BindingMap b = BindingFactory.create(binding) ;
+
         Node subj = subject.getArg() ;
-        
         if ( ! isSameOrVar(subj, arq) ) IterLib.noResults(execCxt) ;
         if ( subj.isVariable() )
             b.add(Var.alloc(subj), arq) ;
 
         Node obj = object.getArg() ;
-
         if ( ! isSameOrVar(obj, version) ) IterLib.noResults(execCxt) ;
         if ( obj.isVariable() )
             b.add(Var.alloc(obj), version) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/JSONInput.java Thu Sep 22 16:41:05 2011
@@ -281,7 +281,7 @@ public class JSONInput extends SPARQLRes
                 if (row < 0 || row >= jbindings.size())
                     return null;
                 
-                Binding binding = new BindingMap() ;
+                BindingMap binding = new BindingMap() ;
                 JsonObject jsolution = jbindings.get(row).getAsObject() ;
                 
                 for ( String varName : jsolution.keys() )  

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/RDFInput.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/RDFInput.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/RDFInput.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/RDFInput.java Thu Sep 22 16:41:05 2011
@@ -18,6 +18,7 @@ import com.hp.hpl.jena.shared.JenaExcept
 import com.hp.hpl.jena.shared.PropertyNotFoundException ;
 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 ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import org.openjena.atlas.logging.Log ;
 import com.hp.hpl.jena.sparql.vocabulary.ResultSetGraphVocab ;
@@ -146,7 +147,7 @@ public class RDFInput extends ResultSetM
     private Binding buildBinding(Resource soln)
     {
         // foreach row
-        Binding rb = new BindingMap() ;
+        BindingMap rb = BindingFactory.create() ;
         
         StmtIterator bindingIter = soln.listProperties(ResultSetGraphVocab.binding) ;
         for ( ; bindingIter.hasNext() ; )

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/SPARQLResult.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/SPARQLResult.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/SPARQLResult.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/SPARQLResult.java Thu Sep 22 16:41:05 2011
@@ -13,7 +13,7 @@ import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.query.ResultSet ;
 import com.hp.hpl.jena.rdf.model.Model ;
 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.BindingMap ;
 
 /**
  * The class "ResultSet" is reserved for the SELECT result format.
@@ -103,7 +103,7 @@ public class SPARQLResult
     protected void set(Boolean r)
     { booleanResult  = r ;  hasBeenSet = true ; }
     
-    static protected void addBinding(Binding binding, Var var, Node value)
+    static protected void addBinding(BindingMap binding, Var var, Node value)
     {
         Node n = binding.get(var) ;
         if ( n != null )

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/TSVInput.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/TSVInput.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/TSVInput.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/TSVInput.java Thu Sep 22 16:41:05 2011
@@ -18,25 +18,26 @@
 
 package com.hp.hpl.jena.sparql.resultset;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.openjena.atlas.io.IO;
-import org.openjena.riot.tokens.Tokenizer;
-import org.openjena.riot.tokens.TokenizerFactory;
-
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.query.ResultSet;
-import com.hp.hpl.jena.sparql.ARQException;
-import com.hp.hpl.jena.sparql.core.Var;
-import com.hp.hpl.jena.sparql.engine.ResultSetStream;
-import com.hp.hpl.jena.sparql.engine.binding.Binding;
-import com.hp.hpl.jena.sparql.engine.binding.BindingFactory;
-import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper;
+import java.io.BufferedReader ;
+import java.io.IOException ;
+import java.io.InputStream ;
+import java.util.ArrayList ;
+import java.util.List ;
+import java.util.regex.Pattern ;
+
+import org.openjena.atlas.io.IO ;
+import org.openjena.riot.tokens.Tokenizer ;
+import org.openjena.riot.tokens.TokenizerFactory ;
+
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.query.ResultSet ;
+import com.hp.hpl.jena.sparql.ARQException ;
+import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.engine.ResultSetStream ;
+import com.hp.hpl.jena.sparql.engine.binding.Binding ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
+import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
+import com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper ;
 
 /**
  * Input reader associated to {@link TSVOutput}.
@@ -74,7 +75,7 @@ public class TSVInput {
         	        if ( num_tokens != vars.size() ) {
         	        	 throw new ARQException(String.format("Line %d has %d values instead of %d.", line, num_tokens, vars.size()));
         	        }
-        	        Binding binding = BindingFactory.create();
+        	        BindingMap binding = BindingFactory.create();
         	        for ( int i = 0; i < tokens.length; i++ ) {
         	        	String token = tokens[i];
                 		Tokenizer tokenizer = TokenizerFactory.makeTokenizerString(token);

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputSAX.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputSAX.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputSAX.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputSAX.java Thu Sep 22 16:41:05 2011
@@ -105,7 +105,7 @@ class XMLInputSAX extends SPARQLResult
         
         List<Binding> results = new ArrayList<Binding>() ; 
         // The current solution
-        Binding binding = null ;
+        BindingMap binding = null ;
         
         // Note on terminology:
         // A "Binding" in ARQ is a set of name/value pairs

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java Thu Sep 22 16:41:05 2011
@@ -402,7 +402,7 @@ class XMLInputStAX extends SPARQLResult
     private Binding getOneSolution() throws XMLStreamException
     {
         // At the start of <result>
-        Binding binding = new BindingMap() ;
+        BindingMap binding = new BindingMap() ;
         String varName = null ;
         
         while(parser.hasNext())

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/sse/builders/BuilderBinding.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/sse/builders/BuilderBinding.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/sse/builders/BuilderBinding.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/sse/builders/BuilderBinding.java Thu Sep 22 16:41:05 2011
@@ -9,6 +9,7 @@ package com.hp.hpl.jena.sparql.sse.build
 import com.hp.hpl.jena.graph.Node ;
 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 ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.sparql.sse.Item ;
 import com.hp.hpl.jena.sparql.sse.ItemList ;
@@ -34,7 +35,7 @@ public class BuilderBinding
         if ( ! head.isSymbolIgnoreCase(Tags.tagRow) && ! head.isSymbolIgnoreCase(Tags.tagBinding) )
             BuilderLib.broken(list, "Does not start ("+Tags.tagRow+" ...) or ("+Tags.tagBinding+" ...)", head) ;
         
-        Binding binding = new BindingMap(null) ;
+        BindingMap binding = BindingFactory.create() ;
         for ( int i = 1 ; i < list.size() ; i++ )
         {
             Item item = list.get(i) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/tokens/TokenizerText.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/tokens/TokenizerText.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/tokens/TokenizerText.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/tokens/TokenizerText.java Thu Sep 22 16:41:05 2011
@@ -76,8 +76,12 @@ public final class TokenizerText impleme
             return true ;
         } catch (AtlasException ex)
         {
-            if ( ex.getCause().getClass() == java.nio.charset.MalformedInputException.class )
-                throw new RiotParseException("Bad character encoding", reader.getLineNum(), reader.getColNum()) ;
+            if ( ex.getCause() != null )
+            {
+                if ( ex.getCause().getClass() == java.nio.charset.MalformedInputException.class )
+                    throw new RiotParseException("Bad character encoding", reader.getLineNum(), reader.getColNum()) ;
+                throw new RiotParseException("Bad input stream ["+ex.getCause()+"]", reader.getLineNum(), reader.getColNum()) ;
+            }
             throw new RiotParseException("Bad input stream", reader.getLineNum(), reader.getColNum()) ;
         }
     }    

Modified: incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java?rev=1174251&r1=1174250&r2=1174251&view=diff
==============================================================================
--- incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java (original)
+++ incubator/jena/Jena2/TDB/trunk/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java Thu Sep 22 16:41:05 2011
@@ -30,7 +30,6 @@ import com.hp.hpl.jena.sparql.engine.Exe
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
 import com.hp.hpl.jena.sparql.engine.binding.BindingFactory ;
-import com.hp.hpl.jena.sparql.engine.binding.BindingMap ;
 import com.hp.hpl.jena.tdb.TDBException ;
 import com.hp.hpl.jena.tdb.lib.NodeLib ;
 import com.hp.hpl.jena.tdb.nodetable.NodeTable ;
@@ -164,20 +163,19 @@ public class SolverLib
 
     public static Binding convToBinding(NodeTable nodeTable, BindingNodeId bindingNodeIds)
     {
-        if ( true )
-            return new BindingTDB(bindingNodeIds, nodeTable) ;
-        else
-        {
-            // Makes nodes immediately.  Causing unecessary NodeTable accesses (e.g. project) 
-            Binding b = new BindingMap() ;
-            for ( Var v : bindingNodeIds )
-            {
-                NodeId id = bindingNodeIds.get(v) ;
-                Node n = nodeTable.getNodeForNodeId(id) ;
-                b.add(v, n) ;
-            }
-            return b ;
-        }
+        return new BindingTDB(bindingNodeIds, nodeTable) ;
+
+//        {
+//            // Makes nodes immediately.  Causing unnecessary NodeTable accesses (e.g. project) 
+//            Binding b = new BindingMap() ;
+//            for ( Var v : bindingNodeIds )
+//            {
+//                NodeId id = bindingNodeIds.get(v) ;
+//                Node n = nodeTable.getNodeForNodeId(id) ;
+//                b.add(v, n) ;
+//            }
+//            return b ;
+//        }
     }
     
     // Transform : Binding ==> BindingNodeId