[jboss-cvs] JBossAS SVN: r66521 - branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Oct 28 16:12:14 EDT 2007


Author: ALRubinger
Date: 2007-10-28 16:12:14 -0400 (Sun, 28 Oct 2007)
New Revision: 66521

Modified:
   branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/BaseSessionContext.java
Log:
EJBTHREE-1057: Applied fix to Branch_4_2

Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/BaseSessionContext.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/BaseSessionContext.java	2007-10-28 20:11:54 UTC (rev 66520)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/BaseSessionContext.java	2007-10-28 20:12:14 UTC (rev 66521)
@@ -322,7 +322,21 @@
       try
       {
          Object id = baseContext.getId();
-         EJBLocalObject proxy =  (EJBLocalObject)((SessionContainer)container).createLocalProxy(id);
+         EJBLocalObject proxy = null;
+         try
+         {
+            proxy = (EJBLocalObject) ((SessionContainer) container).createLocalProxy(id);
+         }
+         // Proxy does not implement EJBLocalObject
+         catch (ClassCastException cce)
+         {
+            // JIRA EJBTHREE-1057
+            throw new IllegalStateException("EJB3 Specification Violation: "
+                  + ((SessionContainer) container).getBeanClassName() + " does not have a local interface; "
+                  + "EJB3 Spec 4.3.3 Bullet 12: Only session beans with a local EJBLocalObject interface "
+                  + "can call this method.");
+
+         }
          return proxy;
       }
       catch (Exception e)
@@ -336,7 +350,20 @@
       try
       {
          Object id = baseContext.getId();
-         EJBObject proxy =  (EJBObject)((SessionContainer)container).createRemoteProxy(id);
+         EJBObject proxy = null;
+         try
+         {
+            proxy = (EJBObject) ((SessionContainer) container).createRemoteProxy(id);
+         }
+         // Proxy does not implement EJBObject
+         catch (ClassCastException cce)
+         {
+            // JIRA EJBTHREE-1057
+            throw new IllegalStateException("EJB3 Specification Violation: "
+                  + ((SessionContainer) container).getBeanClassName() + " does not have a remote interface; "
+                  + "EJB3 Spec 4.3.3 Bullet 10: Only session beans with a remote EJBObject interface "
+                  + "can call this method.");
+         }
          return proxy;
       }
       catch (Exception e)




More information about the jboss-cvs-commits mailing list