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/02/01 15:33:52 UTC
svn commit: r1239146 - in /incubator/jena/Jena2/ARQ/trunk/src:
main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java
test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java
test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java
Author: andy
Date: Wed Feb 1 14:33:51 2012
New Revision: 1239146
URL: http://svn.apache.org/viewvc?rev=1239146&view=rev
Log:
Reject INSERT DATA with literals-as-subjects. More useful than silently ignoring later.
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java?rev=1239146&r1=1239145&r2=1239146&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/modify/request/QuadDataAcc.java Wed Feb 1 14:33:51 2012
@@ -32,16 +32,20 @@ public class QuadDataAcc extends QuadAcc
if ( Var.isVar(getGraph()) )
throw new QueryParseException("Variables not permitted in data quad", -1, -1) ;
if ( Var.isVar(t.getSubject()) || Var.isVar(t.getPredicate()) || Var.isVar(t.getObject()))
- throw new QueryParseException("Variables not permitted in data quad", -1, -1) ;
+ throw new QueryParseException("Variables not permitted in data quad", -1, -1) ;
+ if ( t.getSubject().isLiteral() )
+ throw new QueryParseException("Literals not allowed as subjects in data", -1, -1) ;
}
@Override
- protected void check(Quad t)
+ protected void check(Quad quad)
{
- if ( Var.isVar(t.getGraph()) ||
- Var.isVar(t.getSubject()) ||
- Var.isVar(t.getPredicate()) ||
- Var.isVar(t.getObject()))
+ if ( Var.isVar(quad.getGraph()) ||
+ Var.isVar(quad.getSubject()) ||
+ Var.isVar(quad.getPredicate()) ||
+ Var.isVar(quad.getObject()))
throw new QueryParseException("Variables not permitted in data quad", -1, -1) ;
+ if ( quad.getSubject().isLiteral() )
+ throw new QueryParseException("Literals not allowed as subjects in quad data", -1, -1) ;
}
}
Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java?rev=1239146&r1=1239145&r2=1239146&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateBase.java Wed Feb 1 14:33:51 2012
@@ -18,7 +18,7 @@
package com.hp.hpl.jena.sparql.modify;
-import junit.framework.TestCase ;
+import org.openjena.atlas.junit.BaseTest ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
@@ -27,7 +27,7 @@ import com.hp.hpl.jena.sparql.graph.Grap
import com.hp.hpl.jena.update.GraphStore ;
import com.hp.hpl.jena.update.UpdateAction ;
-public abstract class TestUpdateBase extends TestCase
+public abstract class TestUpdateBase extends BaseTest
{
protected abstract GraphStore getEmptyGraphStore() ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java?rev=1239146&r1=1239145&r2=1239146&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/modify/TestUpdateGraph.java Wed Feb 1 14:33:51 2012
@@ -28,6 +28,7 @@ import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.ARQ ;
import com.hp.hpl.jena.query.QueryFactory ;
+import com.hp.hpl.jena.query.QueryParseException ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.core.Quad ;
import com.hp.hpl.jena.sparql.core.Var ;
@@ -334,7 +335,8 @@ public abstract class TestUpdateGraph ex
new Triple(s,p,o2))) ;
}
- @Test public void testUpdateBad1() { testBad("bad-1.ru", 1) ; }
+ @Test(expected=QueryParseException.class) public void testUpdateBad1() { testBad("bad-1.ru", 1) ; }
+
@Test public void testUpdateBad2() { testBad("bad-2.ru", 1) ; }
@Test public void testUpdateBad3() { testBad("bad-3.ru", 0) ; }
@@ -390,13 +392,6 @@ public abstract class TestUpdateGraph ex
@Test public void testUpdateInitialBinding3()
{
- // Does not affect the delete
- Graph graph = testUpdateInitialBindingWorker(Var.alloc("FF"), o1) ;
- assertEquals(2, graph.size()) ;
- }
-
- @Test public void testUpdateInitialBinding4()
- {
GraphStore gStore = getEmptyGraphStore() ;
defaultGraphData(gStore, graph1) ;
String update = "DELETE WHERE { ?x <http://example/p> 2007 } ; INSERT { ?x <http://example/p> 1999 } WHERE {}" ;