You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2014/12/18 22:15:06 UTC

isis git commit: ISIS-955: IsisMoneyMapping for JDO Objectstore.

Repository: isis
Updated Branches:
  refs/heads/master 21170a38b -> dff5c96da


ISIS-955: IsisMoneyMapping for JDO Objectstore.

Tab -> space
Add message to IndexOutOfBoundsException
Check for instance type before casting (just to be on the safe side)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/dff5c96d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/dff5c96d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/dff5c96d

Branch: refs/heads/master
Commit: dff5c96da69cf5f5f30680578a0730abbeae398b
Parents: 21170a3
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Dec 18 23:11:53 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Dec 18 23:11:53 2014 +0200

----------------------------------------------------------------------
 .../datanucleus/valuetypes/IsisMoneyMapping.java    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/dff5c96d/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/valuetypes/IsisMoneyMapping.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/valuetypes/IsisMoneyMapping.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/valuetypes/IsisMoneyMapping.java
index 76aaa55..c2ec3ad 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/valuetypes/IsisMoneyMapping.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/valuetypes/IsisMoneyMapping.java
@@ -74,7 +74,7 @@ public class IsisMoneyMapping extends SingleFieldMultiMapping {
         Column column = null;
         if (table != null) {
             column = mgr.createColumn(this, typeName, getNumberOfDatastoreMappings());
-			/* TODO metaData.setJdbcType("NCHAR") */
+            /* TODO metaData.setJdbcType("NCHAR") */
             column.setColumnMetaData(column.getColumnMetaData().setLength(columnLength));
         }
         mgr.createDatastoreMapping(this, column, typeName);
@@ -90,20 +90,20 @@ public class IsisMoneyMapping extends SingleFieldMultiMapping {
             case 1:
                 return m.getCurrency();
         }
-        throw new IndexOutOfBoundsException();
+        throw new IndexOutOfBoundsException("Wrong index: " + index);
     }
 
     @Override
     public void setObject(final ExecutionContext ec, final PreparedStatement preparedStmt, final int[] exprIndex,
                           final Object value) {
 
-        final Money m = ((Money) value);
-        if (m == null) {
-            getDatastoreMapping(0).setLong(preparedStmt, exprIndex[0], 0l);
-            getDatastoreMapping(1).setString(preparedStmt, exprIndex[1], null);
-        } else {
+        if (value instanceof Money) {
+            final Money m = ((Money) value);
             getDatastoreMapping(0).setLong(preparedStmt, exprIndex[0], m.longValue());
             getDatastoreMapping(1).setString(preparedStmt, exprIndex[1], m.getCurrency());
+        } else {
+            getDatastoreMapping(0).setLong(preparedStmt, exprIndex[0], 0l);
+            getDatastoreMapping(1).setString(preparedStmt, exprIndex[1], null);
         }
     }
 
@@ -128,4 +128,4 @@ public class IsisMoneyMapping extends SingleFieldMultiMapping {
         return new Money(((Long) amount).doubleValue() / 100, currency);
     }
 
-}
\ No newline at end of file
+}