[jboss-cvs] JBossAS SVN: r76804 - in projects/ejb3/trunk/proxy/src: main/java/org/jboss/ejb3/proxy/factory/session and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 7 22:06:18 EDT 2008


Author: ALRubinger
Date: 2008-08-07 22:06:17 -0400 (Thu, 07 Aug 2008)
New Revision: 76804

Modified:
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
   projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
   projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
Log:
[EJBTHREE-1345] Make Proxy Factories aware of Advisors, add interceptor chain to newly-created proxies

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -27,6 +27,7 @@
 import java.util.HashSet;
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.advice.AdviceStack;
 import org.jboss.aop.advice.Interceptor;
@@ -62,6 +63,8 @@
 
    private ClassLoader classloader;
 
+   private Advisor advisor;
+
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -74,13 +77,16 @@
     *   upon which Proxies will invoke
     * @param classloader The ClassLoader associated with the EJBContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
-   public ProxyFactoryBase(final String name, final String containerName, final ClassLoader classloader)
+   public ProxyFactoryBase(final String name, final String containerName, final ClassLoader classloader,
+         final Advisor advisor)
    {
       // Set properties
       this.setName(name);
       this.setContainerName(containerName);
       this.setClassLoader(classloader);
+      this.setAdvisor(advisor);
    }
 
    // --------------------------------------------------------------------------------||
@@ -167,7 +173,8 @@
       AspectManager manager = AspectManager.instance();
       AdviceStack stack = manager.getAdviceStack(stackName);
       assert stack != null : "Could not find Advice Stack with name: " + stackName;
-      Interceptor[] interceptors = stack.createInterceptors();
+      Advisor advisor = this.getAdvisor();
+      Interceptor[] interceptors = stack.createInterceptors(advisor, null);
       return interceptors;
    }
 
@@ -236,4 +243,14 @@
       this.containerName = containerName;
    }
 
+   protected Advisor getAdvisor()
+   {
+      return advisor;
+   }
+
+   private void setAdvisor(Advisor advisor)
+   {
+      this.advisor = advisor;
+   }
+
 }

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -33,6 +33,7 @@
 import javax.ejb.EJBHome;
 import javax.ejb.EJBLocalHome;
 
+import org.jboss.aop.Advisor;
 import org.jboss.ejb3.common.lang.ClassHelper;
 import org.jboss.ejb3.common.string.StringUtils;
 import org.jboss.ejb3.proxy.factory.ProxyFactoryBase;
@@ -101,12 +102,13 @@
     * @param metadata The metadata representing this Session Bean
     * @param classloader The ClassLoader associated with the SessionContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
    public SessionProxyFactoryBase(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, classloader);
+      super(name, containerName, classloader, advisor);
 
       // Set Metadata
       this.setMetadata(metadata);

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
 
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -56,12 +57,13 @@
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatefulSessionLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactoryBase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -26,6 +26,7 @@
 import java.lang.reflect.Proxy;
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.ejb3.common.registrar.spi.Ejb3Registrar;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
 import org.jboss.ejb3.common.registrar.spi.NotBoundException;
@@ -76,12 +77,13 @@
     * @param metadata The metadata representing this SFSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatefulSessionProxyFactoryBase(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
 
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -71,12 +72,13 @@
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param url The URL to use for remoting
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatefulSessionRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
       this.setUrl(url);
    }
 

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
 
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -59,12 +60,13 @@
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatelessSessionLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
 
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactoryBase;
 import org.jboss.logging.Logger;
@@ -57,12 +58,13 @@
     * @param metadata The metadata representing this SLSB
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatelessSessionProxyFactoryBase(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
    }
 
    // --------------------------------------------------------------------------------||

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -23,6 +23,7 @@
 
 import java.util.Set;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
@@ -71,12 +72,13 @@
     * @param classloader The ClassLoader associated with the StatelessContainer
     *       for which this ProxyFactory is to generate Proxies
     * @param url The URL to use for remoting
+    * @param advisor The Advisor for proxies created by this factory
     */
    public StatelessSessionRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url)
