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 2013/01/10 15:17:58 UTC
svn commit: r1431377 -
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java
Author: andy
Date: Thu Jan 10 14:17:58 2013
New Revision: 1431377
URL: http://svn.apache.org/viewvc?rev=1431377&view=rev
Log:
JENA-378
The UpdateWriter needs to use a bnode to output mapping that deal with "query bnodes" in the WHERE clause.
i.e. Map ??N vars to bNode syntax on output.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java?rev=1431377&r1=1431376&r2=1431377&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/UpdateWriter.java Thu Jan 10 14:17:58 2013
@@ -29,6 +29,7 @@ import org.apache.jena.riot.out.SinkQuad
import com.hp.hpl.jena.graph.Node;
import com.hp.hpl.jena.graph.Triple;
import com.hp.hpl.jena.sparql.ARQException;
+import com.hp.hpl.jena.sparql.core.Prologue ;
import com.hp.hpl.jena.sparql.core.Quad;
import com.hp.hpl.jena.sparql.modify.request.UpdateDataWriter.UpdateMode;
import com.hp.hpl.jena.sparql.serializer.FormatterElement;
@@ -36,6 +37,7 @@ import com.hp.hpl.jena.sparql.serializer
import com.hp.hpl.jena.sparql.serializer.SerializationContext;
import com.hp.hpl.jena.sparql.syntax.Element;
import com.hp.hpl.jena.sparql.util.FmtUtils;
+import com.hp.hpl.jena.sparql.util.NodeToLabelMapBNode ;
import com.hp.hpl.jena.update.Update;
import com.hp.hpl.jena.update.UpdateRequest;
@@ -51,14 +53,12 @@ public class UpdateWriter implements Clo
public UpdateWriter(IndentedWriter out, SerializationContext sCxt)
{
if (out == null)
- {
throw new IllegalArgumentException("out may not be null") ;
- }
+ // To get legal syntax out, the serialization context
+ // has to be a bNode mapping that does ??N vars to bNodes
if (sCxt == null)
- {
- sCxt = new SerializationContext();
- }
+ sCxt = new SerializationContext((Prologue)null, new NodeToLabelMapBNode());
this.out = out;
this.sCxt = sCxt;
@@ -67,18 +67,14 @@ public class UpdateWriter implements Clo
public void open()
{
if (null != sCxt)
- {
prologue();
- }
opened = true;
}
private void checkOpen()
{
if (!opened)
- {
throw new IllegalStateException("UpdateStreamWriter is not opened. Call open() first.");
- }
}
private void prologue()
@@ -240,9 +236,6 @@ public class UpdateWriter implements Clo
public static void output(UpdateRequest request, IndentedWriter out, SerializationContext sCxt)
{
- if ( sCxt == null )
- sCxt = new SerializationContext(request);
-
UpdateWriter uw = new UpdateWriter(out, sCxt);
uw.open();
uw.update(request);
@@ -251,15 +244,11 @@ public class UpdateWriter implements Clo
public static void output(Update update, IndentedWriter out, SerializationContext sCxt)
{
- if ( sCxt == null )
- sCxt = new SerializationContext();
-
UpdateWriter uw = new UpdateWriter(out, sCxt);
uw.open();
uw.update(update);
uw.close();
}
-
// newline policy - don't add until needed.
private static class Writer implements UpdateVisitor