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 2012/12/06 19:36:07 UTC

svn commit: r1418026 - in /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer: FormatterBase.java FormatterElement.java QuerySerializer.java Serializer.java

Author: andy
Date: Thu Dec  6 18:36:06 2012
New Revision: 1418026

URL: http://svn.apache.org/viewvc?rev=1418026&view=rev
Log:
JENA-361 - Printing subqueries was not based on the same print context leading to mis-reuse of bNode labels.

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterBase.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterElement.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/QuerySerializer.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/Serializer.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterBase.java?rev=1418026&r1=1418025&r2=1418026&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterBase.java Thu Dec  6 18:36:06 2012
@@ -26,9 +26,9 @@ import com.hp.hpl.jena.sparql.util.FmtUt
 
 public abstract class FormatterBase
 {
-    IndentedWriter out ;
-    SerializationContext context ;
-    FormatterBase(IndentedWriter _out, SerializationContext _context)
+    protected IndentedWriter out ;
+    protected SerializationContext context ;
+    protected FormatterBase(IndentedWriter _out, SerializationContext _context)
     {
         out = _out ;
         context = _context ; 

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterElement.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterElement.java?rev=1418026&r1=1418025&r2=1418026&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterElement.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/FormatterElement.java Thu Dec  6 18:36:06 2012
@@ -27,6 +27,7 @@ import org.apache.jena.atlas.io.Indented
 
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.Triple ;
+import com.hp.hpl.jena.query.Query ;
 import com.hp.hpl.jena.sparql.core.BasicPattern ;
 import com.hp.hpl.jena.sparql.core.PathBlock ;
 import com.hp.hpl.jena.sparql.core.TriplePath ;
@@ -457,8 +458,12 @@ public class FormatterElement extends Fo
     {
         out.print("{ ") ;
         out.incIndent(INDENT) ;
-        // Messy - prefixes.
-        el.getQuery().serialize(out) ;
+        Query q = el.getQuery() ; 
+        // It's SELECT query so no template formatter needed.
+        Serializer.serializeARQ(q, out, 
+                                new FormatterElement(out, context),
+                                new FmtExprSPARQL(out, context),
+                                null) ;
         out.decIndent(INDENT) ;
         out.print("}") ;
     }

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/QuerySerializer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/QuerySerializer.java?rev=1418026&r1=1418025&r2=1418026&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/QuerySerializer.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/QuerySerializer.java Thu Dec  6 18:36:06 2012
@@ -46,19 +46,19 @@ public class QuerySerializer implements 
     protected FmtExprSPARQL fmtExpr ;
     protected IndentedWriter out = null ;
 
-    QuerySerializer(OutputStream _out,
-                    FormatterElement   formatterElement, 
-                    FmtExprSPARQL            formatterExpr,
-                    FormatterTemplate  formatterTemplate)
+    QuerySerializer(OutputStream        _out,
+                    FormatterElement    formatterElement, 
+                    FmtExprSPARQL       formatterExpr,
+                    FormatterTemplate   formatterTemplate)
     {
         this(new IndentedWriter(_out),
              formatterElement, formatterExpr, formatterTemplate) ;
     }
 
-    QuerySerializer(IndentedWriter iwriter,
-                    FormatterElement   formatterElement, 
-                    FmtExprSPARQL            formatterExpr,
-                    FormatterTemplate  formatterTemplate)
+    QuerySerializer(IndentedWriter      iwriter,
+                    FormatterElement    formatterElement, 
+                    FmtExprSPARQL       formatterExpr,
+                    FormatterTemplate   formatterTemplate)
     {
         out = iwriter ;
         fmtTemplate = formatterTemplate ;

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/Serializer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/Serializer.java?rev=1418026&r1=1418025&r2=1418026&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/Serializer.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer/Serializer.java Thu Dec  6 18:36:06 2012
@@ -170,11 +170,11 @@ public class Serializer
     	serializeARQ(query, query, writer);
     }
     
-    static private void serializeARQ(Query query, 
-                                     IndentedWriter writer, 
-                                     FormatterElement eltFmt,
-                                     FmtExprSPARQL    exprFmt,
-                                     FormatterTemplate templateFmt)
+    static void serializeARQ(Query query, 
+                             IndentedWriter writer, 
+                             FormatterElement eltFmt,
+                             FmtExprSPARQL    exprFmt,
+                             FormatterTemplate templateFmt)
     {
         QuerySerializer serilizer = new QuerySerializer(writer, eltFmt, exprFmt, templateFmt) ;
         query.visit(serilizer) ;