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 2015/01/19 15:33:54 UTC

[1/2] jena git commit: Allow creating NodeValues from non XSD datatypes.

Repository: jena
Updated Branches:
  refs/heads/master 2baabaeab -> 8be58c899


Allow creating NodeValues from non XSD datatypes.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8642efde
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8642efde
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8642efde

Branch: refs/heads/master
Commit: 8642efdee2e14f2ecde66b2f06f5b2ae26f9c19a
Parents: 2baabae
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Jan 19 14:32:59 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Jan 19 14:32:59 2015 +0000

----------------------------------------------------------------------
 .../src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java    | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/8642efde/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
index 33bd491..1a16596 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
@@ -80,7 +80,6 @@ import org.slf4j.LoggerFactory ;
 import com.hp.hpl.jena.datatypes.DatatypeFormatException ;
 import com.hp.hpl.jena.datatypes.RDFDatatype ;
 import com.hp.hpl.jena.datatypes.TypeMapper ;
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
 import com.hp.hpl.jena.datatypes.xsd.XSDDateTime ;
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.NodeFactory ;
@@ -342,9 +341,9 @@ public abstract class NodeValue extends ExprNode
         return nv ;
     }
                                
-    public static NodeValue makeNode(String lexicalForm, XSDDatatype dtype)
+    public static NodeValue makeNode(String lexicalForm, RDFDatatype dtype)
     {
-        Node n = com.hp.hpl.jena.graph.NodeFactory.createLiteral(lexicalForm, dtype) ;
+        Node n = NodeFactory.createLiteral(lexicalForm, dtype) ;
         NodeValue nv = NodeValue.makeNode(n) ;
         return nv ;
     }


[2/2] jena git commit: JENA-839 : Make code more robust against unusual setups.

Posted by an...@apache.org.
JENA-839 : Make code more robust against unusual setups.

Add some tests of corner cases.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8be58c89
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8be58c89
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8be58c89

Branch: refs/heads/master
Commit: 8be58c89910cfbef95531bd6b14ab47a04efe065
Parents: 8642efd
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Jan 19 14:33:43 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Jan 19 14:33:43 2015 +0000

----------------------------------------------------------------------
 .../sparql/expr/nodevalue/NodeFunctions.java    | 14 ++++--------
 .../hpl/jena/sparql/expr/TestNodeFunctions.java | 24 +++++++++++++++++++-
 2 files changed, 27 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/8be58c89/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
index 7928261..70e05a3 100644
--- a/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
+++ b/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/NodeFunctions.java
@@ -21,17 +21,14 @@ package com.hp.hpl.jena.sparql.expr.nodevalue ;
 import java.util.Iterator ;
 import java.util.UUID ;
 
-import com.hp.hpl.jena.datatypes.RDFDatatype ;
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
-import com.hp.hpl.jena.datatypes.xsd.impl.XSDBaseStringType;
-import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.graph.NodeFactory ;
-
 import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.iri.IRI ;
 import org.apache.jena.iri.IRIFactory ;
 import org.apache.jena.iri.Violation ;
 
+import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.NodeFactory ;
 import com.hp.hpl.jena.sparql.expr.ExprEvalException ;
 import com.hp.hpl.jena.sparql.expr.ExprTypeException ;
 import com.hp.hpl.jena.sparql.expr.NodeValue ;
@@ -64,10 +61,7 @@ public class NodeFunctions {
         // No language tag : either no datatype or a datatype of xsd:string 
         // Includes the case of rdf:langString and no language ==> Illegal as a compatible string.
 
-        RDFDatatype dt = n.getLiteralDatatype() ;
-        if ( dt == null )
-            return n ;
-        if (dt instanceof XSDBaseStringType)
+        if ( nv.isString() )
                 return n ;
         throw new ExprEvalException(label + ": Not a string literal: " + nv) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/8be58c89/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
index 671f303..025d832 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java
@@ -27,6 +27,7 @@ import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.NodeFactory ;
 import com.hp.hpl.jena.sparql.expr.nodevalue.NodeFunctions ;
 import com.hp.hpl.jena.sparql.graph.NodeConst ;
+import com.hp.hpl.jena.vocabulary.RDF ;
 import com.hp.hpl.jena.vocabulary.XSD ;
 
 public class TestNodeFunctions extends BaseTest {
@@ -317,9 +318,30 @@ public class TestNodeFunctions extends BaseTest {
         assertEquals(NodeValue.FALSE, r) ;
     }
     
-    @Test public void testCheckAndGetStringLiteral() {
+    @Test public void testCheckAndGetStringLiteral1() {
+        NodeValue nv = NodeValue.makeNode("abc", XSDDatatype.XSDstring) ;
+        Node n = NodeFunctions.checkAndGetStringLiteral("Test", nv);
+        assertEquals( "abc", n.getLiteralLexicalForm());
+    }
+    
+    @Test public void testCheckAndGetStringLiteral2() {
         NodeValue nv = NodeValue.makeNode("abc", XSDDatatype.XSDnormalizedString) ;
         Node n = NodeFunctions.checkAndGetStringLiteral("Test", nv);
         assertEquals( "abc", n.getLiteralLexicalForm());
     }
+
+    @Test public void testCheckAndGetStringLiteral3() {
+        NodeValue nv = NodeValue.makeString("abc") ;
+        Node n = NodeFunctions.checkAndGetStringLiteral("Test", nv);
+        assertEquals( "abc", n.getLiteralLexicalForm());
+    }
+    
+    @Test(expected=ExprEvalException.class)
+    public void testCheckAndGetStringLiteral4() {
+        // The form "abc"^^rdf:langString (no lang tag) is not derived from xsd:string. 
+        NodeValue nv = NodeValue.makeNode("abc", RDF.dtLangString) ;
+        Node n = NodeFunctions.checkAndGetStringLiteral("Test", nv);
+        assertEquals( "abc", n.getLiteralLexicalForm());
+    }
+
 }