You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2014/11/11 12:02:53 UTC
marmotta git commit: fix facading tests for date parsing
Repository: marmotta
Updated Branches:
refs/heads/develop 676607916 -> 027d3ea7f
fix facading tests for date parsing
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/027d3ea7
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/027d3ea7
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/027d3ea7
Branch: refs/heads/develop
Commit: 027d3ea7fe456bd27c0f70ead5dc2bd0098eec2a
Parents: 6766079
Author: Sebastian Schaffert <ss...@apache.org>
Authored: Tue Nov 11 12:03:33 2014 +0100
Committer: Sebastian Schaffert <ss...@apache.org>
Committed: Tue Nov 11 12:03:33 2014 +0100
----------------------------------------------------------------------
.../facading/impl/FacadingInvocationHandler.java | 15 +++++----------
.../sesame/facading/util/FacadeUtils.java | 19 +++++++++++++++----
.../facading/primitive/BoxedFacadingTest.java | 12 ++++++------
3 files changed, 26 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/027d3ea7/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/impl/FacadingInvocationHandler.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/impl/FacadingInvocationHandler.java b/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/impl/FacadingInvocationHandler.java
index fb70791..52fd2e6 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/impl/FacadingInvocationHandler.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/impl/FacadingInvocationHandler.java
@@ -25,22 +25,15 @@ import org.apache.marmotta.commons.sesame.facading.api.FacadingPredicateBuilder;
import org.apache.marmotta.commons.sesame.facading.model.Facade;
import org.apache.marmotta.commons.sesame.facading.util.FacadeUtils;
import org.apache.marmotta.commons.util.DateUtils;
-import org.openrdf.model.Literal;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
+import org.joda.time.DateTime;
+import org.openrdf.model.*;
import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.RepositoryException;
import org.openrdf.repository.RepositoryResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
+import java.lang.reflect.*;
import java.util.*;
/**
@@ -756,6 +749,8 @@ class FacadingInvocationHandler implements InvocationHandler {
private Value createLiteral(Object o, Locale loc) {
if (o instanceof Date) {
return connection.getValueFactory().createLiteral(DateUtils.getXMLCalendar((Date) o));
+ } else if (o instanceof DateTime) {
+ return connection.getValueFactory().createLiteral(DateUtils.getXMLCalendar((DateTime) o));
} else if (Integer.class.isAssignableFrom(o.getClass())) {
return connection.getValueFactory().createLiteral((Integer) o);
} else if (Long.class.isAssignableFrom(o.getClass())) {
http://git-wip-us.apache.org/repos/asf/marmotta/blob/027d3ea7/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/util/FacadeUtils.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/util/FacadeUtils.java b/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/util/FacadeUtils.java
index 3c29da5..f003e17 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/util/FacadeUtils.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-facading/src/main/java/org/apache/marmotta/commons/sesame/facading/util/FacadeUtils.java
@@ -19,12 +19,12 @@ package org.apache.marmotta.commons.sesame.facading.util;
import org.apache.commons.lang3.LocaleUtils;
import org.apache.marmotta.commons.sesame.facading.model.Facade;
-import org.apache.marmotta.commons.util.DateUtils;
+import org.joda.time.DateTime;
+import org.joda.time.format.ISODateTimeFormat;
import org.openrdf.model.Resource;
import org.openrdf.model.Value;
import java.lang.annotation.Annotation;
-import java.text.ParseException;
import java.util.Collection;
import java.util.Date;
import java.util.Locale;
@@ -354,8 +354,19 @@ public class FacadeUtils {
return null;
} else {
try {
- return returnType.cast(DateUtils.ISO8601FORMAT.parse(value));
- } catch (final ParseException e) {
+ return returnType.cast(ISODateTimeFormat.dateTimeParser().parseDateTime(value).toDate());
+ } catch (final IllegalArgumentException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+ } else if (DateTime.class.equals(returnType)) {
+ if(value == null) {
+ return null;
+ } else {
+ try {
+ return returnType.cast(ISODateTimeFormat.dateTimeParser().parseDateTime(value));
+ } catch (final IllegalArgumentException e) {
e.printStackTrace();
return null;
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/027d3ea7/commons/marmotta-sesame-tools/marmotta-util-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java b/commons/marmotta-sesame-tools/marmotta-util-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java
index 0f6e330..01c7991 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-facading/src/test/java/org/apache/marmotta/commons/sesame/facading/primitive/BoxedFacadingTest.java
@@ -17,11 +17,6 @@
package org.apache.marmotta.commons.sesame.facading.primitive;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Random;
-import java.util.UUID;
-
import org.apache.marmotta.commons.sesame.facading.AbstractFacadingTest;
import org.apache.marmotta.commons.sesame.facading.FacadingFactory;
import org.apache.marmotta.commons.sesame.facading.api.Facading;
@@ -34,6 +29,11 @@ import org.openrdf.model.URI;
import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.RepositoryException;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Random;
+import java.util.UUID;
+
public class BoxedFacadingTest extends AbstractFacadingTest {
private Random random;
@@ -143,7 +143,7 @@ public class BoxedFacadingTest extends AbstractFacadingTest {
final Locale locale = boxed.getLocale();
- Assert.assertNotNull(locale);
+ Assert.assertNotNull("Locale " + l + "not properly unboxed",locale);
//Assert.assertEquals(l, locale);
Assert.assertEquals(l.getDisplayLanguage(), locale.getDisplayLanguage());
}