Repository: cayenne
Updated Branches:
  refs/heads/master 08fbf1e08 -> 6ad05a090


CAY-2050 Refactoring: ParameterBinding to contain ExtendedType property

* missing ExtendedType assignment
* preventing double lookup of ExtendedType


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

Branch: refs/heads/master
Commit: 6ad05a09051ea710546d413b86b24d90e9ad7bd2
Parents: 08fbf1e
Author: Andrus Adamchik <and...@objectstyle.com>
Authored: Sat Mar 5 03:31:36 2016 -0800
Committer: Andrus Adamchik <and...@objectstyle.com>
Committed: Sat Mar 5 03:33:51 2016 -0800

----------------------------------------------------------------------
 .../apache/cayenne/access/jdbc/SQLTemplateAction.java    | 11 ++++++-----
 .../access/translator/procedure/ProcedureTranslator.java |  4 ++--
 2 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6ad05a09/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
index e24806c..876c77e 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
@@ -351,15 +351,16 @@ public class SQLTemplateAction implements SQLAction {
                if (bindings.length > 0) {
                        int len = bindings.length;
                        for (int i = 0; i < len; i++) {
-                               ExtendedType extendedType = 
getAdapter().getExtendedTypes().getDefaultType();
-                               if (bindings[i].getValue() != null) {
-                                       extendedType = 
getAdapter().getExtendedTypes().getRegisteredType(bindings[i].getValue().getClass());
-                               }
+
+                               Object value = bindings[i].getValue();
+                               ExtendedType extendedType = value != null
+                                               ? 
getAdapter().getExtendedTypes().getRegisteredType(value.getClass())
+                                               : 
getAdapter().getExtendedTypes().getDefaultType();
 
                                ParameterBinding binding = new 
ParameterBinding(extendedType);
                                binding.setType(bindings[i].getJdbcType());
                                binding.setStatementPosition(i + 1);
-                               binding.setValue(bindings[i].getValue());
+                               binding.setValue(value);
                                
dataNode.getAdapter().bindParameter(preparedStatement, binding);
                        }
                }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6ad05a09/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
index 7a4d9fd..c5c04f9 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java
@@ -229,8 +229,8 @@ public class ProcedureTranslator {
                        ProcedureParameter param,
                        Object val,
                        int pos) throws Exception {
-               ExtendedType extendedType = 
adapter.getExtendedTypes().getDefaultType();
-               if (val != null) 
adapter.getExtendedTypes().getRegisteredType(val.getClass());
+               ExtendedType extendedType = val != null ? 
adapter.getExtendedTypes().getRegisteredType(val.getClass())
+                               : adapter.getExtendedTypes().getDefaultType();
                ProcedureParameterBinding binding = new 
ProcedureParameterBinding(param, extendedType);
                binding.setValue(val);
                binding.setStatementPosition(pos);

Reply via email to