[jboss-cvs] JBossAS SVN: r109450 - in projects/ejb3/trunk/interceptors/src: test/java/org/jboss/ejb3/interceptors/test/indirectcontainer and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 24 11:24:16 EST 2010


Author: wolfc
Date: 2010-11-24 11:24:15 -0500 (Wed, 24 Nov 2010)
New Revision: 109450

Modified:
   projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/aop/InvocationContextInterceptor.java
   projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/interceptors/test/indirectcontainer/DummyIndirectContainer.java
Log:
EJBTHREE-2204: delegating checks to jboss-ejb3-context


Modified: projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/aop/InvocationContextInterceptor.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/aop/InvocationContextInterceptor.java	2010-11-24 16:02:46 UTC (rev 109449)
+++ projects/ejb3/trunk/interceptors/src/main/java/org/jboss/ejb3/interceptors/aop/InvocationContextInterceptor.java	2010-11-24 16:24:15 UTC (rev 109450)
@@ -6,8 +6,6 @@
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
 
 /*
  * JBoss, Home of Professional Open Source.
@@ -100,10 +98,7 @@
    private static class InvocationContext extends BaseInvocationContext
    {
       private Invocation invocation;
-      private Map<String, Object> contextData = new HashMap<String, Object>();
-      private Method method = null;
-      private Object params[] = null;
-      
+
       private InvocationContext(Invocation invocation)
       {
          super(null, null);
@@ -112,23 +107,6 @@
          // here. This must be explicitly set via setBusinessMethodInvocation.
       }
       
-      public Map<String, Object> getContextData()
-      {
-         return contextData;
-      }
-
-      public Method getMethod()
-      {
-         return method;
-      }
-
-      public Object[] getParameters()
-      {
-         if(method == null)
-            throw new IllegalStateException("Get parameters is not allowed on lifecycle callbacks (EJB 3 12)");
-         return params;
-      }
-
       public Object getTarget()
       {
          return invocation.getTargetObject();
@@ -152,22 +130,21 @@
 
       private void setBusinessMethodInvocation(Method method, Object params[])
       {
-         this.method = method;
-         this.params = params;
+         setMethod(method);
+         setParameters(params);
       }
       
       public void setParameters(Object[] params)
       {
-         if(method == null)
-            throw new IllegalStateException("Setting parameters is not allowed on lifecycle callbacks (EJB 3 12)");
-         // TODO: might need more checks
-         this.params = params;
+         super.setParameters(params);
          ((MethodInvocation) invocation).setArguments(params);
       }
       
       public String toString()
       {
-         return "[target=" + getTarget() + ", method=" + method + ", parameters=" + Arrays.toString(params) + ", contextData=" + contextData + "]";
+         Method method = getMethod();
+         Object params[] = method != null ? getParameters() : null;
+         return "[target=" + getTarget() + ", method=" + method + ", parameters=" + Arrays.toString(params) + ", contextData=" + getContextData() + "]";
       }
    }
 }

Modified: projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/interceptors/test/indirectcontainer/DummyIndirectContainer.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/interceptors/test/indirectcontainer/DummyIndirectContainer.java	2010-11-24 16:02:46 UTC (rev 109449)
+++ projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/interceptors/test/indirectcontainer/DummyIndirectContainer.java	2010-11-24 16:24:15 UTC (rev 109450)
@@ -21,15 +21,14 @@
  */
 package org.jboss.ejb3.interceptors.test.indirectcontainer;
 
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-import javax.interceptor.Interceptors;
-
 import org.jboss.ejb3.interceptors.ManagedObject;
 import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.interceptors.direct.IndirectContainer;
 
+import javax.interceptor.Interceptors;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
 /**
  * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
  * @version $Revision: $
@@ -72,7 +71,7 @@
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
    {
       // I'm indirectly advised, let's delegate to the direct container
-      Object arguments[] = { method, args };
+      Object arguments[] = { null, method, args };
       return directContainer.invokeIndirect(beanContext, INVOKE_METHOD, arguments);
    }
 }



More information about the jboss-cvs-commits mailing list