+         final JBossSessionBeanMetaData metadata, final ClassLoader classloader, final String url, final Advisor advisor)
    {
       // Call Super
-      super(name, containerName, metadata, classloader);
+      super(name, containerName, metadata, classloader, advisor);
       this.setUrl(url);
    }
 

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/invocation/InvokableContextStatefulRemoteProxyInvocationHack.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -80,10 +80,10 @@
    {
       // Call Super Implementation
       super(oid, uri, interceptors);
-      
+
       // Some sanity checks
-      assert oid !=null : "Specified OID is null";
-      
+      assert oid != null : "Specified OID is null";
+
       // Set additional properties
       this.setSessionId(sessionId);
    }
@@ -157,11 +157,11 @@
        */
       MethodInvocation sri = new StatefulRemoteInvocation(this.getInterceptors(), hash, dynamicInvokeMethod,
             dynamicInvokeMethod, null, this.getSessionId());
-      
+
       // Manually add metadata for invoked method
       sri.getMetaData().addMetaData(SessionSpecRemotingMetadata.TAG_SESSION_INVOCATION,
             SessionSpecRemotingMetadata.KEY_INVOKED_METHOD, serializableMethod);
-      
+
       return sri;
    }
 
@@ -185,6 +185,10 @@
                StatefulSessionRemotingMetadata.KEY_SESSION_ID, sessionId, PayloadKey.AS_IS);
       }
 
+      // Add Container Name
+      //FIXME Hardcoded Strings bad, IsLocalInterceptor should be sharing these references or otherwise accessible somehow
+      methodInvocation.getMetaData().addMetaData("IS_LOCAL", "GUID", this.getOid());
+
    }
 
    /**

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -32,9 +32,11 @@
 import javax.naming.StringRefAddr;
 import javax.naming.spi.ObjectFactory;
 
+import org.jboss.aop.Advisor;
 import org.jboss.ejb3.common.registrar.spi.DuplicateBindException;
 import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
 import org.jboss.ejb3.common.string.StringUtils;
+import org.jboss.ejb3.proxy.container.InvokableContext;
 import org.jboss.ejb3.proxy.factory.ProxyFactory;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
@@ -140,9 +142,10 @@
     * @param smd
     * @param cl The CL of the Container
     * @param containerName The name under which the target container is registered
+    * @param advisor The advisor to use for generated proxies
     */
    public void bindEjb(final Context context, final JBossSessionBeanMetaData smd, final ClassLoader cl,
-         final String containerName)
+         final String containerName, final Advisor advisor)
    {
       // Log 
       String ejbName = smd.getEjbName();
@@ -195,8 +198,8 @@
          }
          // Create and register a remote proxy factory
          String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
-         SessionProxyFactory factory = this
-               .createRemoteProxyFactory(remoteProxyFactoryKey, containerName, smd, cl, url);
+         SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName, smd, cl,
+               url, advisor);
          this.registerProxyFactory(remoteProxyFactoryKey, factory, smd);
 
          // Initialize Reference Addresses to attach to default remote JNDI Reference
@@ -295,7 +298,8 @@
       {
          // Create and register a local proxy factory
          String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
-         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, smd, cl);
+         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, smd, cl,
+               advisor);
          this.registerProxyFactory(localProxyFactoryKey, factory, smd);
 
          // Initialize Reference Addresses to attach to default local JNDI Reference
@@ -520,9 +524,10 @@
     *   from the returned ProxyFactory will invoke
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
+    * @param advisor The Advisor for proxies created by this factory
     */
    protected abstract SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl);
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
 
    /**
     * Creates and returns a new remote proxy factory for this Session Bean
@@ -533,9 +538,10 @@
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
+    * @param advisor The Advisor for proxies created by this factory
     */
    protected abstract SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url);
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor);
 
    // --------------------------------------------------------------------------------||
    // Helper Methods -----------------------------------------------------------------||
@@ -742,7 +748,7 @@
       }
       return defaultRemotes.toString();
    }
-   
+
    /**
     * Returns whether the specified RefAddr type denotes an EJB Interface 
     * 
@@ -751,10 +757,10 @@
     */
    private boolean isRefAddrTypeEjbInterface(String refAddrType)
    {
-      return refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL) ||
-      refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE) ||
-      refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL) ||
-      refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE);
+      return refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL)
+            || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE)
+            || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL)
+            || refAddrType.equals(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE);
    }
 
    /**

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -21,6 +21,7 @@
  */
 package org.jboss.ejb3.proxy.jndiregistrar;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.Dispatcher;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionLocalProxyFactory;
