tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rmannibu...@apache.org
Subject tomee git commit: OPENEJB-2110 ResponseCodes.JNDI_ERROR can be an exception
Date Fri, 13 Mar 2015 20:25:25 GMT
Repository: tomee
Updated Branches:
  refs/heads/master ba30d45dc -> 55a37dc53


OPENEJB-2110 ResponseCodes.JNDI_ERROR can be an exception


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

Branch: refs/heads/master
Commit: 55a37dc53b031eb18c40611f150fbbdb2137d723
Parents: ba30d45
Author: Romain Manni-Bucau <rmannibucau@apache.org>
Authored: Fri Mar 13 21:24:35 2015 +0100
Committer: Romain Manni-Bucau <rmannibucau@apache.org>
Committed: Fri Mar 13 21:25:15 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/openejb/client/JNDIContext.java    | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/55a37dc5/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
----------------------------------------------------------------------
diff --git a/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
b/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
index 5ef37aa..a38cac6 100644
--- a/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
+++ b/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
@@ -461,8 +461,17 @@ public class JNDIContext implements InitialContextFactory, Context {
             case ResponseCodes.JNDI_RUNTIME_EXCEPTION:
                 throw (RuntimeException) res.getResult();
 
-            case ResponseCodes.JNDI_ERROR:
-                throw (Error) res.getResult();
+            case ResponseCodes.JNDI_ERROR: {
+                Object result = res.getResult();
+                if (Error.class.isInstance(result)) {
+                    throw Error.class.cast(result);
+                }
+                if (RuntimeException.class.isInstance(result)) {
+                    throw RuntimeException.class.cast(result);
+                }
+                final Throwable th = Throwable.class.cast(result);
+                throw new ClientRuntimeException(th.getMessage(), th);
+            }
 
             default:
                 throw new ClientRuntimeException("Invalid response from server: " + res.getResponseCode());


Mime
View raw message