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/07/09 13:54:56 UTC
svn commit: r1359086 - in
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/serializer:
FormatterElement.java QuerySerializer.java
Author: andy
Date: Mon Jul 9 11:54:55 2012
New Revision: 1359086
URL: http://svn.apache.org/viewvc?rev=1359086&view=rev
Log:
Fix formatting of VALUES clauses on output.
Modified:
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
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=1359086&r1=1359085&r2=1359086&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 Mon Jul 9 11:54:55 2012
@@ -30,12 +30,9 @@ import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.BasicPattern ;
import com.hp.hpl.jena.sparql.core.PathBlock ;
import com.hp.hpl.jena.sparql.core.TriplePath ;
-import com.hp.hpl.jena.sparql.core.Var ;
-import com.hp.hpl.jena.sparql.engine.binding.Binding ;
import com.hp.hpl.jena.sparql.expr.Expr ;
import com.hp.hpl.jena.sparql.path.PathWriter ;
import com.hp.hpl.jena.sparql.syntax.* ;
-import com.hp.hpl.jena.sparql.util.FmtUtils ;
public class FormatterElement extends FormatterBase
@@ -231,64 +228,7 @@ public class FormatterElement extends Fo
@Override
public void visit(ElementData el)
{
- // QuerySrializer.outputDataBlock.
-
- List<Var> variables = el.getVars() ;
- out.print("VALUES ") ;
- if ( variables.size() == 1 )
- {
- // Short form.
- out.print("?") ;
- out.print(variables.get(0).getVarName()) ;
- out.print(" {") ;
- out.incIndent() ;
- for ( Binding valueRow : el.getRows() )
- {
- // A value may be null for UNDEF
- for ( Var var : variables )
- {
- out.print(" ") ;
- Node value = valueRow.get(var) ;
- if ( value == null )
- out.print("UNDEF") ;
- else
- out.print(FmtUtils.stringForNode(value, context)) ;
- }
- }
- out.decIndent() ;
- out.print("}") ;
- return ;
- }
- // Long form.
- out.print("(") ;
- for ( Var v : variables )
- {
- out.print(" ") ;
- out.print(v) ;
- }
- out.print(" )") ;
- out.print(" {") ;
- out.incIndent() ;
- for ( Binding valueRow : el.getRows() )
- {
- out.println() ;
- // A value may be null for UNDEF
- out.print("(") ;
- for ( Var var : variables )
- {
- out.print(" ") ;
- Node value = valueRow.get(var) ;
- if ( value == null )
- out.print("UNDEF") ;
- else
- out.print(FmtUtils.stringForNode(value, context)) ;
- }
- out.print(" )") ;
- }
- out.decIndent() ;
- out.ensureStartOfLine() ;
- out.print("}") ;
-
+ QuerySerializer.outputDataBlock(out, el.getVars(), el.getRows(), context.getPrologue()) ;
}
@Override
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=1359086&r1=1359085&r2=1359086&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 Mon Jul 9 11:54:55 2012
@@ -259,25 +259,51 @@ public class QuerySerializer implements
{
if ( query.hasValues() )
{
- out.print("VALUES") ;
outputDataBlock(out, query.getValuesVariables(), query.getValuesData(), query) ;
+ out.newline() ;
}
}
- private static void outputDataBlock(IndentedWriter out, List<Var> variables, List<Binding> values, Query query)
+ public static void outputDataBlock(IndentedWriter out, List<Var> variables, List<Binding> values, Prologue prologue)
{
+ out.print("VALUES ") ;
+ if ( variables.size() == 1 )
+ {
+ // Short form.
+ out.print("?") ;
+ out.print(variables.get(0).getVarName()) ;
+ out.print(" {") ;
+ out.incIndent() ;
+ for ( Binding valueRow : values )
+ {
+ // A value may be null for UNDEF
+ for ( Var var : variables )
+ {
+ out.print(" ") ;
+ Node value = valueRow.get(var) ;
+ if ( value == null )
+ out.print("UNDEF") ;
+ else
+ out.print(FmtUtils.stringForNode(value, prologue)) ;
+ }
+ }
+ out.decIndent() ;
+ out.print(" }") ;
+ return ;
+ }
+ // Long form.
+ out.print("(") ;
for ( Var v : variables )
{
out.print(" ") ;
out.print(v) ;
}
- out.println();
-
- out.print("{") ;
+ out.print(" )") ;
+ out.print(" {") ;
out.incIndent() ;
- out.println() ;
for ( Binding valueRow : values )
{
+ out.println() ;
// A value may be null for UNDEF
out.print("(") ;
for ( Var var : variables )
@@ -287,13 +313,13 @@ public class QuerySerializer implements
if ( value == null )
out.print("UNDEF") ;
else
- out.print(FmtUtils.stringForNode(value, query)) ;
+ out.print(FmtUtils.stringForNode(value, prologue)) ;
}
- out.println(" )") ;
+ out.print(" )") ;
}
out.decIndent() ;
+ out.ensureStartOfLine() ;
out.print("}") ;
- out.println() ;
}