Author: dblevins
Date: Sun Jun 20 19:38:31 2010
New Revision: 956391

URL: http://svn.apache.org/viewvc?rev=956391&view=rev
Log:
svn merge -r 956378:956379 
https://svn.apache.org/repos/asf/openejb/trunk/openejb3

http://svn.apache.org/viewvc?rev=956379&view=rev
------------------------------------------------------------------------
r956379 | dblevins | 2010-06-20 10:28:50 -0700 (Sun, 20 Jun 2010) | 4 lines

No-interface bean view for @ManagedBean
In the processes, moved 'localBean' variable to EnterpriseBeanInfo
Moved BusinessLocalBeanReference next to BusinessLocalReference

------------------------------------------------------------------------

Added:
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/BusinessLocalBeanReference.java
      - copied unchanged from r956379, 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/BusinessLocalBeanReference.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/core/managed/
      - copied from r956379, 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/managed/
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/core/managed/ManagedBeanTest.java
      - copied unchanged from r956379, 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/managed/ManagedBeanTest.java
Removed:
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/openejb/BusinessLocalBeanReference.java
Modified:
    openejb/branches/openejb-jcdi/   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingletonBeanInfo.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Event.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Managed.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedCollection.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedMBean.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/MethodScratchPad.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ScratchPad.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/monitoring/
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/ejb-jar.xml
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/geronimo-openejb.xml
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar-expected.xml
   (props changed)
    
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar.xml
   (props changed)
    
openejb/branches/openejb-jcdi/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml
   (props changed)

Propchange: openejb/branches/openejb-jcdi/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -1,2 +1,3 @@
 /openejb/branches/openejb-3.1.1:779593
 /openejb/branches/openejb-3.1.x:945409,945448
+/openejb/trunk/openejb3:956379

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbResolver.java
 Sun Jun 20 19:38:31 2010
@@ -116,27 +116,7 @@ public class EjbResolver {
             addInterfaces(new Interfaces(businessLocal, Type.LOCAL, 
bean.ejbDeploymentId));
         }
 
-        boolean isLocalBean = false;
-        if (bean instanceof StatelessBeanInfo) {
-            StatelessBeanInfo statelessBean = (StatelessBeanInfo) bean;
-            if (statelessBean.localbean) {
-                isLocalBean = true;
-            }
-        }
-        if (bean instanceof StatefulBeanInfo) {
-            StatefulBeanInfo statefulBean = (StatefulBeanInfo) bean;
-            if (statefulBean.localbean) {
-                isLocalBean = true;
-            }
-        }
-        if (bean instanceof SingletonBeanInfo) {
-            SingletonBeanInfo singletonBeanInfo = (SingletonBeanInfo) bean;
-            if (singletonBeanInfo.localbean) {
-                isLocalBean = true;
-            }
-        }
-
-        if (isLocalBean) {
+        if (bean.localbean) {
             addInterfaces(new Interfaces(bean.ejbClass, Type.LOCAL, 
bean.ejbDeploymentId));
         }
     }

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
 Sun Jun 20 19:38:31 2010
