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