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) {