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 2011/12/26 17:57:18 UTC

svn commit: r1224756 - in /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb: core/singleton/SingletonContainer.java core/stateless/StatelessContainer.java monitoring/DynamicMBeanWrapper.java

Author: rmannibucau
Date: Mon Dec 26 16:57:18 2011
New Revision: 1224756

URL: http://svn.apache.org/viewvc?rev=1224756&view=rev
Log:
OPENEJB-1733 fixing order of interceptors for webservices

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java?rev=1224756&r1=1224755&r2=1224756&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java Mon Dec 26 16:57:18 2011
@@ -16,26 +16,6 @@
  */
 package org.apache.openejb.core.singleton;
 
-import static org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke;
-import static org.apache.openejb.core.transaction.EjbTransactionUtil.createTransactionPolicy;
-import static org.apache.openejb.core.transaction.EjbTransactionUtil.handleApplicationException;
-import static org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.locks.Lock;
-
-import javax.ejb.ConcurrentAccessTimeoutException;
-import javax.ejb.EJBAccessException;
-import javax.ejb.EJBHome;
-import javax.ejb.EJBLocalHome;
-import javax.ejb.EJBLocalObject;
-import javax.ejb.EJBObject;
-import javax.interceptor.AroundInvoke;
-
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.ContainerType;
 import org.apache.openejb.InterfaceType;
@@ -55,6 +35,25 @@ import org.apache.openejb.spi.SecuritySe
 import org.apache.openejb.util.Duration;
 import org.apache.xbean.finder.ClassFinder;
 
+import javax.ejb.ConcurrentAccessTimeoutException;
+import javax.ejb.EJBAccessException;
+import javax.ejb.EJBHome;
+import javax.ejb.EJBLocalHome;
+import javax.ejb.EJBLocalObject;
+import javax.ejb.EJBObject;
+import javax.interceptor.AroundInvoke;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.locks.Lock;
+
+import static org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke;
+import static org.apache.openejb.core.transaction.EjbTransactionUtil.createTransactionPolicy;
+import static org.apache.openejb.core.transaction.EjbTransactionUtil.handleApplicationException;
+import static org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException;
+
 /**
  * @org.apache.xbean.XBean element="statelessContainer"
  */
@@ -322,12 +321,13 @@ public class SingletonContainer implemen
         }
 
         //  Create an InterceptorData for the webservice interceptor to the list of interceptorDatas for this method
-        List<InterceptorData> interceptorDatas = new ArrayList<InterceptorData>(beanContext.getMethodInterceptors(runMethod));
+        List<InterceptorData> interceptorDatas = new ArrayList<InterceptorData>();
         {
             InterceptorData providerData = new InterceptorData(interceptor.getClass());
             ClassFinder finder = new ClassFinder(interceptor.getClass());
             providerData.getAroundInvoke().addAll(finder.findAnnotatedMethods(AroundInvoke.class));
             interceptorDatas.add(providerData);
+            interceptorDatas.addAll(beanContext.getMethodInterceptors(runMethod));
         }
 
         InterceptorStack interceptorStack = new InterceptorStack(instance.bean, runMethod, Operation.BUSINESS_WS, interceptorDatas, interceptors);

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java?rev=1224756&r1=1224755&r2=1224756&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java Mon Dec 26 16:57:18 2011
@@ -281,13 +281,14 @@ public class StatelessContainer implemen
         }
 
         //  Create an InterceptorData for the webservice interceptor to the list of interceptorDatas for this method
-        List<InterceptorData> interceptorDatas = new ArrayList<InterceptorData>(beanContext.getMethodInterceptors(runMethod));
+        List<InterceptorData> interceptorDatas = new ArrayList<InterceptorData>();
         {
             InterceptorData providerData = new InterceptorData(interceptor.getClass());
             ClassFinder finder = new ClassFinder(interceptor.getClass());
             providerData.getAroundInvoke().addAll(finder.findAnnotatedMethods(AroundInvoke.class));
 //            interceptorDatas.add(providerData);
             interceptorDatas.add(0, providerData);
+            interceptorDatas.addAll(beanContext.getMethodInterceptors(runMethod));
         }
 
         InterceptorStack interceptorStack = new InterceptorStack(instance.bean, runMethod, Operation.BUSINESS_WS, interceptorDatas, interceptors);

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java?rev=1224756&r1=1224755&r2=1224756&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java Mon Dec 26 16:57:18 2011
@@ -252,7 +252,7 @@ public class DynamicMBeanWrapper impleme
     public AttributeList setAttributes(AttributeList attributes) {
         AttributeList list = new AttributeList();
         Iterator<Object> it = attributes.iterator();
-        ;
+
         while (it.hasNext()) {
             Attribute attr = (Attribute) it.next();
             try {