You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/03/06 01:02:36 UTC

cayenne git commit: CAY-2050 Refactoring: ParameterBinding to contain ExtendedType property

Repository: cayenne
Updated Branches:
  refs/heads/CAY-2050 [created] 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/CAY-2050
Commit: 6ad05a09051ea710546d413b86b24d90e9ad7bd2
Parents: 08fbf1e
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Sat Mar 5 03:31:36 2016 -0800
Committer: Andrus Adamchik <an...@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);