You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/07/29 10:02:24 UTC

git commit: [OLINGO-380] - Fix for java.sql.Date, java.sql.Time in create and update scenario.

Repository: olingo-odata2
Updated Branches:
  refs/heads/master 2d5a019b7 -> 44604c78f


[OLINGO-380] - Fix for java.sql.Date, java.sql.Time in create and update
scenario.

Support for java.util.Date in Read, Query, Create and Update scenario.


Signed-off-by: Chandan V A <ch...@sap.com>

Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/44604c78
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/44604c78
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/44604c78

Branch: refs/heads/master
Commit: 44604c78f5fcca8e4960527ac54cb4f5ffa96f63
Parents: 2d5a019
Author: Chandan V A <ch...@sap.com>
Authored: Tue Jul 29 13:32:03 2014 +0530
Committer: Chandan V A <ch...@sap.com>
Committed: Tue Jul 29 13:32:03 2014 +0530

----------------------------------------------------------------------
 .../odata2/jpa/processor/core/access/data/JPAEntity.java     | 8 ++++++++
 .../jpa/processor/core/access/model/JPATypeConvertor.java    | 6 ++++--
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/44604c78/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
index 3c42288..19ca88b 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
@@ -354,6 +354,14 @@ public class JPAEntity {
       } else if (parameterType.equals(Timestamp.class)) {
         Timestamp ts = new Timestamp(((Calendar) entityPropertyValue).getTimeInMillis());
         method.invoke(entity, ts);
+      } else if (parameterType.equals(java.util.Date.class)) {
+        method.invoke(entity, ((Calendar) entityPropertyValue).getTime());
+      } else if (parameterType.equals(java.sql.Date.class)) {
+        long timeInMs = ((Calendar) entityPropertyValue).getTimeInMillis();
+        method.invoke(entity, new java.sql.Date(timeInMs));
+      } else if (parameterType.equals(java.sql.Time.class)) {
+        long timeInMs = ((Calendar) entityPropertyValue).getTimeInMillis();
+        method.invoke(entity, new java.sql.Time(timeInMs));
       } else {
         method.invoke(entity, entityPropertyValue);
       }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/44604c78/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
index 8ea1ce3..10a6d73 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
@@ -82,8 +82,10 @@ public class JPATypeConvertor {
       return EdmSimpleTypeKind.Byte;
     } else if (jpaType.equals(Boolean.class) || jpaType.equals(boolean.class)) {
       return EdmSimpleTypeKind.Boolean;
-    } else if ((jpaType.equals(Date.class)) || (jpaType.equals(Calendar.class)) ||
-        jpaType.equals(Timestamp.class)) {
+    } else if (jpaType.equals(java.sql.Time.class)) {
+      return EdmSimpleTypeKind.Time;
+    } else if (jpaType.equals(Date.class) || jpaType.equals(Calendar.class) ||
+        jpaType.equals(Timestamp.class) || jpaType.equals(java.util.Date.class)) {
       try {
         if ((currentAttribute != null)
             && (determineTemporalType(currentAttribute)