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 2014/11/23 12:04:04 UTC

[1/6] jena git commit: Put message in exception.

Repository: jena
Updated Branches:
  refs/heads/master 7cf034e58 -> a1f70e027


Put message in exception.

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

Branch: refs/heads/master
Commit: c23422af18ac84cce2a540fab436471f8cc812a4
Parents: 7cf034e
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 22 15:58:04 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 22 15:58:04 2014 +0000

----------------------------------------------------------------------
 .../org/apache/jena/riot/ErrorHandlerTestLib.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/c23422af/jena-arq/src/test/java/org/apache/jena/riot/ErrorHandlerTestLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/ErrorHandlerTestLib.java b/jena-arq/src/test/java/org/apache/jena/riot/ErrorHandlerTestLib.java
index 2f739fe..9e48127 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/ErrorHandlerTestLib.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/ErrorHandlerTestLib.java
@@ -23,27 +23,28 @@ import java.util.List ;
 
 import org.apache.jena.riot.system.ErrorHandler ;
 
+/** Error handled to convert anything to an exception */ 
 public class ErrorHandlerTestLib
 {
-    public static class ExFatal extends RuntimeException {}
+    public static class ExFatal extends RuntimeException { ExFatal(String msg) { super(msg) ; } }
 
-    public static class ExError extends RuntimeException {}
+    public static class ExError extends RuntimeException { ExError(String msg) { super(msg) ; } }
 
-    public static class ExWarning extends RuntimeException {}
+    public static class ExWarning extends RuntimeException { ExWarning(String msg) { super(msg) ; } }
 
     public static class ErrorHandlerEx implements ErrorHandler
     {
         @Override
         public void warning(String message, long line, long col)
-        { throw new ExWarning() ; }
+        { throw new ExWarning(message) ; }
     
         @Override
         public void error(String message, long line, long col)
-        { throw new ExError() ; }
+        { throw new ExError(message) ; }
     
         @Override
         public void fatal(String message, long line, long col)
-        { throw new ExFatal() ; }
+        { throw new ExFatal(message) ; }
     }
 
     // Error handler that records messages
@@ -61,7 +62,7 @@ public class ErrorHandlerTestLib
     
         @Override
         public void fatal(String message, long line, long col)
-        { msgs.add(message) ; throw new ExFatal() ; }
+        { msgs.add(message) ; throw new ExFatal(message) ; }
     }
 
 }


[2/6] jena git commit: JENA-816 : Checking literals (RDF 1.0 and 1.1 forms)

Posted by an...@apache.org.
JENA-816 : Checking literals (RDF 1.0 and 1.1 forms)

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

Branch: refs/heads/master
Commit: 707ecb9f81668ca24a88edb17c51b6e77105c734
Parents: c23422a
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 22 16:54:57 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 22 16:54:57 2014 +0000

----------------------------------------------------------------------
 .../jena/riot/checker/CheckerLiterals.java      | 164 ++++++++++---------
 1 file changed, 89 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/707ecb9f/jena-arq/src/main/java/org/apache/jena/riot/checker/CheckerLiterals.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/checker/CheckerLiterals.java b/jena-arq/src/main/java/org/apache/jena/riot/checker/CheckerLiterals.java
index ca5cf6b..4fa8f53 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/checker/CheckerLiterals.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/checker/CheckerLiterals.java
@@ -16,8 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.jena.riot.checker;
+package org.apache.jena.riot.checker ;
 
+import java.util.Objects ;
 import java.util.regex.Pattern ;
 
 import org.apache.jena.riot.SysRIOT ;
@@ -28,91 +29,88 @@ import org.apache.xerces.impl.dv.ValidationContext ;
 import org.apache.xerces.impl.dv.XSSimpleType ;
 import org.apache.xerces.impl.validation.ValidationState ;
 
+import com.hp.hpl.jena.JenaRuntime ;
 import com.hp.hpl.jena.datatypes.RDFDatatype ;
 import com.hp.hpl.jena.datatypes.xsd.impl.XSDAbstractDateTimeType ;
 import com.hp.hpl.jena.datatypes.xsd.impl.XSDBaseNumericType ;
 import com.hp.hpl.jena.datatypes.xsd.impl.XSDDouble ;
 import com.hp.hpl.jena.datatypes.xsd.impl.XSDFloat ;
 import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.graph.NodeConst ;
 
