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/04/29 21:04:39 UTC
svn commit: r1331975 - in
/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql:
expr/NodeValue.java expr/nodevalue/XSDFuncOp.java util/Utils.java
Author: andy
Date: Sun Apr 29 19:04:38 2012
New Revision: 1331975
URL: http://svn.apache.org/viewvc?rev=1331975&view=rev
Log:
Odds and ends
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/Utils.java
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java?rev=1331975&r1=1331974&r2=1331975&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java Sun Apr 29 19:04:38 2012
@@ -151,6 +151,14 @@ public abstract class NodeValue extends
private static final String strForUnNode = "node value nothing" ;
public static final NodeValue nvNothing = NodeValue.makeNode(Node.createAnon(new AnonId("node value nothing"))) ;
+ private static DatatypeFactory datatypefactory = null ;
+ static
+ {
+ try { datatypefactory = DatatypeFactory.newInstance() ; }
+ catch (DatatypeConfigurationException ex)
+ { throw new ARQInternalErrorException("Can't create a javax.xml DatatypeFactory") ; }
+ }
+
// Use NodeValue.toNode(NodeValue)
// public static Node asNode(NodeValue nv)
// {
@@ -182,8 +190,12 @@ public abstract class NodeValue extends
// ----------------------------------------------------------------
// ---- Construct NodeValue without a graph node.
+ /** Convenience operation - parse a string to produce a NodeValue - common namespaces like xsd: are built-in */
+ public static NodeValue parse(String string)
+ { return makeNode(NodeFactory.parseNode(string)) ; }
+
public static NodeValue makeInteger(long i)
- { return new NodeValueInteger(i) ; }
+ { return new NodeValueInteger(BigInteger.valueOf(i)) ; }
public static NodeValue makeInteger(BigInteger i)
{ return new NodeValueInteger(i) ; }
@@ -204,11 +216,10 @@ public abstract class NodeValue extends
{ return new NodeValueDecimal(d) ; }
public static NodeValue makeDecimal(long i)
- //{ return new NodeValueDecimal(new BigDecimal(i)) ; } // Java 1.5-ism - the long constructor. If 1.4, type promotion to double :-(
{ return new NodeValueDecimal(BigDecimal.valueOf(i)) ; }
public static NodeValue makeDecimal(double d)
- { return new NodeValueDecimal(new BigDecimal(d)) ; } // java 1.5 ; use BigDecimal.valueOf(double)
+ { return new NodeValueDecimal(BigDecimal.valueOf(d)) ; }
public static NodeValue makeDecimal(String lexicalForm)
{ return NodeValue.makeNode(lexicalForm, XSDDatatype.XSDdecimal) ; }
@@ -235,6 +246,9 @@ public abstract class NodeValue extends
XSDDateTime xdt = new XSDDateTime(cal) ;
return new NodeValueDate(xdt) ;
}
+
+ public static NodeValue makeDuration(String lexicalForm)
+ { return NodeValue.makeNode(lexicalForm, XSDDatatype.XSDduration) ; }
public static NodeValue makeBoolean(boolean b)
{ return b ? NodeValue.TRUE : NodeValue.FALSE ; }
@@ -336,8 +350,6 @@ public abstract class NodeValue extends
public static NodeValue makeNodeDecimal(BigDecimal decimal)
{
- // Java 1.5-ism
- //NodeValue nv = makeNode(decimal.toPlainString(), null, XSD.decimal.getURI()) ;
NodeValue nv = makeNode(Utils.stringForm(decimal), null, XSD.decimal.getURI()) ;
return nv ;
}
@@ -356,7 +368,6 @@ public abstract class NodeValue extends
public static NodeValue makeNodeDateTime(Calendar date)
{
- //XSDDateTime dt = new XSDDateTime(date) ;
String lex = Utils.calendarToXSDDateTimeString(date) ;
NodeValue nv = makeNode(lex, XSDDatatype.XSDdateTime) ;
return nv ;
@@ -1105,18 +1116,10 @@ public abstract class NodeValue extends
}
// ----------------------------------------------------------------
-
- private static DatatypeFactory df = null ;
- static
- {
- try { df = DatatypeFactory.newInstance() ; }
- catch (DatatypeConfigurationException ex)
- { throw new ARQInternalErrorException("Can't create a javax.xml DatatypeFactory") ; }
- }
private static Duration createDuration(String lex)
{
- return df.newDuration(lex) ;
+ return datatypefactory.newDuration(lex) ;
}
// Point to catch all exceptions.
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java?rev=1331975&r1=1331974&r2=1331975&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/XSDFuncOp.java Sun Apr 29 19:04:38 2012
@@ -110,9 +110,6 @@ public class XSDFuncOp
}
}
- // Java 1.4 does not have BigDecimal.ZERO
- private static final BigDecimal BigDecimalZero = new BigDecimal(0e0) ;
-
/* Quote from XQuery/XPath F&O:
For xs:float or xs:double values, a positive number divided by positive zero returns INF.
A negative number divided by positive zero returns -INF.
@@ -136,7 +133,7 @@ public class XSDFuncOp
}
case OP_DECIMAL:
{
- if ( nv2.getDecimal().compareTo(BigDecimalZero) == 0 )
+ if ( nv2.getDecimal().compareTo(BigDecimal.ZERO) == 0 )
throw new ExprEvalException("Divide by zero in decimal divide") ;
BigDecimal d1 = nv1.getDecimal() ;
BigDecimal d2 = nv2.getDecimal() ;
Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/Utils.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/Utils.java?rev=1331975&r1=1331974&r2=1331975&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/Utils.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/util/Utils.java Sun Apr 29 19:04:38 2012
@@ -48,14 +48,6 @@ public class Utils
return tmp ;
}
- // See also:
- // Java 1.5
- // javax.xml.datatype.XMLGregorianCalendar
- // javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar
-
- // warning all calendar based operations force the timezone
- // to the default if not present.
-
public static String nowAsXSDDateTimeString()
{
return calendarToXSDDateTimeString(new GregorianCalendar()) ;
@@ -148,14 +140,8 @@ public class Utils
return sign+tzH_str+":"+tzM_str ;
}
- // Java 1.4 .toString == Java 1.5 .toPlainString
- // Java 1.5 .toString => different to .toString 1.4
- // Portable(?!) - round to scale 0 and get the toString
-
static public String stringForm(BigDecimal decimal)
{
- // Java 1.5-ism --
- //return decimal.toPlainString() ;
return decimal.toPlainString() ;
}