Author: reto
Date: Thu Sep 23 11:00:03 2010
New Revision: 1000405

URL: http://svn.apache.org/viewvc?rev=1000405&view=rev
Log:
CLEREZZA-303: omitting decimal part of section if the point in time has no 
fraction of seconds

Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/util/W3CDateFormat.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.jena.tdb.storage/src/test/java/org/apache/clerezza/rdf/jena/tdb/storage/TdbMGraphTest.java

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/util/W3CDateFormat.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/util/W3CDateFormat.java?rev=1000405&r1=1000404&r2=1000405&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/util/W3CDateFormat.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/impl/util/W3CDateFormat.java
 Thu Sep 23 11:00:03 2010
@@ -29,8 +29,10 @@ public class W3CDateFormat extends DateF
         */
        public static final W3CDateFormat instance = new W3CDateFormat();
 
-       private static final SimpleDateFormat dateFormat = new SimpleDateFormat(
+       private static final SimpleDateFormat dateFormatWithMillis = new 
SimpleDateFormat(
                        "yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+       private static final SimpleDateFormat dateFormatNoMillis = new 
SimpleDateFormat(
+                       "yyyy-MM-dd'T'HH:mm:ssZ");
 
        private static final long serialVersionUID = 3258407344076372025L;
 
@@ -40,9 +42,12 @@ public class W3CDateFormat extends DateF
         * @see java.text.DateFormat#format(java.util.Date, 
java.lang.StringBuffer,
         *      java.text.FieldPosition)
         */
+       @Override
        public StringBuffer format(Date date, StringBuffer toAppendTo,
                        FieldPosition fieldPosition) {
 
+               final DateFormat dateFormat = (date.getTime() % 1000) == 0 ?
+                       dateFormatNoMillis : dateFormatWithMillis;
                String string = dateFormat.format(date);
                StringBuffer result = new StringBuffer(string);
                result.insert(string.length() - 2, ':');

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.jena.tdb.storage/src/test/java/org/apache/clerezza/rdf/jena/tdb/storage/TdbMGraphTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.jena.tdb.storage/src/test/java/org/apache/clerezza/rdf/jena/tdb/storage/TdbMGraphTest.java?rev=1000405&r1=1000404&r2=1000405&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.jena.tdb.storage/src/test/java/org/apache/clerezza/rdf/jena/tdb/storage/TdbMGraphTest.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.jena.tdb.storage/src/test/java/org/apache/clerezza/rdf/jena/tdb/storage/TdbMGraphTest.java
 Thu Sep 23 11:00:03 2010
@@ -21,6 +21,7 @@ package org.apache.clerezza.rdf.jena.tdb
 import java.io.File;
 import java.io.IOException;
 import java.util.Date;
+import java.util.Iterator;
 import org.apache.clerezza.rdf.core.BNode;
 import org.apache.clerezza.rdf.core.LiteralFactory;
 import org.junit.After;
@@ -78,4 +79,25 @@ public class TdbMGraphTest extends MGrap
                Assert.assertTrue(graph.contains(triple));
        }
 
+       @Test
+       public void dateStorage2() {
+               MGraph graph = getEmptyMGraph();
+               Date date = new Date(0);
+               LiteralFactory literalFactory = LiteralFactory.getInstance();
+               TypedLiteral dateLiteral = 
literalFactory.createTypedLiteral(date);
+               System.out.println(dateLiteral);
+               UriRef property = new UriRef("http://example.com/property";);
+               Triple triple = new TripleImpl(new BNode(), property, 
dateLiteral);
+               graph.add(triple);
+
+               Triple tripleFromGraph = null;
+               Iterator<Triple> propertyTriples = graph.filter(null, property, 
dateLiteral);
+               if (propertyTriples.hasNext()) {
+                       tripleFromGraph = propertyTriples.next();
+               } else {
+                       Assert.assertTrue(false);
+               }
+               Assert.assertEquals(dateLiteral, tripleFromGraph.getObject());
+       }
+
 }


Reply via email to