-public class CheckerLiterals implements NodeChecker
-{
+public class CheckerLiterals implements NodeChecker {
     // A flag to enable the test suite to read bad data.
     public static boolean WarnOnBadLiterals = true ;
-    
-    private ErrorHandler handler ;
-    public CheckerLiterals(ErrorHandler handler)
-    {
+
+    private ErrorHandler  handler ;
+
+    public CheckerLiterals(ErrorHandler handler) {
         this.handler = handler ;
     }
-    
+
     @Override
-    public boolean check(Node node, long line, long col)
-    { return node.isLiteral() && checkLiteral(node, handler, line, col) ; }
-    
+    public boolean check(Node node, long line, long col) {
+        return node.isLiteral() && checkLiteral(node, handler, line, col) ;
+    }
+
     final static private Pattern langPattern = Pattern.compile("[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*") ;
 
-    public static boolean checkLiteral(Node node, ErrorHandler handler, long line, long col)
-    {
-        if ( ! node.isLiteral() )
-        {
-            handler.error("Not a literal: "+node, line, col) ;
+    public static boolean checkLiteral(Node node, ErrorHandler handler, long line, long col) {
+        if ( !node.isLiteral() ) {
+            handler.error("Not a literal: " + node, line, col) ;
             return false ;
         }
-       
-        return checkLiteral(node.getLiteralLexicalForm(), node.getLiteralLanguage(), node.getLiteralDatatype(),  
-                            handler, line, col) ;
+
+        return checkLiteral(node.getLiteralLexicalForm(), node.getLiteralLanguage(), node.getLiteralDatatype(), handler, line, col) ;
     }
-    
-    
-    public static boolean checkLiteral(String lexicalForm, RDFDatatype datatype, 
-                                       ErrorHandler handler, long line, long col)
-    {
+
+    public static boolean checkLiteral(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col) {
         return checkLiteral(lexicalForm, null, datatype, handler, line, col) ;
     }
 
-    public static boolean checkLiteral(String lexicalForm, String lang, 
-                                       ErrorHandler handler, long line, long col)
-    {
+    public static boolean checkLiteral(String lexicalForm, String lang, ErrorHandler handler, long line, long col) {
         return checkLiteral(lexicalForm, lang, null, handler, line, col) ;
     }
-    
-    public static boolean checkLiteral(String lexicalForm, String lang, RDFDatatype datatype, 
-                                       ErrorHandler handler, long line, long col)
-    {
-        if ( ! WarnOnBadLiterals )
+
+    public static boolean checkLiteral(String lexicalForm, String lang, RDFDatatype datatype, ErrorHandler handler,
+                                       long line, long col) {
+        if ( !WarnOnBadLiterals )
             return true ;
-        
-        boolean hasLang = lang != null && ! lang.equals("") ;
-        
-        if ( datatype != null && hasLang )
-            handler.error("Literal has datatype and language", line, col) ;
-        
-        // Datatype check (and plain literals are always well formed)
-        if ( datatype != null )
-            return validateByDatatype(lexicalForm, datatype, handler, line, col) ;
-        
-        // No datatype.  Language?
-
-        if ( hasLang )
-        {
-            // Not a perfect test.
-            if ( lang.length() > 0 && ! langPattern.matcher(lang).matches() ) 
-            {
-                handler.warning("Language not valid: "+lang, line, col) ;
-                return false; 
+
+        boolean hasLang = lang != null && !lang.equals("") ;
+        if ( !hasLang ) {
+            // Datatype check (and RDF 1.0 simpl literals are always well
+            // formed)
+            if ( datatype != null )
+                return validateByDatatype(lexicalForm, datatype, handler, line, col) ;
+            return true ;
+        }
+
+        // Has a language.
+        if ( JenaRuntime.isRDF11 ) {
+            if ( datatype != null && !Objects.equals(datatype.getURI(), NodeConst.rdfLangString.getURI()) ) {
+                handler.error("Literal has language but wrong datatype", line, col) ;
+                return false ;
+            }
+        } else {
+            if ( datatype != null ) {
+                handler.error("Literal has datatype and language", line, col) ;
+                return false ;
             }
         }
-        
+
+        // Test language tag format -- not a perfect test.
+        if ( !lang.isEmpty() && !langPattern.matcher(lang).matches() ) {
+            handler.warning("Language not valid: " + lang, line, col) ;
+            return false ;
+        }
         return true ;
     }
 
-    protected static boolean validateByDatatype(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col)
-    {
-        // XXX Reconsider.
-        if ( SysRIOT.StrictXSDLexicialForms )
-        {
-            if ( datatype instanceof XSDBaseNumericType || datatype instanceof XSDFloat || datatype instanceof XSDDouble )
+    protected static boolean validateByDatatype(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col) {
+        if ( SysRIOT.StrictXSDLexicialForms ) {
+            if ( datatype instanceof XSDBaseNumericType || datatype instanceof XSDFloat
+                 || datatype instanceof XSDDouble )
                 return validateByDatatypeNumeric(lexicalForm, datatype, handler, line, col) ;
             if ( datatype instanceof XSDAbstractDateTimeType )
                 return validateByDatatypeDateTime(lexicalForm, datatype, handler, line, col) ;
@@ -120,30 +118,46 @@ public class CheckerLiterals implements NodeChecker
         return validateByDatatypeJena(lexicalForm, datatype, handler, line, col) ;
     }
 
-    protected static boolean validateByDatatypeJena(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col)
-    {
+    protected static boolean validateByDatatypeJena(String lexicalForm, RDFDatatype datatype, ErrorHandler handler,
+                                                    long line, long col) {
         if ( datatype.isValid(lexicalForm) )
-            return true ; 
-        handler.warning("Lexical form '"+lexicalForm+"' not valid for datatype "+datatype.getURI(), line, col) ;
+            return true ;
+        handler.warning("Lexical form '" + lexicalForm + "' not valid for datatype " + datatype.getURI(), line, col) ;
         return false ;
     }
-    
-    protected static boolean validateByDatatypeDateTime(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col)
-    {
-        if ( lexicalForm.contains(" ") )  { handler.warning("Whitespace in XSD date or time literal: '"+lexicalForm+"'", line, col) ; return false ; }
-        if ( lexicalForm.contains("\n") ) { handler.warning("Newline in XSD date or time literal: '"+lexicalForm+"'", line, col) ; return false ; }
-        if ( lexicalForm.contains("\r") ) { handler.warning("Newline in XSD date or time literal: '"+lexicalForm+"'", line, col) ; return false ; }
-        //if ( ! StrictXSDLexicialForms )
+
+    protected static boolean validateByDatatypeDateTime(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col) {
+        if ( lexicalForm.contains(" ") ) {
+            handler.warning("Whitespace in XSD date or time literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
+        if ( lexicalForm.contains("\n") ) {
+            handler.warning("Newline in XSD date or time literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
+        if ( lexicalForm.contains("\r") ) {
+            handler.warning("Newline in XSD date or time literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
+        // if ( ! StrictXSDLexicialForms )
         // Jena is already strict.
         return validateByDatatypeJena(lexicalForm, datatype, handler, line, col) ;
     }
-    
-    protected static boolean validateByDatatypeNumeric(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col)
-    {
+
+    protected static boolean validateByDatatypeNumeric(String lexicalForm, RDFDatatype datatype, ErrorHandler handler, long line, long col) {
         // Do a white space check as well for numerics.
-        if ( lexicalForm.contains(" ") )  { handler.warning("Whitespace in numeric XSD literal: '"+lexicalForm+"'", line, col) ; return false ; } 
-        if ( lexicalForm.contains("\n") ) { handler.warning("Newline in numeric XSD literal: '"+lexicalForm+"'", line, col) ; return false ; }
-        if ( lexicalForm.contains("\r") ) { handler.warning("Carriage return in numeric XSD literal: '"+lexicalForm+"'", line, col) ; return false ; }
+        if ( lexicalForm.contains(" ") ) {
+            handler.warning("Whitespace in numeric XSD literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
+        if ( lexicalForm.contains("\n") ) {
+            handler.warning("Newline in numeric XSD literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
+        if ( lexicalForm.contains("\r") ) {
+            handler.warning("Carriage return in numeric XSD literal: '" + lexicalForm + "'", line, col) ;
+            return false ;
+        }
         
 //        if ( lit.getDatatype() instanceof XSDAbstractDateTimeType )
 //        {


[4/6] jena git commit: Use JDK string replacement.

Posted by an...@apache.org.
Use JDK string replacement.

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

Branch: refs/heads/master
Commit: d7532127806a10a5f651418229f6aea290f79243
Parents: 9647622
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 22 17:32:52 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 22 17:32:52 2014 +0000

----------------------------------------------------------------------
 .../java/com/hp/hpl/jena/rdf/model/impl/Util.java   | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/d7532127/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/Util.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/Util.java b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/Util.java
index 623174a..7b4b385 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/Util.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/rdf/model/impl/Util.java
@@ -185,20 +185,8 @@ public class Util extends Object {
             }
         }
 
-    public static String replace(
-        String s,
-        String oldString,
-        String newString) {
-        String result = "";
-        int length = oldString.length();
-        int pos = s.indexOf(oldString);
-        int lastPos = 0;
-        while (pos >= 0) {
-            result = result + s.substring(lastPos, pos) + newString;
-            lastPos = pos + length;
-            pos = s.indexOf(oldString, lastPos);
-        }
-        return result + s.substring(lastPos, s.length());
+    public static String replace(String s, String oldString, String newString) {
+        return s.replace(oldString, newString) ;
     }
 
     /** Return true if the literal should be written as a string, without datatype or lang. (RDF 1.0 and RDF 1.1) */ 


[3/6] jena git commit: JENA-816 : SPARQL for RDF 1.1 : "Argument Compatibility Rules"

Posted by an...@apache.org.
JENA-816 : SPARQL for RDF 1.1 : "Argument Compatibility Rules"

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

Branch: refs/heads/master
Commit: 96476222d3bd9dd8c59e7e5ccde586fd3b124a7e
Parents: 707ecb9
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 22 17:31:52 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 22 17:31:52 2014 +0000

----------------------------------------------------------------------
 .../hpl/jena/sparql/expr/nodevalue/NodeFunctions.java  | 12 ++++++++++--
 .../com/hp/hpl/jena/sparql/expr/TestNodeFunctions.java | 13 +++++--------
 .../com/hp/hpl/jena/sparql/expr/TestNodeValue.java     | 10 +++++++---
 3 files changed, 22 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/96476222/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 94013ff..ff52250 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
@@ -30,11 +30,13 @@ 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.sparql.expr.ExprEvalException ;
 import com.hp.hpl.jena.sparql.expr.ExprTypeException ;
 import com.hp.hpl.jena.sparql.expr.NodeValue ;
 import com.hp.hpl.jena.sparql.graph.NodeConst ;
 import com.hp.hpl.jena.sparql.util.FmtUtils ;
+import com.hp.hpl.jena.sparql.util.NodeUtils ;
 import com.hp.hpl.jena.vocabulary.XSD ;
 
 /**
@@ -52,9 +54,15 @@ public class NodeFunctions {
         Node n = nv.asNode() ;
         if ( !n.isLiteral() )
             throw new ExprEvalException(label + ": Not a literal: " + nv) ;
-        RDFDatatype dt = n.getLiteralDatatype() ;
         String lang = n.getLiteralLanguage() ;
-
+        
+        if ( NodeUtils.isLangString(n) )
+            // Language tag.  Legal.  
+            return n ;
+        
+        // No language tag : either no datatype or a datatype of xsd:string 
+        // Special case : rdf:langString and no language ==> Illegal
+        RDFDatatype dt = n.getLiteralDatatype() ;
         if ( dt != null && !dt.equals(XSDDatatype.XSDstring) )
             throw new ExprEvalException(label + ": Not a string literal: " + nv) ;
         return n ;

http://git-wip-us.apache.org/repos/asf/jena/blob/96476222/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 3e0bd4e..af59b16 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
@@ -21,6 +21,7 @@ package com.hp.hpl.jena.sparql.expr ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.junit.Test ;
 
+import com.hp.hpl.jena.JenaRuntime ;
 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.graph.NodeFactory ;
@@ -32,13 +33,6 @@ public class TestNodeFunctions extends BaseTest {
     private static final double accuracyExact = 0.0d ;
     private static final double accuracyClose = 0.000001d ;
 
-    // public static TestSuite suite()
-    // {
-    // TestSuite ts = new TestSuite(TestNodeFunctions.class) ;
-    // ts.setName(Utils.classShortName(TestNodeFunctions.class)) ;
-    // return ts ;
-    // }
-
     @Test public void testSameTerm1() {
         Node n1 = NodeFactory.createLiteral("xyz") ;
         Node n2 = NodeFactory.createLiteral("xyz") ;
@@ -60,7 +54,10 @@ public class TestNodeFunctions extends BaseTest {
     @Test public void testSameTerm4() {
         Node n1 = NodeFactory.createLiteral("xyz") ;
         Node n2 = NodeFactory.createLiteral("xyz", null, XSDDatatype.XSDstring) ;
-        assertFalse(NodeFunctions.sameTerm(n1, n2)) ;
+        if ( JenaRuntime.isRDF11 )
+            assertTrue(NodeFunctions.sameTerm(n1, n2)) ;
+        else
+            assertFalse(NodeFunctions.sameTerm(n1, n2)) ;
     }
 
     @Test public void testSameTerm5() {

http://git-wip-us.apache.org/repos/asf/jena/blob/96476222/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
index 83b323b..f6d1296 100644
--- a/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
+++ b/jena-arq/src/test/java/com/hp/hpl/jena/sparql/expr/TestNodeValue.java
@@ -26,6 +26,7 @@ import java.util.TimeZone ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.junit.Test ;
 
+import com.hp.hpl.jena.JenaRuntime ;
 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp ;
@@ -630,9 +631,12 @@ public class TestNodeValue extends BaseTest
         assertTrue("Not a string: "+v, v.isString()) ;
         assertTrue("Not a node: "+v, v.hasNode()) ;
         String actualStr = v.asQuotedString() ;
-        assertEquals("Print form mismatch",
-                     "\"string\"^^<"+XSDDatatype.XSDstring.getURI()+">",
-                     actualStr) ;
+        String rightAnswer = JenaRuntime.isRDF11
+            // RDF 1.1 -- appearance is a without ^^
+            ? "\"string\""
+            : "\"string\"^^<"+XSDDatatype.XSDstring.getURI()+">" ;
+        
+        assertEquals("Print form mismatch", rightAnswer, actualStr) ;
     }
 
     // TODO testSameValueDecimal tests


[5/6] jena git commit: Escape \" in LiteralLabel.toString.

Posted by an...@apache.org.
Escape \" in LiteralLabel.toString.

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

Branch: refs/heads/master
Commit: 2111efcf4ed6e378fe8491872e54ce3868c5f509
Parents: d753212
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Nov 22 17:33:18 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Nov 22 17:33:18 2014 +0000

----------------------------------------------------------------------
 .../hpl/jena/graph/impl/LiteralLabelImpl.java   | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2111efcf/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelImpl.java b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelImpl.java
index 97d6015..cb8be15 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelImpl.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/graph/impl/LiteralLabelImpl.java
@@ -24,9 +24,11 @@ import java.util.Objects ;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.hp.hpl.jena.JenaRuntime ;
 import com.hp.hpl.jena.datatypes.*;
 import com.hp.hpl.jena.datatypes.xsd.*;
 import com.hp.hpl.jena.datatypes.xsd.impl.*;
+import com.hp.hpl.jena.rdf.model.impl.Util ;
 import com.hp.hpl.jena.shared.impl.JenaParameters;
 
 /**
@@ -267,13 +269,21 @@ final /*public*/ class LiteralLabelImpl implements LiteralLabel {
 	*/
 	@Override
     public String toString(boolean quoting) {
-		StringBuilder b = new StringBuilder();
-		if (quoting) b.append('"');
-		b.append(getLexicalForm());
-		if (quoting) b.append('"');
-		if (lang != null && !lang.equals( "" )) b.append( "@" ).append(lang);
-		if (dtype != null) b.append( "^^" ).append(dtype.getURI());
-		return b.toString();
+        StringBuilder b = new StringBuilder() ;
+        if ( quoting )
+            b.append('"') ;
+        String lex = getLexicalForm() ;
+        lex = Util.replace(lex, "\"", "\\\"") ;
+        b.append(lex) ;
+        if ( quoting )
+            b.append('"') ;
+        if ( lang != null && !lang.equals("") )
+            b.append("@").append(lang) ;
+        else if ( dtype != null ) {
+            if ( ! ( JenaRuntime.isRDF11 && dtype.equals(XSDDatatype.XSDstring) ) )  
+                b.append("^^").append(dtype.getURI()) ;
+        }
+        return b.toString() ;
 	}
 
 	@Override


[6/6] jena git commit: Remove rather old comment item.

Posted by an...@apache.org.
Remove rather old comment item.

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

Branch: refs/heads/master
Commit: a1f70e0277d3e8675323e69d2b44f9e7f035c1ae
Parents: 2111efc
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Nov 23 11:03:52 2014 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Nov 23 11:03:52 2014 +0000

----------------------------------------------------------------------
 .../src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/a1f70e02/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java b/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java
index 0048c44..21d9839 100644
--- a/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java
+++ b/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java
@@ -285,7 +285,7 @@ public class XSDDatatype extends BaseDatatype {
     /**
      * Compares two instances of values of the given datatype.
      * This ignores lang tags and defers to the equality function
-     * defined by the Xerces package - to be checked.
+     * defined by the Xerces package.
      */
     @Override
     public boolean isEqual(LiteralLabel value1, LiteralLabel value2) {