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 2022/05/14 09:00:38 UTC

[jena] branch main updated: JENA-2326: fix and test UpdateEngineWork validation

This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new c543b9d04b JENA-2326: fix and test UpdateEngineWork validation
     new 52dd6c4419 Merge pull request #1304 from TopQuadrant/JENA-2326
c543b9d04b is described below

commit c543b9d04bb96195b96904d4ca65e0585d039751
Author: Brian Vosburgh <bv...@topquadrant.com>
AuthorDate: Fri May 13 16:07:16 2022 -0400

    JENA-2326: fix and test UpdateEngineWork validation
---
 .../apache/jena/sparql/modify/UpdateEngineWorker.java |  1 +
 .../sparql/modify/AbstractTestUpdateGraphMgt.java     | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
index a4146190b5..eabff7382b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
@@ -251,6 +251,7 @@ public class UpdateEngineWorker implements UpdateVisitor
             Node gn = update.getSrc().getGraph();
             if ( !datasetGraph.containsGraph(gn) )
                 throw errorEx("No such graph: " + gn);
+            return;
         }
         throw errorEx("Invalid source target for operation; " + update.getSrc());
     }
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraphMgt.java b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraphMgt.java
index c2c50f74d1..7931d0255f 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraphMgt.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraphMgt.java
@@ -25,9 +25,13 @@ import static org.junit.Assert.fail;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.NodeFactory;
 import org.apache.jena.sparql.core.DatasetGraph;
+import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.sparql.graph.GraphFactory;
+import org.apache.jena.sparql.modify.request.Target;
+import org.apache.jena.sparql.modify.request.UpdateAdd;
 import org.apache.jena.sparql.modify.request.UpdateCreate;
 import org.apache.jena.sparql.modify.request.UpdateDrop;
+import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.update.Update;
 import org.apache.jena.update.UpdateAction;
 import org.apache.jena.update.UpdateException;
@@ -105,4 +109,19 @@ public abstract class AbstractTestUpdateGraphMgt extends AbstractTestUpdateBase
         script(gStore, "drop-1.ru");
         assertFalse(gStore.containsGraph(graphIRI));
     }
+
+    @Test
+    public void testAdd() {
+        DatasetGraph gStore = DatasetGraphFactory.create();
+        Node g1 = SSE.parseNode(":g1");
+        Node g2 = SSE.parseNode(":g2");
+        gStore.add(SSE.parseQuad("( :g1 :s :p :o )"));
+        // ADD GRAPH :g1 TO GRAPH :g2, not SILENT
+        Update add = new UpdateAdd(Target.create(g1), Target.create(g2), false);
+        assertFalse(gStore.containsGraph(g2));
+
+        UpdateAction.execute(add, gStore);
+
+        assertTrue(gStore.containsGraph(g2));
+    }
 }