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");