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 2014/12/28 20:05:42 UTC

[3/4] jena git commit: Fix output formatting.

Fix output formatting.

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

Branch: refs/heads/master
Commit: 748180ae89724a0c82fa56f36b02a9d6ff18f53a
Parents: addc198
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Dec 28 18:55:31 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Dec 28 18:55:31 2014 +0000

----------------------------------------------------------------------
 .../sparql/expr/aggregate/AggGroupConcat.java   | 64 ++++++++++++++------
 .../expr/aggregate/AggGroupConcatDistinct.java  | 31 ++--------
 .../sparql/expr/aggregate/AggregatorBase.java   | 28 ++++-----
 3 files changed, 65 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/748180ae/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
index 046818c..0a3c3d5 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcat.java
@@ -18,6 +18,7 @@
 
 package com.hp.hpl.jena.sparql.expr.aggregate;
 
+import org.apache.jena.atlas.io.IndentedLineBuffer ;
 import org.apache.jena.atlas.lib.Lib ;
 import org.apache.jena.atlas.lib.StrUtils ;
 
@@ -28,6 +29,7 @@ import com.hp.hpl.jena.sparql.expr.ExprList ;
 import com.hp.hpl.jena.sparql.expr.NodeValue ;
 import com.hp.hpl.jena.sparql.function.FunctionEnv ;
 import com.hp.hpl.jena.sparql.graph.NodeConst ;
+import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
 import com.hp.hpl.jena.sparql.sse.writers.WriterExpr ;
 import com.hp.hpl.jena.sparql.util.ExprUtils ;
 
@@ -55,32 +57,58 @@ public class AggGroupConcat extends AggregatorBase
     public Aggregator copy(ExprList expr) { return new AggGroupConcat(expr.get(0), effectiveSeparator, separator) ; }
 
     @Override
-    public String toString()
-    {
-        String x = "GROUP_CONCAT("+ExprUtils.fmtSPARQL(getExpr()) ;
-        if ( separator != null )
-        {
-            String y = StrUtils.escapeString(separator) ;
-            x = x+"; SEPARATOR='"+y+"'" ;
-        }
-        x = x+")" ;
-        return x ; 
-    }    
+    public String toPrefixString() {
+        return prefixGroupConcatString(super.isDistinct,  separator, getExprList()) ;
+    }
     
     @Override
