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 2015/07/14 11:17:35 UTC

[5/5] jena git commit: JENA-989 : Output '.' between items in an ElementPathBlock.

JENA-989 : Output '.' between items in an ElementPathBlock.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/20ac8e6f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/20ac8e6f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/20ac8e6f

Branch: refs/heads/master
Commit: 20ac8e6f768888981f312a5ce6008ffdbc9f2fd9
Parents: 85ed839
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Jul 14 10:15:45 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Jul 14 10:17:12 2015 +0100

----------------------------------------------------------------------
 .../sparql/serializer/FormatterElement.java     | 24 ++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/20ac8e6f/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
index 6bd17eb..a8bea2e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FormatterElement.java
@@ -112,30 +112,46 @@ public class FormatterElement extends FormatterBase
 
     @Override
     public void visit(ElementPathBlock el) {
+        // Write path block - don't put in a final trailing "." 
         if ( el.isEmpty() ) {
             out.println("# Empty BGP") ;
             return ;
         }
 
         // Split into BGP-path-BGP-...
+        // where the BGPs may be empty.
         PathBlock pBlk = el.getPattern() ;
         BasicPattern bgp = new BasicPattern() ;
-        boolean first = true ;
+        boolean first = true ;      // Has anything been output?
         for ( TriplePath tp : pBlk ) {
             if ( tp.isTriple() ) {
                 bgp.add(tp.asTriple()) ;
                 continue ;
             }
-            flush(bgp) ;
-            out.println(" .") ;
+            
+            if ( !bgp.isEmpty() ) {
+                if ( !first )
+                    out.println(" .") ;
+                flush(bgp) ;
+                first = false ;
+            }
+            if ( !first )
+                out.println(" .") ;
             // Path
             printSubject(tp.getSubject()) ;
             out.print(" ") ;
             PathWriter.write(out, tp.getPath(), context.getPrologue()) ;
             out.print(" ") ;
             printObject(tp.getObject()) ;
+            first = false ;
+        }
+        // Flush any stored triple patterns.
+        if ( !bgp.isEmpty() ) {
+            if ( !first )
+                out.println(" .") ;
+            flush(bgp) ;
+            first = false ;
         }
-        flush(bgp) ;
     }
 
     private void flush(BasicPattern bgp) {