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());
+ }
+
}