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("(") ;