-    public String toPrefixString()
-    {
-        String x = "(group_concat " ;
+    public String asSparqlExpr(SerializationContext sCxt) {
+        return asSparqlExpr(isDistinct, separator, exprList, sCxt) ;
+    }
+    
+    protected static String asSparqlExpr(boolean isDistinct, String separator, ExprList exprs, SerializationContext sCxt) {
+        IndentedLineBuffer x = new IndentedLineBuffer() ;
+        x.append("GROUP_CONCAT") ;
+        if ( isDistinct )
+            x.append(" DISTINCT") ;
+        x.append(" (") ;
+        ExprUtils.fmtSPARQL(x, exprs, sCxt) ;
+        if ( separator != null ) {
+            x.append(" ; separator=") ;
+            String y = StrUtils.escapeString(separator) ;
+            x.append("'") ;
+            x.append(y) ;
+            x.append("'") ;
+        }
+            
+        x.append(")") ;
         
+        return x.asString() ;
+    }
+    
+    protected static String prefixGroupConcatString(boolean isDistinct, String separator, ExprList exprs) { 
+        IndentedLineBuffer x = new IndentedLineBuffer() ;
+        x.append("(") ;
+        x.append("group_concat") ;
+        if ( isDistinct )
+            x.append(" distinct") ;
         if ( separator != null )
         {
             String y = StrUtils.escapeString(separator) ;
-            x = x+"(separator '"+y+"') " ;
+            x.append("(separator '") ;
+            x.append(y) ;
+            x.append("')") ;
+        }
+        x.incIndent(); 
+        for ( Expr e : exprs ) {
+            x.append(" ");
+            WriterExpr.output(x, e, null) ;
         }
-        x = x+WriterExpr.asString(getExpr())+")" ;
-        return x ; 
+        x.decIndent();
+        x.append(")") ;
+        return x.asString() ;
     }
-
+    
     @Override
     public Accumulator createAccumulator()
     { 

http://git-wip-us.apache.org/repos/asf/jena/blob/748180ae/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
index 579f898..ebef4b6 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
@@ -19,7 +19,6 @@
 package com.hp.hpl.jena.sparql.expr.aggregate;
 
 import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.atlas.lib.StrUtils ;
 
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
@@ -27,8 +26,7 @@ import com.hp.hpl.jena.sparql.expr.Expr ;
 import com.hp.hpl.jena.sparql.expr.ExprList ;
 import com.hp.hpl.jena.sparql.expr.NodeValue ;
 import com.hp.hpl.jena.sparql.function.FunctionEnv ;
-import com.hp.hpl.jena.sparql.sse.writers.WriterExpr ;
-import com.hp.hpl.jena.sparql.util.ExprUtils ;
+import com.hp.hpl.jena.sparql.serializer.SerializationContext ;
 
 public class AggGroupConcatDistinct extends AggregatorBase
 {
@@ -53,30 +51,13 @@ public class AggGroupConcatDistinct extends AggregatorBase
     public Aggregator copy(ExprList exprs) { return new AggGroupConcatDistinct(exprs.get(0), effectiveSeparator, separator) ; }
 
     @Override
-    public String toString()
-    {
-        String x = "GROUP_CONCAT(DISTINCT "+ExprUtils.fmtSPARQL(getExpr()) ;
-        if ( separator != null )
-        {
-            String y = StrUtils.escapeString(separator) ;
-            x = x+"; SEPARATOR='"+y+"'" ;
-        }
-        x = x+")" ;
-        return x ; 
-    }    
+    public String toPrefixString() {
+        return AggGroupConcat.prefixGroupConcatString(super.isDistinct,  separator, getExprList()) ;
+    }
     
     @Override
-    public String toPrefixString()
-    {
-        String x = "(group_concat distinct " ;
-        
-        if ( separator != null )
-        {
-            String y = StrUtils.escapeString(separator) ;
-            x = x+"(separator '"+y+"') " ;
-        }
-        x = x+WriterExpr.asString(getExpr())+")" ;
-        return x ; 
+    public String asSparqlExpr(SerializationContext sCxt) {
+        return AggGroupConcat.asSparqlExpr(isDistinct, separator, exprList, sCxt) ;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/748180ae/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
index 65355f3..919746d 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/aggregate/AggregatorBase.java
@@ -95,21 +95,6 @@ public abstract class AggregatorBase implements Aggregator
         return copy(e) ;
     }
     
-    @Override
-    public String asSparqlExpr(SerializationContext sCxt) {
-        IndentedLineBuffer x = new IndentedLineBuffer() ;
-        x.append(getName()) ;
-        x.append("(") ;
-        if ( isDistinct )
-            x.append("DISTINCT") ;
-        if ( getExprList() != null ) {
-            x.append(" ");
-            ExprUtils.fmtSPARQL(x, getExprList(), sCxt) ;
-        }
-        x.append(")") ;
-        return x.asString() ;
-    }
-    
     /** Many aggergate use a single expression.
      *  This convebnience operation gets the expression if there is exactly one.
      */
@@ -129,6 +114,19 @@ public abstract class AggregatorBase implements Aggregator
     public String toString()                { return asSparqlExpr(null) ; }
 
     @Override
+    public String asSparqlExpr(SerializationContext sCxt) {
+        IndentedLineBuffer x = new IndentedLineBuffer() ;
+        x.append(getName()) ;
+        x.append("(") ;
+        if ( isDistinct )
+            x.append("DISTINCT ") ;
+        if ( getExprList() != null )
+            ExprUtils.fmtSPARQL(x, getExprList(), sCxt) ;
+        x.append(")") ;
+        return x.asString() ;
+    }
+
+    @Override
     public String toPrefixString() {
         IndentedLineBuffer x = new IndentedLineBuffer() ;
         x.append("(") ;