You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/05/20 12:37:09 UTC

tomee git commit: TOMEE-1589 supporting openjpa externalizer

Repository: tomee
Updated Branches:
  refs/heads/master bd8d48e67 -> d345fab76


TOMEE-1589 supporting openjpa externalizer


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

Branch: refs/heads/master
Commit: d345fab76f4145fd89ea7430e82c909eab022116
Parents: bd8d48e
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed May 20 12:36:59 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed May 20 12:36:59 2015 +0200

----------------------------------------------------------------------
 .../jdbc/logging/LoggingPreparedSqlStatement.java   | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/d345fab7/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
index 9500366..242d6b8 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
@@ -21,6 +21,8 @@ import org.apache.openejb.util.Join;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.sql.ParameterMetaData;
@@ -81,7 +83,19 @@ public class LoggingPreparedSqlStatement implements InvocationHandler {
                     final Parameter param = parameters.get(i);
                     if (str.contains("?")) {
                         try {
-                            str = str.replaceFirst("\\?", param.value.toString());
+                            String val;
+                            if (ByteArrayInputStream.class.isInstance(param.value)) {
+                                final ByteArrayInputStream bais = ByteArrayInputStream.class.cast(param.value);
+                                try {
+                                    bais.reset(); // already read when arriving here - mainly openjpa case
+                                    val = new ObjectInputStream(bais).readObject().toString();
+                                } catch (final Exception e) {
+                                    val = param.value.toString();
+                                }
+                            } else {
+                                val = param.value.toString();
+                            }
+                            str = str.replaceFirst("\\?", val);
                         } catch (final Exception e) {
                             if (param.value == null) {
                                 str = str.replaceFirst("\\?", "null");