@@ -217,7 +217,6 @@ class EnterpriseBeanBuilder {
                 }
             }
             deployment.setExtendedEntityManagerFactories(new 
Index<EntityManagerFactory, Map>(extendedEntityManagerFactories));
-            deployment.setLocalbean(((StatefulBeanInfo) bean).localbean);
         }
 
         if (ejbType.isSession() || ejbType.isMessageDriven()) {
@@ -227,16 +226,14 @@ class EnterpriseBeanBuilder {
         if (ejbType.isSession()) {
             // Allow dependsOn to work for all session beans
             deployment.getDependsOn().addAll(bean.dependsOn);
+
+            // @LocalBean should work for any kind of Session Bean
+            deployment.setLocalbean(bean.localbean);
         }
 
         if (ejbType == BeanType.SINGLETON) {
             
deployment.setBeanManagedConcurrency("Bean".equalsIgnoreCase(bean.concurrencyType));
             deployment.setLoadOnStartup(bean.loadOnStartup);
-            deployment.setLocalbean(((SingletonBeanInfo) bean).localbean);
-        }
-
-        if (ejbType == BeanType.STATELESS) {
-            deployment.setLocalbean(((StatelessBeanInfo) bean).localbean);
         }
 
         if (ejbType.isEntity()) {

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
 Sun Jun 20 19:38:31 2010
@@ -50,6 +50,8 @@ public abstract class EnterpriseBeanInfo
     public String local;
     public final List<String> businessLocal = new ArrayList<String>();
     public final List<String> businessRemote = new ArrayList<String>();
+    public boolean localbean;
+    
     public String ejbClass;
     public String ejbName;
 

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 Sun Jun 20 19:38:31 2010
@@ -27,8 +27,7 @@ import javax.jms.MessageListener;
 import org.apache.openejb.DeploymentInfo;
 import org.apache.openejb.InterfaceType;
 import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.ivm.naming.*;
-import org.apache.openejb.core.ivm.naming.openejb.BusinessLocalBeanReference;
+import org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingletonBeanInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingletonBeanInfo.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingletonBeanInfo.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingletonBeanInfo.java
 Sun Jun 20 19:38:31 2010
@@ -17,8 +17,6 @@
 package org.apache.openejb.assembler.classic;
 
 public class SingletonBeanInfo extends EnterpriseBeanInfo {
-    public boolean localbean; 
-
     public SingletonBeanInfo() {
         type = SINGLETON;
     }

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java
 Sun Jun 20 19:38:31 2010
@@ -31,8 +31,6 @@ public class StatefulBeanInfo extends En
     public final List<InitMethodInfo> initMethods = new 
ArrayList<InitMethodInfo>();
     public final List<RemoveMethodInfo> removeMethods = new 
ArrayList<RemoveMethodInfo>();
 
-    public boolean localbean;
-
     public final List<CallbackInfo> afterBegin = new ArrayList<CallbackInfo>();
     public final List<CallbackInfo> beforeCompletion = new 
ArrayList<CallbackInfo>();
     public final List<CallbackInfo> afterCompletion = new 
ArrayList<CallbackInfo>();

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java
 Sun Jun 20 19:38:31 2010
@@ -17,8 +17,6 @@
 package org.apache.openejb.assembler.classic;
 
 public class StatelessBeanInfo extends EnterpriseBeanInfo {
-    public boolean localbean;
-
     public StatelessBeanInfo() {
         type = STATELESS;
     }

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
 Sun Jun 20 19:38:31 2010
@@ -489,7 +489,6 @@ public class EjbJarInfoBuilder {
         if (s.getSessionType() == SessionType.STATEFUL) {
             bean = new StatefulBeanInfo();
             StatefulBeanInfo stateful = ((StatefulBeanInfo) bean);
-            stateful.localbean = s.getLocalBean() != null;
 
             copyCallbacks(s.getPostActivate(), stateful.postActivate);
             copyCallbacks(s.getPrePassivate(), stateful.prePassivate);
@@ -533,12 +532,13 @@ public class EjbJarInfoBuilder {
             bean.loadOnStartup = s.getLoadOnStartup();
             // See JndiEncInfoBuilder.buildDependsOnRefs for processing of 
DependsOn
             // bean.dependsOn.addAll(s.getDependsOn());
-            ((SingletonBeanInfo)bean).localbean = s.getLocalBean() != null;
         } else {
             bean = new StatelessBeanInfo();
-            ((StatelessBeanInfo)bean).localbean = s.getLocalBean() != null;
         }
 
+        bean.localbean = s.getLocalBean() != null;
+
+
         bean.timeoutMethod = toInfo(s.getTimeoutMethod());
 
         copyCallbacks(s.getAroundInvoke(), bean.aroundInvoke);

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
 Sun Jun 20 19:38:31 2010
@@ -454,22 +454,7 @@ public class JndiEncInfoBuilder {
     }
 
     private boolean isLocalBean(EnterpriseBeanInfo beanInfo) {
-        if (beanInfo == null) return false;
-
-        if (beanInfo instanceof StatelessBeanInfo) {
-            StatelessBeanInfo statelessBeanInfo = (StatelessBeanInfo) beanInfo;
-            return statelessBeanInfo.localbean;
-        }
-        if (beanInfo instanceof StatefulBeanInfo) {
-            StatefulBeanInfo statefulBeanInfo = (StatefulBeanInfo) beanInfo;
-            return statefulBeanInfo.localbean;
-        }
-        if (beanInfo instanceof SingletonBeanInfo) {
-            SingletonBeanInfo singletonBeanInfo = (SingletonBeanInfo) beanInfo;
-            return singletonBeanInfo.localbean;
-        }
-
-        return false;
+        return beanInfo != null && beanInfo.localbean;
     }
 
     private EnterpriseBeanInfo getBeanInfo(String moduleId, String 
deploymentId) {

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
 Sun Jun 20 19:38:31 2010
@@ -33,7 +33,6 @@ import javax.ejb.EJBLocalHome;
 import javax.ejb.RemoveException;
 import javax.ejb.SessionBean;
 import javax.ejb.SessionContext;
-import javax.ejb.SessionSynchronization;
 import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.persistence.EntityManager;
@@ -164,6 +163,17 @@ public class ManagedContainer implements
             }
         }
 
+        Class businessLocalBeanHomeInterface = 
deploymentInfo.getBusinessLocalBeanInterface();
+        if (businessLocalBeanHomeInterface != null) {
+            for (Method method : 
DeploymentInfo.BusinessLocalBeanHome.class.getMethods()) {
+                if (method.getName().startsWith("create")) {
+                    methods.put(method, MethodType.CREATE);
+                } else if (method.getName().equals("remove")) {
+                    methods.put(method, MethodType.REMOVE);
+                }
+            }
+        }
+
         Class businessRemoteHomeInterface = 
deploymentInfo.getBusinessRemoteInterface();
         if (businessRemoteHomeInterface != null) {
             for (Method method : 
DeploymentInfo.BusinessRemoteHome.class.getMethods()) {
@@ -352,10 +362,11 @@ public class ManagedContainer implements
 
                 // Register for synchronization callbacks
                 registerSessionSynchronization(instance, createContext);
-              
+
                 // Invoke create for legacy beans
                 if 
(!callMethod.getDeclaringClass().equals(DeploymentInfo.BusinessLocalHome.class) 
&&
-                        
!callMethod.getDeclaringClass().equals(DeploymentInfo.BusinessRemoteHome.class)){
+                        
!callMethod.getDeclaringClass().equals(DeploymentInfo.BusinessRemoteHome.class) 
&&
+                        
!callMethod.getDeclaringClass().equals(DeploymentInfo.BusinessLocalBeanHome.class))
 {
 
                     // Setup for business invocation
                     Method createOrInit = 
deploymentInfo.getMatchingBeanMethod(callMethod);
@@ -923,10 +934,8 @@ public class ManagedContainer implements
             ThreadContext oldCallContext = ThreadContext.enter(callContext);
             try {
 
-                Method afterBegin = 
SessionSynchronization.class.getMethod("afterBegin");
-
-                List<InterceptorData> interceptors = 
deploymentInfo.getMethodInterceptors(afterBegin);
-                InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, afterBegin, Operation.AFTER_BEGIN, 
interceptors, instance.interceptors);
+                List<InterceptorData> interceptors = 
deploymentInfo.getCallbackInterceptors();
+                InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, null, Operation.AFTER_BEGIN, interceptors, 
instance.interceptors);
                 interceptorStack.invoke();
 
             } catch (Exception e) {
@@ -962,10 +971,9 @@ public class ManagedContainer implements
                 try {
                     instance.setInUse(true);
 
-                    Method beforeCompletion = 
SessionSynchronization.class.getMethod("beforeCompletion");
-
-                    List<InterceptorData> interceptors = 
instance.deploymentInfo.getMethodInterceptors(beforeCompletion);
-                    InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, beforeCompletion, Operation.BEFORE_COMPLETION, 
interceptors, instance.interceptors);
+                    CoreDeploymentInfo deploymentInfo = 
instance.deploymentInfo;
+                    List<InterceptorData> interceptors = 
deploymentInfo.getCallbackInterceptors();
+                    InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, null, Operation.BEFORE_COMPLETION, 
interceptors, instance.interceptors);
                     interceptorStack.invoke();
 
                     instance.setInUse(false);
@@ -1003,10 +1011,10 @@ public class ManagedContainer implements
                 try {
                     instance.setInUse(true);
                     if (synchronization.isCallSessionSynchronization()) {
-                        Method afterCompletion = 
SessionSynchronization.class.getMethod("afterCompletion", boolean.class);
 
-                        List<InterceptorData> interceptors = 
instance.deploymentInfo.getMethodInterceptors(afterCompletion);
-                        InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, afterCompletion, Operation.AFTER_COMPLETION, 
interceptors, instance.interceptors);
+                        CoreDeploymentInfo deploymentInfo = 
instance.deploymentInfo;
+                        List<InterceptorData> interceptors = 
deploymentInfo.getCallbackInterceptors();
+                        InterceptorStack interceptorStack = new 
InterceptorStack(instance.bean, null, Operation.AFTER_COMPLETION, interceptors, 
instance.interceptors);
                         interceptorStack.invoke(status == Status.COMMITTED);
                     }
                     instance.setTransaction(null);

Modified: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java?rev=956391&r1=956390&r2=956391&view=diff
==============================================================================
--- 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
 (original)
+++ 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
 Sun Jun 20 19:38:31 2010
@@ -17,6 +17,7 @@
 package org.apache.openejb.core.managed;
 
 import java.lang.reflect.Method;
+import java.lang.reflect.Field;
 import java.util.List;
 
 import javax.ejb.RemoveException;
@@ -35,12 +36,22 @@ public class ManagedHomeHandler extends 
 
     public Object createProxy(Object primaryKey) {
         Object proxy = super.createProxy(primaryKey);
-        EjbObjectProxyHandler handler = (EjbObjectProxyHandler) 
ProxyManager.getInvocationHandler(proxy);
+        EjbObjectProxyHandler handler = null;
 
-        registerHandler(handler.getRegistryId(), handler);
+        try {
+            handler = (EjbObjectProxyHandler) 
ProxyManager.getInvocationHandler(proxy);
+        } catch (Exception e) {
+            // try getting the invocation handler from the localbean
+            try {
+                Field field = 
proxy.getClass().getDeclaredField("invocationHandler");
+                field.setAccessible(true);
+                handler = (EjbObjectProxyHandler) field.get(proxy);
+            } catch (Exception e1) {
+            }
+        }
 
+        registerHandler(handler.getRegistryId(), handler);
         return proxy;
-
     }
 
     protected Object findX(Class interfce, Method method, Object[] args, 
Object proxy) throws Throwable {

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring:956379*

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Event.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Event.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Event.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Event.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Managed.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Managed.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Managed.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/Managed.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedCollection.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedCollection.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedCollection.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedCollection.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedMBean.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedMBean.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedMBean.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ManagedMBean.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/MethodScratchPad.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/MethodScratchPad.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/MethodScratchPad.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/MethodScratchPad.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ScratchPad.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ScratchPad.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ScratchPad.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ScratchPad.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/StatsInterceptor.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -1,2 +1,3 @@
 
/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/java/org/apache/openejb/config/UberInterfaceTest.java:779593
 
/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/monitoring/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/java/org/apache/openejb/monitoring:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/monitoring:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/monitoring:956379*

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/resources/convert/oej2/simple:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/resources/convert/oej2/simple:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/simple:956379*

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/ejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/resources/convert/oej2/simple/ejb-jar.xml:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/resources/convert/oej2/simple/ejb-jar.xml:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/simple/ejb-jar.xml:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/geronimo-openejb.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/resources/convert/oej2/simple/geronimo-openejb.xml:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/resources/convert/oej2/simple/geronimo-openejb.xml:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/simple/geronimo-openejb.xml:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar-expected.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar-expected.xml:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar-expected.xml:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar-expected.xml:956379

Propchange: 
openejb/branches/openejb-jcdi/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -0,0 +1,3 @@
+/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar.xml:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar.xml:945409,945448
+/openejb/trunk/openejb3/container/openejb-core/src/test/resources/convert/oej2/simple/openejb-jar.xml:956379

Propchange: 
openejb/branches/openejb-jcdi/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Jun 20 19:38:31 2010
@@ -1,2 +1,3 @@
 
/openejb/branches/openejb-3.1.1/examples/alternate-descriptors/src/main/resources/META-INF/ejb-jar.xml:779593
 
/openejb/branches/openejb-3.1.x/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:945409,945448
+/openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:956379


Reply via email to