You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by ds...@apache.org on 2011/10/12 14:15:56 UTC

svn commit: r1182329 - /incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java

Author: dspicar
Date: Wed Oct 12 12:15:55 2011
New Revision: 1182329

URL: http://svn.apache.org/viewvc?rev=1182329&view=rev
Log:
CLEREZZA-640: applied patch by Rupert Westenthaler that extends SimpleLiteralFactory with support for the java.lang.Float data type.

Modified:
    incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java

Modified: incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java?rev=1182329&r1=1182328&r2=1182329&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java (original)
+++ incubator/clerezza/trunk/parent/rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/SimpleLiteralFactory.java Wed Oct 12 12:15:55 2011
@@ -70,10 +70,12 @@ public class SimpleLiteralFactory extend
 		typeConverterMap.put(BigInteger.class, new BigIntegerConverter());
 		typeConverterMap.put(Long.class, new LongConverter());
 		typeConverterMap.put(Double.class, new DoubleConverter());
+		typeConverterMap.put(Float.class, new FloatConverter());
 		typeConverterMap.put(UriRef.class, new UriRefConverter());
 	}
 
 	final private static UriRef xsdDouble =xsd("double");
+    final private static UriRef xsdFloat =xsd("float");
 	final private static UriRef xsdAnyURI =xsd("anyURI");
 
 	final private static UriRef xsd(String name) {
@@ -206,6 +208,22 @@ public class SimpleLiteralFactory extend
 	}
 
 
+    private static class FloatConverter implements TypeConverter<Float> {
+
+        @Override
+        public TypedLiteral createTypedLiteral(Float value) {
+            return new TypedLiteralImpl(value.toString(), xsdFloat);
+        }
+
+        @Override
+        public Float createObject(TypedLiteral literal) {
+            if (!literal.getDataType().equals(xsdFloat)) {
+                throw new InvalidLiteralTypeException(Float.class, literal.getDataType());
+            }
+            return Float.valueOf(literal.getLexicalForm());
+        }
+    }
+    
 	private static class DoubleConverter implements TypeConverter<Double> {