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
+}