@@ -74,12 +75,13 @@
     *   from the returned ProxyFactory will invoke
     * @param smd The metadata representing this SFSB
     * @param cl The ClassLoader for this EJB Container
+    * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl)
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
    {
-      return new StatefulSessionLocalProxyFactory(name, containerName, smd, cl);
+      return new StatefulSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
    }
 
    /**
@@ -91,13 +93,14 @@
     * @param smd The metadata representing this SFSB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
+    * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url)
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
    {
       // Create
-      SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, smd, cl, url);
+      SessionProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, smd, cl, url, advisor);
 
       // Register with Remoting
       log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);

Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -21,6 +21,7 @@
  */
 package org.jboss.ejb3.proxy.jndiregistrar;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.Dispatcher;
 import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
 import org.jboss.ejb3.proxy.factory.session.stateless.StatelessSessionLocalProxyFactory;
@@ -73,12 +74,13 @@
     *   from the returned ProxyFactory will invoke
     * @param smd The metadata representing this SLSB
     * @param cl The ClassLoader for this EJB Container
+    * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createLocalProxyFactory(final String name, final String containerName,
-         JBossSessionBeanMetaData smd, ClassLoader cl)
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
    {
-      return new StatelessSessionLocalProxyFactory(name, containerName, smd, cl);
+      return new StatelessSessionLocalProxyFactory(name, containerName, smd, cl, advisor);
    }
 
    /**
@@ -90,13 +92,14 @@
     * @param smd The metadata representing this Session EJB
     * @param cl The ClassLoader for this EJB Container
     * @param url The URL to use for Remoting
+    * @param advisor The Advisor for proxies created by this factory
     */
    @Override
    protected SessionProxyFactory createRemoteProxyFactory(final String name, final String containerName,
-         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url)
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url, final Advisor advisor)
    {
       // Create
-      SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, smd, cl, url);
+      SessionProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, smd, cl, url, advisor);
 
       // Register with Remoting
       log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/container/SessionContainer.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -329,7 +329,8 @@
       if (registrar != null)
       {
          this.setJndiRegistrar(registrar);
-         registrar.bindEjb(this.getJndiContext(), this.getMetaData(), this.getClassLoader(), this.getName());
+         registrar.bindEjb(this.getJndiContext(), this.getMetaData(), this.getClassLoader(), this.getName(), this
+               .getAdvisor());
       }
       else
       {

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -204,7 +204,8 @@
 
       // Make a Local Proxy Factory
       StatefulSessionLocalProxyFactory factory = new StatefulSessionLocalProxyFactory(
-            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb.getClassLoader());
+            StatefulSessionLocalProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(),
+            sfsb.getClassLoader(), null);
 
       // Start
       factory.start();
@@ -228,7 +229,7 @@
       // Make a Remote Proxy Factory
       StatefulSessionRemoteProxyFactory factory = new StatefulSessionRemoteProxyFactory(
             StatefulSessionRemoteProxyFactory.class.getName(), sfsb.getName(), sfsb.getMetaData(), sfsb
-                  .getClassLoader(), "socket://localhost:3874");
+                  .getClassLoader(), "socket://localhost:3874", null);
 
       // Start
       factory.start();

Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2008-08-07 23:00:46 UTC (rev 76803)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SlsbProxyEqualityTestCase.java	2008-08-08 02:06:17 UTC (rev 76804)
@@ -152,7 +152,7 @@
       // Create the Factory
       StatelessSessionLocalProxyFactory factory = new StatelessSessionLocalProxyFactory(
             StatelessSessionLocalProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
-                  .getClassLoader());
+                  .getClassLoader(), null);
 
       // Start
       factory.start();
@@ -176,7 +176,7 @@
       // Create the Factory
       StatelessSessionRemoteProxyFactory factory = new StatelessSessionRemoteProxyFactory(
             StatelessSessionRemoteProxyFactory.class.getName(), container.getName(), container.getMetaData(), container
-                  .getClassLoader(), null);
+                  .getClassLoader(), null, null);
 
       // Start
       factory.start();




More information about the jboss-cvs-commits mailing list