[jboss-cvs] JBossAS SVN: r76631 - projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 5 00:58:53 EDT 2008


Author: ALRubinger
Date: 2008-08-05 00:58:52 -0400 (Tue, 05 Aug 2008)
New Revision: 76631

Modified:
   projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java
Log:
Further extract out logic in PojiProxy for overriding by subclasses

Modified: projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java
===================================================================
--- projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java	2008-08-05 04:22:55 UTC (rev 76630)
+++ projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java	2008-08-05 04:58:52 UTC (rev 76631)
@@ -23,6 +23,7 @@
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
+
 import org.jboss.aop.Dispatcher;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.MethodInvocation;
@@ -41,24 +42,26 @@
    private static final long serialVersionUID = 8054816523858555978L;
 
    private Object oid;
+
    private InvokerLocator uri;
+
    private Interceptor[] interceptors;
 
    public PojiProxy(Object oid, InvokerLocator uri, Interceptor[] interceptors)
    {
       this.oid = oid;
       this.uri = uri;
-      this.interceptors = interceptors;      
+      this.interceptors = interceptors;
    }
 
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
    {
       MethodInvocation sri = this.constructMethodInvocation(method, args);
-      sri.setArguments(args);
       this.addMetadataToInvocation(sri);
+      this.addArgumentsToInvocation(sri, args);
       return sri.invokeNext();
    }
-   
+
    /**
     * Constructs a MethodInvocation from the specified Method and
     * arguments
@@ -73,7 +76,7 @@
       MethodInvocation sri = new MethodInvocation(interceptors, hash, method, method, null);
       return sri;
    }
-   
+
    /**
     * Adds metadata to the specified MethodInvocation before
     * invocation is called.  Extracted to allow subclasses to control
@@ -90,9 +93,22 @@
             "AOP", PayloadKey.AS_IS);
    }
 
+   /**
+    * Sets the specified arguments on the specified invocation.  Extracted to
+    * provide indirection such that the arguments set on the invocation may be 
+    * different from those originally passed in.
+    * 
+    * @param invocation
+    * @param originalArguments
+    */
+   protected void addArgumentsToInvocation(MethodInvocation invocation, Object[] originalArguments)
+   {
+      invocation.setArguments(originalArguments);
+   }
+
    protected Interceptor[] getInterceptors()
    {
       return interceptors;
    }
-   
+
 }




More information about the jboss-cvs-commits mailing list