[jboss-cvs] JBossAS SVN: r77630 - in projects/ejb3/tags: jboss-ejb3-proxy-0.1.4 and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 29 01:30:46 EDT 2008


Author: ALRubinger
Date: 2008-08-29 01:30:46 -0400 (Fri, 29 Aug 2008)
New Revision: 77630

Added:
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml
Removed:
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml
   projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml
Log:
[maven-release-plugin]  copy for tag jboss-ejb3-proxy-0.1.4

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4 (from rev 77625, projects/ejb3/trunk/proxy)

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml
===================================================================
--- projects/ejb3/trunk/proxy/pom.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,149 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <!-- Parent -->
-  <parent>
-    <groupId>org.jboss.ejb3</groupId>
-    <artifactId>jboss-ejb3-build</artifactId>
-    <version>0.13.14</version>
-  </parent>
-
-  <!-- Model Version -->
-  <modelVersion>4.0.0</modelVersion>
-
-  <!-- Artifact Configuration -->
-  <groupId>org.jboss.ejb3</groupId>
-  <artifactId>jboss-ejb3-proxy</artifactId>
-  <version>0.1.4-SNAPSHOT</version>
-  <name>JBoss EJB 3.0 Proxy</name>
-  <description>JBoss EJB3 Proxy Component</description>
-  <url>http://www.jboss.org/jbossejb3</url>
-
-  <!-- Build Configuration -->
-  <build>
-
-    <plugins>
-
-      <!-- Build a CP File for use by MockServer -->     
-      <plugin>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>build-cp-file</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>build-classpath</goal>
-            </goals>
-            <configuration>
-              <outputFile>target/cp.txt</outputFile>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- Assembly Plugin (Proxy Client) -->
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.2-beta-1</version>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>attached</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <descriptors>
-            <descriptor>jboss-ejb3-proxy-client.xml</descriptor>
-          </descriptors>
-          <attach>true</attach>
-        </configuration>
-        <inherited>false</inherited>
-      </plugin>
-
-    </plugins>
-
-  </build>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Because of a bug in m2eclipse the version of reflect must be explicitly defined 
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-reflect</artifactId>
-        <version>2.0.0.Beta12</version>
-      </dependency> -->
-    </dependencies>
-  </dependencyManagement>
-  
-  <!-- Dependencies -->
-  <dependencies>
-
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <!-- JBoss Remoting Aspects -->
-    <dependency>
-      <groupId>org.jboss.aspects</groupId>
-      <artifactId>jboss-remoting-aspects</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-common</artifactId>
-      <version>0.1.5</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-interceptors</artifactId>
-      <version>0.13.3</version>
-    </dependency>
-    
-     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-test</artifactId>
-      <version>0.1.2</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.jboss.metadata</groupId>
-      <artifactId>jboss-metadata</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.naming</groupId>
-      <artifactId>jnpserver</artifactId>
-      <scope>compile</scope>
-    </dependency>
-    
-    <!-- 
-     Needed by remoting, not declared as runtime dependency? 
-     
-     Remove if possible later
-    -->
-    <dependency>
-      <groupId>oswego-concurrent</groupId>
-      <artifactId>concurrent</artifactId>
-      <version>1.3.4-jboss-update1</version>
-      <scope>test</scope>
-    </dependency>        
-
-  </dependencies>
-</project>

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml (from rev 77629, projects/ejb3/trunk/proxy/pom.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/pom.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,155 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Parent -->
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>0.13.14</version>
+  </parent>
+
+  <!-- Model Version -->
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Artifact Configuration -->
+  <groupId>org.jboss.ejb3</groupId>
+  <artifactId>jboss-ejb3-proxy</artifactId>
+  <version>0.1.4</version>
+  <name>JBoss EJB 3.0 Proxy</name>
+  <description>JBoss EJB3 Proxy Component</description>
+  <url>http://www.jboss.org/jbossejb3</url>
+
+  <!-- Build Configuration -->
+  <build>
+
+    <plugins>
+
+      <!-- Build a CP File for use by MockServer -->     
+      <plugin>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>build-cp-file</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>build-classpath</goal>
+            </goals>
+            <configuration>
+              <outputFile>target/cp.txt</outputFile>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- Assembly Plugin (Proxy Client) -->
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-1</version>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <descriptors>
+            <descriptor>jboss-ejb3-proxy-client.xml</descriptor>
+          </descriptors>
+          <attach>true</attach>
+        </configuration>
+        <inherited>false</inherited>
+      </plugin>
+
+    </plugins>
+
+  </build>
+
+  <dependencyManagement>
+    <dependencies>
+      <!-- Because of a bug in m2eclipse the version of reflect must be explicitly defined 
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-reflect</artifactId>
+        <version>2.0.0.Beta12</version>
+      </dependency> -->
+    </dependencies>
+  </dependencyManagement>
+  
+  <!-- Dependencies -->
+  <dependencies>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <!-- JBoss Remoting Aspects -->
+    <dependency>
+      <groupId>org.jboss.aspects</groupId>
+      <artifactId>jboss-remoting-aspects</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-common</artifactId>
+      <version>0.1.5</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-interceptors</artifactId>
+      <version>0.13.3</version>
+    </dependency>
+    
+     <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-test</artifactId>
+      <version>0.1.2</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.jboss.metadata</groupId>
+      <artifactId>jboss-metadata</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.naming</groupId>
+      <artifactId>jnpserver</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    
+    <!-- 
+     Needed by remoting, not declared as runtime dependency? 
+     
+     Remove if possible later
+    -->
+    <dependency>
+      <groupId>oswego-concurrent</groupId>
+      <artifactId>concurrent</artifactId>
+      <version>1.3.4-jboss-update1</version>
+      <scope>test</scope>
+    </dependency>        
+
+  </dependencies>
+
+  <scm>
+    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-proxy-0.1.4</connection>
+    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-proxy-0.1.4</developerConnection>
+    <url>http://anonsvn.jboss.org/repos/jbossas/projects/ejb3/tags/jboss-ejb3-proxy-0.1.4</url>
+  </scm>
+</project>

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/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-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,970 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
-  *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.proxy.jndiregistrar;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import javax.naming.Context;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
-import javax.naming.StringRefAddr;
-import javax.naming.spi.ObjectFactory;
-
-import org.jboss.aop.Advisor;
-import org.jboss.aop.Dispatcher;
-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.factory.ProxyFactory;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
-import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
-import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
-import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
-import org.jboss.naming.Util;
-import org.jboss.remoting.InvokerLocator;
-
-/**
- * JndiSessionRegistrarBase
- * 
- * Responsible for binding of ObjectFactories and
- * creation/registration of associated ProxyFactories, 
- * centralizing operations common to that of all Session
- * EJB Implementations
- *
- * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
- * @version $Revision: $
- */
-public abstract class JndiSessionRegistrarBase
-{
-   // --------------------------------------------------------------------------------||
-   // Class Members ------------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   private static final Logger log = Logger.getLogger(JndiSessionRegistrarBase.class);
-
-   /**
-    * The value appended to the key used to bind proxy factories to the registry
-    */
-   private static final String KEY_PREFIX_PROXY_FACTORY_REGISTRY = "ProxyFactory/";
-
-   private static final String OBJECT_FACTORY_CLASSNAME_PREFIX = "Proxy for: ";
-
-   //TODO Remove
-   // EJBTHREE-1419
-   /**
-    * The default URL for InvokerLocator in the case @RemoteBinding does not specify it
-    */
-   public static final String DEFAULT_CLIENT_BINDING;
-   static{
-      // Construct a default binding from $(jboss.bind.address)
-      StringBuffer sb = new StringBuffer();
-      sb.append("socket://");
-      String bindAddress = System.getProperty("jboss.bind.address");
-      if(bindAddress==null)
-      {
-         bindAddress = "0.0.0.0";
-      }
-      sb.append(bindAddress);
-      sb.append(":3873");
-      DEFAULT_CLIENT_BINDING=sb.toString();
-   }
-
-   // --------------------------------------------------------------------------------||
-   // Instance Members ---------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Fully-qualified class name of the JNDI Object Factory to Reference
-    */
-   private String sessionProxyObjectFactoryType;
-
-   // --------------------------------------------------------------------------------||
-   // Constructor --------------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Creates a JNDI Registrar from the specified configuration properties, none of
-    * which may be null.
-    * 
-    * @param sessionProxyObjectFactoryType String representation of the JNDI Object 
-    *           Factory Class Name (fully-qualified) to use for this Session EJB
-    */
-   public JndiSessionRegistrarBase(final String sessionProxyObjectFactoryType)
-   {
-      /*
-       * Perform some assertions and logging
-       */
-
-      // Set the Proxy Object Factory Type
-      assert sessionProxyObjectFactoryType != null && !sessionProxyObjectFactoryType.equals("") : "Session EJB Proxy "
-            + ObjectFactory.class.getSimpleName() + " must be specified.";
-
-      try
-      {
-         // See if the specified Session Proxy Object Factory is valid
-         Class.forName(sessionProxyObjectFactoryType);
-      }
-      catch (ClassNotFoundException e)
-      {
-         throw new RuntimeException("Specified " + ObjectFactory.class.getSimpleName() + " of "
-               + sessionProxyObjectFactoryType + " could not be loaded.", e);
-      }
-      this.setSessionProxyObjectFactoryType(sessionProxyObjectFactoryType);
-      log.debug("Using Session EJB JNDI " + ObjectFactory.class.getSimpleName() + ": "
-            + this.getSessionProxyObjectFactoryType());
-   }
-
-   // --------------------------------------------------------------------------------||
-   // Functional Methods -------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Binds into JNDI all appropriate objects required 
-    * by the EJB described by the specified metadata.  Additionally
-    * responsible for creation and registration of any all ProxyFactory
-    * implementations required by the EJB
-    * 
-    * @param context The JNDI Context to use for binding
-    * @param smd the Container's metadata
-    * @param cl The CL of the Container
-    * @param containerName The name under which the target container is registered
-    * @param containerGuid The globally-unique name of the container
-    * @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 containerGuid, final Advisor advisor)
-   {
-      JndiReferenceBindingSet bindingSet = createJndiReferenceBindingSet(context, smd, cl, containerName, containerGuid, advisor);
-      
-      bind(context, bindingSet, false, true);
-   }
-
-   /**
-    * Creates all of the <code>Reference</code> objects that should be bound
-    * in JNDI for the EJB, and determines the correct JNDI name for each.
-    * Additionally responsible for creation and registration of any all 
-    * ProxyFactory implementations required by the EJB.
-    *
-    * @param smd the Container's metadata
-    * @param cl The CL of the Container
-    * @param containerName The name under which the target container is registered
-    * @param containerGuid The globally-unique name of the container
-    * @param advisor The advisor to use for generated proxies
-    * 
-    * @return data object encapsulating the references and their JNDI names
-    */
-   protected JndiReferenceBindingSet createJndiReferenceBindingSet(final Context context,
-         final JBossSessionBeanMetaData smd,  final ClassLoader cl, final String containerName, 
-         final String containerGuid, final Advisor advisor)
-   {
-      // Log 
-      String ejbName = smd.getEjbName();
-      log.debug("Found Session Bean: " + ejbName);
-
-      // Get Business Locals
-      BusinessLocalsMetaData businessLocals = smd.getBusinessLocals();
-
-      // Get Business Remotes
-      BusinessRemotesMetaData businessRemotes = smd.getBusinessRemotes();
-
-      // Get Local Home
-      String localHome = StringUtils.adjustWhitespaceStringToNull(smd.getLocalHome());
-
-      // Get Remote Home
-      String remoteHome = StringUtils.adjustWhitespaceStringToNull(smd.getHome());
-      
-      // Determine if there are local/remote views
-      boolean hasLocalView = (localHome != null || (businessLocals != null && businessLocals.size() > 0));
-      boolean hasRemoteView = (remoteHome != null || (businessRemotes != null && businessRemotes.size() > 0));
-
-      /*
-       * Create and Register Proxy Factories
-       */
-      
-      JndiReferenceBindingSet bindingSet = new JndiReferenceBindingSet(context);
-
-      // If there's a remote view
-      /*
-       * Bind Remote ObjectFactories to JNDI
-       */
-
-      if (hasRemoteView)
-      {
-         // Obtain RemoteBinding URL
-         List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
-         assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
-         RemoteBindingMetaData remoteBinding = bindings.get(0);
-         String url = remoteBinding.getClientBindUrl();
-         //TODO
-         // EJBTHREE-1419 Provide more intelligent mechanism for defaults when clientBindUrl is unspecified
-         if (url == null || url.trim().equals(""))
-         {
-            url = JndiSessionRegistrarBase.DEFAULT_CLIENT_BINDING;
-            remoteBinding.setClientBindUrl(url);
-         }
-         // Create and register a remote proxy factory
-         String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
-         SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName,
-               containerGuid, smd, cl, url, advisor);
-         this.registerProxyFactory(remoteProxyFactoryKey, factory, smd);
-
-         // Initialize Reference Addresses to attach to default remote JNDI Reference
-         List<RefAddr> refAddrsForDefaultRemote = new ArrayList<RefAddr>();
-
-         // For each of the remote business interfaces, make a Reference Address
-         if (businessRemotes != null)
-         {
-            for (String businessRemote : businessRemotes)
-            {
-               RefAddr refAddr = new StringRefAddr(
-                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE, businessRemote);
-               refAddrsForDefaultRemote.add(refAddr);
-            }
-         }
-
-         // Determine if remote home and business remotes are bound to same JNDI Address
-         boolean bindRemoteAndHomeTogether = this.isHomeAndBusinessBoundTogether(smd, false);
-         if (bindRemoteAndHomeTogether)
-         {
-            // Add a Reference Address for the Remote Home
-            String home = smd.getHome();
-            assert home != null : "Home and Business set to be bound together, yet no home is defined";
-            RefAddr refAddr = new StringRefAddr(
-                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE, home);
-            refAddrsForDefaultRemote.add(refAddr);
-         }
-         // Bind Home (not bound together) if exists
-         else if (smd.getHome() != null && !smd.getHome().equals(""))
-         {
-            String homeType = smd.getHome();
-            RefAddr refAddrHomeInterface = new StringRefAddr(
-                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE, homeType);
-            RefAddr refAddrRemoting = this.createRemotingRefAddr(smd);
-            Reference homeRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX + homeType, 
-                                                        remoteProxyFactoryKey, containerName);
-            homeRef.add(refAddrHomeInterface);
-            homeRef.add(refAddrRemoting);
-            
-            String homeAddress = smd.getHomeJndiName();
-            assert homeAddress != null && !homeAddress.equals("") : "JNDI Address for Remote Home must be defined";
-            log.debug("Remote Home View for EJB " + smd.getEjbName() + " to be bound into JNDI at \"" + homeAddress
-                  + "\"");
-            
-            bindingSet.addHomeRemoteBinding(new JndiReferenceBinding(homeAddress, homeRef));
-         }
-
-         // Add a Reference Address for the Remoting URL
-         refAddrsForDefaultRemote.add(this.createRemotingRefAddr(smd));
-
-         /*
-          * Bind ObjectFactory for default remote businesses (and home if bound together)
-          */
-
-         // Get Classname to set for Reference
-         String defaultRemoteClassName = this.getHumanReadableListOfInterfacesInRefAddrs(refAddrsForDefaultRemote);
-
-         // Create a Reference
-         Reference defaultRemoteRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
-               + defaultRemoteClassName, remoteProxyFactoryKey, containerName);
-
-         // Add all Reference Addresses for Default Remote Reference
-         for (RefAddr refAddr : refAddrsForDefaultRemote)
-         {
-            log.debug("Adding " + RefAddr.class.getSimpleName() + " to Default Remote "
-                  + Reference.class.getSimpleName() + ": Type \"" + refAddr.getType() + "\", Content \""
-                  + refAddr.getContent() + "\"");
-            defaultRemoteRef.add(refAddr);
-         }
-
-         // Bind the Default Remote Reference to JNDI
-         String defaultRemoteAddress = smd.getJndiName();
-         log.debug("Default Remote Business View for EJB " + smd.getEjbName() + " to be bound into JNDI at \""
-               + defaultRemoteAddress + "\"");
-         
-         bindingSet.addDefaultRemoteBinding(new JndiReferenceBinding(defaultRemoteAddress, defaultRemoteRef));
-
-         // Bind ObjectFactory specific to each Remote Business Interface
-         if (businessRemotes != null)
-         {
-            for (String businessRemote : businessRemotes)
-            {
-               RefAddr refAddrBusinessInterface = new StringRefAddr(
-                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE, businessRemote);
-               RefAddr refAddrRemoting = this.createRemotingRefAddr(smd);
-               Reference ref = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX + businessRemote,
-                     remoteProxyFactoryKey, containerName);
-               ref.add(refAddrBusinessInterface);
-               ref.add(refAddrRemoting);
-               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessRemote);
-               log.debug("Remote Business View for " + businessRemote + " of EJB " + smd.getEjbName()
-                     + " to be bound into JNDI at \"" + address + "\"");
-               
-               bindingSet.addBusinessRemoteBinding(businessRemote, new JndiReferenceBinding(address, ref));
-            }
-         }
-      }
-      // If there's a local view
-      if (hasLocalView)
-      {
-         // Create and register a local proxy factory
-         String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
-         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, containerGuid,
-               smd, cl, advisor);
-         this.registerProxyFactory(localProxyFactoryKey, factory, smd);
-
-         // Initialize Reference Addresses to attach to default local JNDI Reference
-         List<RefAddr> refAddrsForDefaultLocal = new ArrayList<RefAddr>();
-
-         // For each of the local business interfaces, make a Reference Address
-         if (businessLocals != null)
-         {
-            for (String businessLocal : businessLocals)
-            {
-               RefAddr refAddr = new StringRefAddr(
-                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL, businessLocal);
-               refAddrsForDefaultLocal.add(refAddr);
-            }
-         }
-
-         // Determine if local home and business locals are bound to same JNDI Address
-         boolean bindLocalAndLocalHomeTogether = this.isHomeAndBusinessBoundTogether(smd, true);
-         if (bindLocalAndLocalHomeTogether)
-         {
-            // Add a Reference Address for the Local Home
-            RefAddr refAddr = new StringRefAddr(
-                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL, smd.getLocalHome());
-            refAddrsForDefaultLocal.add(refAddr);
-         }
-         // Bind Local Home (not bound together) if exists
-         else if (smd.getLocalHome() != null && !smd.getLocalHome().equals(""))
-         {
-            String localHomeType = smd.getLocalHome();
-            RefAddr refAddr = new StringRefAddr(
-                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL, localHomeType);
-            Reference localHomeRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
-                  + localHomeType, localProxyFactoryKey, containerName);
-            localHomeRef.add(refAddr);
-            String localHomeAddress = smd.getLocalHomeJndiName();
-            log.debug("Local Home View for EJB " + smd.getEjbName() + " to be bound into JNDI at \"" + localHomeAddress
-                  + "\"");
-            
-            bindingSet.addHomeLocalBinding(new JndiReferenceBinding(localHomeAddress, localHomeRef));
-         }
-
-         /*
-          * Bind ObjectFactory for default local businesses (and LocalHome if bound together)
-          */
-
-         // Get Classname to set for Reference
-         String defaultLocalClassName = this.getHumanReadableListOfInterfacesInRefAddrs(refAddrsForDefaultLocal);
-
-         // Create a Reference
-         Reference defaultLocalRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
-               + defaultLocalClassName, localProxyFactoryKey, containerName);
-
-         // Add all Reference Addresses for Default Local Reference
-         for (RefAddr refAddr : refAddrsForDefaultLocal)
-         {
-            log.debug("Adding " + RefAddr.class.getSimpleName() + " to Default Local "
-                  + Reference.class.getSimpleName() + ": Type \"" + refAddr.getType() + "\", Content \""
-                  + refAddr.getContent() + "\"");
-            defaultLocalRef.add(refAddr);
-         }
-
-         // Bind the Default Local Reference to JNDI
-         String defaultLocalAddress = smd.getLocalJndiName();
-         log.debug("Default Local Business View for EJB " + smd.getEjbName() + " to be bound into JNDI at \""
-               + defaultLocalAddress + "\"");
-         
-         bindingSet.addDefaultLocalBinding(new JndiReferenceBinding(defaultLocalAddress, defaultLocalRef));
-
-         // Bind ObjectFactory specific to each Local Business Interface
-         if (businessLocals != null)
-         {
-            for (String businessLocal : businessLocals)
-            {
-               RefAddr refAddr = new StringRefAddr(
-                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL, businessLocal);
-               Reference ref = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX + businessLocal,
-                     localProxyFactoryKey, containerName);
-               ref.add(refAddr);
-               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessLocal);
-               log.debug("Local Business View for " + businessLocal + " of EJB " + smd.getEjbName()
-                     + " to be bound into JNDI at \"" + address + "\"");
-               
-               bindingSet.addBusinessLocalBinding(businessLocal, new JndiReferenceBinding(address, ref));
-            }
-         }
-      }
-      return bindingSet;
-   }
-
-   /**
-    * Unbinds from JNDI all appropriate objects registered 
-    * by the EJB described by the specified metadata.  Additionally
-    * responsible for destruction and deregistration of any all ProxyFactory
-    * implementations required by the EJB
-    * 
-    * @param context The JNDI Context to use for unbinding
-    * @param smd
-    */
-   public void unbindEjb(final Context context, final JBossSessionBeanMetaData smd)
-   {
-      // Log 
-      String ejbName = smd.getEjbName();
-      log.debug("Unbinding JNDI References for Session Bean: " + ejbName);
-
-      // Get Business Locals
-      BusinessLocalsMetaData businessLocals = smd.getBusinessLocals();
-
-      // Get Business Remotes
-      BusinessRemotesMetaData businessRemotes = smd.getBusinessRemotes();
-
-      // Get Local Home
-      String localHome = StringUtils.adjustWhitespaceStringToNull(smd.getLocalHome());
-
-      // Get Remote Home
-      String remoteHome = StringUtils.adjustWhitespaceStringToNull(smd.getHome());
-
-      // Determine if there are local/remote views
-      boolean hasLocalView = (localHome != null || (businessLocals != null && businessLocals.size() > 0));
-      boolean hasRemoteView = (remoteHome != null || (businessRemotes != null && businessRemotes.size() > 0));
-
-      /*
-       * Remove Proxy Factories
-       */
-
-      // If there's a remote view
-      /*
-       * Remove Remote ObjectFactories to JNDI
-       */
-
-      if (hasRemoteView)
-      {
-         // Obtain RemoteBinding URL
-         List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
-         assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
-
-         // Create and register a remote proxy factory
-         String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
-         this.deregisterProxyFactory(remoteProxyFactoryKey);
-
-         // Determine if remote home and business remotes are bound to same JNDI Address
-         boolean bindRemoteAndHomeTogether = this.isHomeAndBusinessBoundTogether(smd, false);
-         // Bind Home (not bound together) if exists
-         if ((smd.getHome() != null && !smd.getHome().equals("")) && !bindRemoteAndHomeTogether)
-         {
-            String homeAddress = smd.getHomeJndiName();
-            log.debug("Remote Home View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \"" + homeAddress
-                  + "\"");
-            this.unbind(context, homeAddress);
-         }
-
-         /*
-          * Unbind ObjectFactory for default remote businesses (and home if bound together)
-          */
-
-         // Bind the Default Remote Reference to JNDI
-         String defaultRemoteAddress = smd.getJndiName();
-         log.debug("Default Remote Business View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
-               + defaultRemoteAddress + "\"");
-         this.unbind(context, defaultRemoteAddress);
-
-         // Unbind ObjectFactory specific to each Remote Business Interface
-         if (businessRemotes != null)
-         {
-            for (String businessRemote : businessRemotes)
-            {
-               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessRemote);
-               log.debug("Remote Business View for " + businessRemote + " of EJB " + smd.getEjbName()
-                     + " to be unbound from JNDI at \"" + address + "\"");
-               this.unbind(context, address);
-            }
-         }
-      }
-      // If there's a local view
-      if (hasLocalView)
-      {
-         // Remove local proxy factory
-         String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
-         this.deregisterProxyFactory(localProxyFactoryKey);
-
-         // Determine if local home and business locals are bound to same JNDI Address
-         boolean bindLocalAndLocalHomeTogether = this.isHomeAndBusinessBoundTogether(smd, true);
-
-         // Unbind Local Home (not bound together) if exists
-         if ((smd.getLocalHome() != null && !smd.getLocalHome().equals("")) && !bindLocalAndLocalHomeTogether)
-         {
-            String localHomeAddress = smd.getLocalHomeJndiName();
-            log.debug("Local Home View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
-                  + localHomeAddress + "\"");
-            this.unbind(context, localHomeAddress);
-         }
-
-         /*
-          * Unbind ObjectFactory for default local businesses (and LocalHome if bound together)
-          */
-
-         // Unbind the Default Local Reference to JNDI
-         String defaultLocalAddress = smd.getLocalJndiName();
-         log.debug("Default Local Business View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
-               + defaultLocalAddress + "\"");
-         this.unbind(context, defaultLocalAddress);
-
-         // Unbind ObjectFactory specific to each Local Business Interface
-         if (businessLocals != null)
-         {
-            for (String businessLocal : businessLocals)
-            {
-               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessLocal);
-               log.debug("Local Business View for " + businessLocal + " of EJB " + smd.getEjbName()
-                     + " to be unbound from JNDI at \"" + address + "\"");
-               this.unbind(context, address);
-            }
-         }
-      }
-   }
-
-   // --------------------------------------------------------------------------------||
-   // Contracts ----------------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Creates and returns a new local proxy factory for this Session Bean
-    * 
-    * @param name The unique name for the ProxyFactory
-    * @param containerName The name of the Container upon which Proxies 
-    *   from the returned ProxyFactory will invoke
-    * @param containerGuid The globally-unique name of the container
-    * @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 String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
-
-   /**
-    * Creates and returns a new remote proxy factory for this Session Bean
-    * 
-    * @param name The unique name for the ProxyFactory
-    * @param containerName The name of the Container upon which Proxies 
-    *   from the returned ProxyFactory will invoke
-    * @param containerGuid The globally-unique name of the container
-    * @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 String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
-         final Advisor advisor);
-
-   // --------------------------------------------------------------------------------||
-   // Helper Methods -----------------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   /**
-    * Creates a new <code>Reference</code> whose <code>classname</code> is
-    * the given <code>referenceName</code> and whose <code>classFactory</code> 
-    * is {@link #getSessionProxyObjectFactoryType()}, adding 
-    * the requisite Registry key for the ProxyFactory and the requisite
-    * target EJB Container Name as ReferenceAddresses.
-    */
-   protected Reference createStandardReference(String referenceName,
-                                               String proxyFactoryRegistryKey,
-                                               String containerName)
-   {
-      Reference ref = new Reference(referenceName, 
-                                    this.getSessionProxyObjectFactoryType(), null);
-      
-      // Add the Proxy Factory Registry key for this Reference
-      assert proxyFactoryRegistryKey != null && !proxyFactoryRegistryKey.trim().equals("") : "Proxy Factory Registry key is required but not supplied";
-      String proxyFactoryRefType = ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY;
-      RefAddr proxyFactoryRefAddr = new StringRefAddr(proxyFactoryRefType, proxyFactoryRegistryKey);
-      ref.add(proxyFactoryRefAddr);
-      log.debug("Adding " + RefAddr.class.getSimpleName() + " to " + Reference.class.getSimpleName() + ": Type \""
-            + proxyFactoryRefType + "\", Content \"" + proxyFactoryRegistryKey + "\"");
-
-      // Add the Container name for this Reference
-      assert containerName != null && !containerName.trim().equals("") : "Container Name is required but not supplied";
-      String ejbContainerRefType = ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_EJBCONTAINER_NAME;
-      RefAddr containerRefAddr = new StringRefAddr(ejbContainerRefType, containerName);
-      ref.add(containerRefAddr);
-      log.debug("Adding " + RefAddr.class.getSimpleName() + " to " + Reference.class.getSimpleName() + ": Type \""
-            + ejbContainerRefType + "\", Content \"" + containerName + "\"");
-      
-      return ref;
-   }
-   
-   protected void bind(final Context context, final JndiReferenceBindingSet bindings, 
-                       final boolean useRebind, final boolean bindLocals)
-   {
-      for (JndiReferenceBinding binding : bindings.getDefaultRemoteBindings())
-      {
-         bind(context, binding, useRebind);
-      }
-      
-      for (JndiReferenceBinding binding : bindings.getHomeRemoteBindings())
-      {
-         bind(context, binding, useRebind);
-      }
-      
-      for (Set<JndiReferenceBinding> businessBindings : bindings.getBusinessRemoteBindings().values())
-      {
-         for (JndiReferenceBinding binding : businessBindings)
-         {
-            bind(context, binding, useRebind);
-         }
-      }
-      
-      if (bindLocals)
-      {         
-         for (JndiReferenceBinding binding : bindings.getDefaultLocalBindings())
-         {
-            bind(context, binding, useRebind);
-         }
-         
-         for (JndiReferenceBinding binding : bindings.getHomeLocalBindings())
-         {
-            bind(context, binding, useRebind);
-         }
-         
-         for (Set<JndiReferenceBinding> businessBindings : bindings.getBusinessLocalBindings().values())
-         {
-            for (JndiReferenceBinding binding : businessBindings)
-            {
-               bind(context, binding, useRebind);
-            }
-         }   
-      }
-   }
-   
-   protected void bind(Context context, JndiReferenceBinding binding, boolean useRebind)
-   {
-      if (binding != null)
-      {
-         if (useRebind)
-            rebind(context, binding.getJndiName(), binding.getReference());
-         else
-            bind(context, binding.getJndiName(), binding.getReference());
-      }
-   }
-
-   /**
-    * Binds the specified Reference into JNDI at the specified address
-    * 
-    * @param context The JNDI Context to use
-    * @param address the address
-    * @param ref the reference to bind
-    */
-   protected void bind(Context context, String address, Reference ref)
-   {
-      try
-      {
-         Util.bind(context, address, ref);
-         log.debug("Bound " + ref.getClass().getName() + " into JNDI at \"" + address + "\"");
-      }
-      catch (NamingException e)
-      {
-         throw new RuntimeException("Could not bind " + ref + " into JNDI at \"" + address + "\"", e);
-      }
-   }
-
-   /**
-    * Re-binds the specified Reference into JNDI at the specified address
-    * 
-    * @param context The JNDI Context to use
-    * @param address the address
-    * @param object the object to bind
-    */
-   protected void rebind(Context context, String address, Reference ref)
-   {
-      try
-      {
-         Util.rebind(context, address, ref);
-         log.debug("Bound " + ref.getClass().getName() + " into JNDI at \"" + address + "\"");
-      }
-      catch (NamingException e)
-      {
-         throw new RuntimeException("Could not bind " + ref + " into JNDI at \"" + address + "\"", e);
-      }
-   }
-
-   /**
-    * Unbinds the specified address from JNDI
-    * 
-    * @param context The JNDI Context to use
-    * @param address
-    */
-   protected void unbind(Context context, String address)
-   {
-      // Unbind
-      try
-      {
-         Util.unbind(context, address);
-      }
-      catch (NameNotFoundException nnfe)
-      {
-         // Swallow, who cares? :)
-      }
-      catch (NamingException e)
-      {
-         throw new RuntimeException("Could not unbind \"" + address + "\" from JNDI", e);
-      }
-   }
-
-   /**
-    * Returns whether the business interfaces and EJB2.x Home should be bound to 
-    * the same JNDI Name 
-    * 
-    * @param smd
-    * @param isLocal
-    * @return
-    */
-   protected boolean isHomeAndBusinessBoundTogether(JBossSessionBeanMetaData smd, boolean isLocal)
-   {
-      // Initialize
-      boolean bindTogether = false;
-
-      // If local
-      if (isLocal)
-      {
-         // If no local home defined
-         if (smd.getLocalHome() == null)
-         {
-            // Not bound together
-            return false;
-         }
-
-         // Bind together if Local Default JNDI Name == Local Home JNDI Name
-         bindTogether = smd.getLocalJndiName().equals(smd.getLocalHomeJndiName());
-      }
-      // If Remote
-      else
-      {
-         // If no home defined
-         if (smd.getHome() == null)
-         {
-            // Not bound together
-            return false;
-         }
-         // Bind together if Local Default JNDI Name == Local Home JNDI Name
-         bindTogether = smd.getJndiName().equals(smd.getHomeJndiName());
-      }
-
-      // Return
-      return bindTogether;
-   }
-
-   /**
-    * Creates and returns a new RefAddr to flag the proper
-    * InvokerLocator URL used by remoting for the EJB represented
-    * by the specified metadata 
-    * 
-    * @param smd
-    * @return
-    */
-   protected RefAddr createRemotingRefAddr(JBossSessionBeanMetaData smd)
-   {
-      // Obtain RemoteBinding
-      List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
-      assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
-      RemoteBindingMetaData remoteBinding = smd.getRemoteBindings().get(0);
-
-      // Create RefAddr
-      String url = remoteBinding.getClientBindUrl();
-      assert url != null && url.trim().toString().length() != 0 : InvokerLocator.class.getSimpleName()
-            + " URL must be defined, and is unspecified";
-      RefAddr refAddr = new StringRefAddr(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_INVOKER_LOCATOR_URL, url);
-
-      // Return
-      return refAddr;
-   }
-
-   /**
-    * Returns the name of the unique key under which a Proxy Factory will 
-    * be registered.  Will follow form:
-    * 
-    * ProxyFactory/(jndiName)
-    * 
-    * ...depending upon the specified "isLocal" flag
-    * 
-    * @param md
-    * @param isLocal
-    */
-   public String getProxyFactoryRegistryKey(JBossSessionBeanMetaData md, boolean isLocal)
-   {
-      // Initialize
-      String suffix = null;
-
-      // Set Suffix
-      if (isLocal)
-      {
-         suffix = md.getLocalJndiName();
-      }
-      else
-      {
-         suffix = md.getJndiName();
-      }
-
-      // Ensure suffix is specified
-      assert suffix != null && !suffix.equals("") : ProxyFactory.class.getSimpleName()
-            + " key prefix for binding to registry is not specified";
-
-      // Assemble and return
-      String key = JndiSessionRegistrarBase.KEY_PREFIX_PROXY_FACTORY_REGISTRY + suffix;
-      return key;
-   }
-
-   /**
-    * Makes a comma-delimited list of interfaces bound for setting the 
-    * Classname of the Reference.  This will show up in JNDIView and make 
-    * it clear to application developers what will be castable from the lookup result
-    * 
-    * @param refAddrs
-    * @return
-    */
-   protected String getHumanReadableListOfInterfacesInRefAddrs(List<RefAddr> refAddrs)
-   {
-      // Make a Comma-delimited list of interfaces bound for setting the Classname of the Reference
-      // This will show up in JNDIView and make it clear to application developers
-      // what will be castable from the lookup result
-      StringBuffer defaultRemotes = new StringBuffer();
-      int remotesCount = 0;
-      int interfaceCount = 0;
-      for (RefAddr refAddr : refAddrs)
-      {
-         remotesCount++;
-         String refAddrType = refAddr.getType();
-         if (isRefAddrTypeEjbInterface(refAddrType))
-         {
-            if (interfaceCount > 0)
-            {
-               defaultRemotes.append(", ");
-            }
-            defaultRemotes.append(refAddr.getContent());
-            interfaceCount++;
-         }
-      }
-      return defaultRemotes.toString();
-   }
-
-   /**
-    * Returns whether the specified RefAddr type denotes an EJB Interface 
-    * 
-    * @param refAddrType
-    * @return
-    */
-   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);
-   }
-
-   /**
-    * Registers the specified proxy factory into the registry 
-    * 
-    * @param name The unique name for the ProxyFactory
-    * @param factory
-    * @param smd Metadata describing the EJB
-    */
-   protected void registerProxyFactory(String name, ProxyFactory factory, JBossEnterpriseBeanMetaData smd)
-   {
-      // Register
-      log.debug("Registering " + factory + " under key \"" + name + "\"...");
-      try
-      {
-         Ejb3RegistrarLocator.locateRegistrar().bind(name, factory);
-      }
-      catch (DuplicateBindException e)
-      {
-         /*
-          * Note on registry key collisions:
-          * 
-          * Indicates that either the keys created are not unique or that we're attempting to redeploy 
-          * an EJB that was not properly deregistered.  Either way, this is a programmatic problem
-          * and not the fault of the bean provider/developer/deployer
-          */
-
-         throw new RuntimeException("Could not register " + factory + " under an already registered key, \"" + name
-               + "\"", e);
-      }
-   }
-
-   /** 
-    * Deregisters the proxy factory with the specified name from the registry
-    * 
-    * @param name
-    */
-   protected void deregisterProxyFactory(String name)
-   {
-      // Log
-      log.debug("Deregistering " + ProxyFactory.class.getSimpleName() + " under name \"" + name + "\"");
-
-      // Obtain
-      Object obj = Ejb3RegistrarLocator.locateRegistrar().lookup(name);
-      assert (obj != null) : ProxyFactory.class.getSimpleName() + " was expected registered under name \"" + name
-            + "\", but sws not found.";
-      assert obj instanceof ProxyFactory : "Expected " + ProxyFactory.class.getName() + " bound under name \"" + name
-            + "\", but was instead: " + obj;
-
-      // Deregister
-      Ejb3RegistrarLocator.locateRegistrar().unbind(name);
-      
-      // EJBTHREE-1473
-      // Deregister with AOP if registered
-      //TODO This should probably be in a cleaner location, ie.
-      // implement a callback for AOP Registration/Deregistration
-      // that decouples JNDI Registration and abstracts whether 
-      // a Proxy Factory is Remote or not
-      if(Dispatcher.singleton.isRegistered(name))
-      {
-         Dispatcher.singleton.unregisterTarget(name);
-      }
-   }
-
-   // --------------------------------------------------------------------------------||
-   // Accessors / Mutators -----------------------------------------------------------||
-   // --------------------------------------------------------------------------------||
-
-   public String getSessionProxyObjectFactoryType()
-   {
-      return sessionProxyObjectFactoryType;
-   }
-
-   public void setSessionProxyObjectFactoryType(String sessionProxyObjectFactoryType)
-   {
-      this.sessionProxyObjectFactoryType = sessionProxyObjectFactoryType;
-   }
-
-}

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java (from rev 77628, projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,1016 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.proxy.jndiregistrar;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.naming.Context;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.StringRefAddr;
+import javax.naming.spi.ObjectFactory;
+
+import org.jboss.aop.Advisor;
+import org.jboss.aop.Dispatcher;
+import org.jboss.ejb3.common.registrar.spi.DuplicateBindException;
+import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
+import org.jboss.ejb3.common.registrar.spi.NotBoundException;
+import org.jboss.ejb3.common.string.StringUtils;
+import org.jboss.ejb3.proxy.factory.ProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
+import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
+import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
+import org.jboss.naming.Util;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.transport.Connector;
+
+/**
+ * JndiSessionRegistrarBase
+ * 
+ * Responsible for binding of ObjectFactories and
+ * creation/registration of associated ProxyFactories, 
+ * centralizing operations common to that of all Session
+ * EJB Implementations
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public abstract class JndiSessionRegistrarBase
+{
+   // --------------------------------------------------------------------------------||
+   // Class Members ------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   private static final Logger log = Logger.getLogger(JndiSessionRegistrarBase.class);
+
+   /**
+    * The value appended to the key used to bind proxy factories to the registry
+    */
+   private static final String KEY_PREFIX_PROXY_FACTORY_REGISTRY = "ProxyFactory/";
+
+   private static final String OBJECT_FACTORY_CLASSNAME_PREFIX = "Proxy for: ";
+
+   /**
+    * The name under which the Remoting Connector is bound in MC
+    */
+   private static final String OBJECT_NAME_REMOTING_CONNECTOR = "org.jboss.ejb3.RemotingConnector";
+
+   /**
+    * The default URL for InvokerLocator in the case @RemoteBinding does not specify it
+    */
+   protected static String DEFAULT_CLIENT_BINDING;
+
+   /**
+    * The default URL for InvokerLocator if if cannot be read from the EJB3 Remoting Connector
+    */
+   protected static final String DEFAULT_CLIENT_BINDING_IF_CONNECTOR_NOT_FOUND = "socket://0.0.0.0:3873";
+
+   // --------------------------------------------------------------------------------||
+   // Instance Members ---------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Fully-qualified class name of the JNDI Object Factory to Reference
+    */
+   private String sessionProxyObjectFactoryType;
+
+   // --------------------------------------------------------------------------------||
+   // Constructor --------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Creates a JNDI Registrar from the specified configuration properties, none of
+    * which may be null.
+    * 
+    * @param sessionProxyObjectFactoryType String representation of the JNDI Object 
+    *           Factory Class Name (fully-qualified) to use for this Session EJB
+    */
+   public JndiSessionRegistrarBase(final String sessionProxyObjectFactoryType)
+   {
+      /*
+       * Perform some assertions and logging
+       */
+
+      // Set the Proxy Object Factory Type
+      assert sessionProxyObjectFactoryType != null && !sessionProxyObjectFactoryType.equals("") : "Session EJB Proxy "
+            + ObjectFactory.class.getSimpleName() + " must be specified.";
+
+      try
+      {
+         // See if the specified Session Proxy Object Factory is valid
+         Class.forName(sessionProxyObjectFactoryType);
+      }
+      catch (ClassNotFoundException e)
+      {
+         throw new RuntimeException("Specified " + ObjectFactory.class.getSimpleName() + " of "
+               + sessionProxyObjectFactoryType + " could not be loaded.", e);
+      }
+      this.setSessionProxyObjectFactoryType(sessionProxyObjectFactoryType);
+      log.debug("Using Session EJB JNDI " + ObjectFactory.class.getSimpleName() + ": "
+            + this.getSessionProxyObjectFactoryType());
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Functional Methods -------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Binds into JNDI all appropriate objects required 
+    * by the EJB described by the specified metadata.  Additionally
+    * responsible for creation and registration of any all ProxyFactory
+    * implementations required by the EJB
+    * 
+    * @param context The JNDI Context to use for binding
+    * @param smd the Container's metadata
+    * @param cl The CL of the Container
+    * @param containerName The name under which the target container is registered
+    * @param containerGuid The globally-unique name of the container
+    * @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 containerGuid, final Advisor advisor)
+   {
+      JndiReferenceBindingSet bindingSet = createJndiReferenceBindingSet(context, smd, cl, containerName,
+            containerGuid, advisor);
+
+      bind(context, bindingSet, false, true);
+   }
+
+   /**
+    * Creates all of the <code>Reference</code> objects that should be bound
+    * in JNDI for the EJB, and determines the correct JNDI name for each.
+    * Additionally responsible for creation and registration of any all 
+    * ProxyFactory implementations required by the EJB.
+    *
+    * @param smd the Container's metadata
+    * @param cl The CL of the Container
+    * @param containerName The name under which the target container is registered
+    * @param containerGuid The globally-unique name of the container
+    * @param advisor The advisor to use for generated proxies
+    * 
+    * @return data object encapsulating the references and their JNDI names
+    */
+   protected JndiReferenceBindingSet createJndiReferenceBindingSet(final Context context,
+         final JBossSessionBeanMetaData smd, final ClassLoader cl, final String containerName,
+         final String containerGuid, final Advisor advisor)
+   {
+      // Log 
+      String ejbName = smd.getEjbName();
+      log.debug("Found Session Bean: " + ejbName);
+
+      // Get Business Locals
+      BusinessLocalsMetaData businessLocals = smd.getBusinessLocals();
+
+      // Get Business Remotes
+      BusinessRemotesMetaData businessRemotes = smd.getBusinessRemotes();
+
+      // Get Local Home
+      String localHome = StringUtils.adjustWhitespaceStringToNull(smd.getLocalHome());
+
+      // Get Remote Home
+      String remoteHome = StringUtils.adjustWhitespaceStringToNull(smd.getHome());
+
+      // Determine if there are local/remote views
+      boolean hasLocalView = (localHome != null || (businessLocals != null && businessLocals.size() > 0));
+      boolean hasRemoteView = (remoteHome != null || (businessRemotes != null && businessRemotes.size() > 0));
+
+      /*
+       * Create and Register Proxy Factories
+       */
+
+      JndiReferenceBindingSet bindingSet = new JndiReferenceBindingSet(context);
+
+      // If there's a remote view
+      /*
+       * Bind Remote ObjectFactories to JNDI
+       */
+
+      if (hasRemoteView)
+      {
+         // Obtain RemoteBinding URL
+         List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
+         assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
+         RemoteBindingMetaData remoteBinding = bindings.get(0);
+         String url = remoteBinding.getClientBindUrl();
+
+         // If no explicit Client Bind URL is specified
+         if (url == null || url.trim().equals(""))
+         {
+            // Use the binding on the EJB3 Remoting Connector
+            url = this.getDefaultClientBinding();
+            remoteBinding.setClientBindUrl(url);
+         }
+         // Create and register a remote proxy factory
+         String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
+         SessionProxyFactory factory = this.createRemoteProxyFactory(remoteProxyFactoryKey, containerName,
+               containerGuid, smd, cl, url, advisor);
+         this.registerProxyFactory(remoteProxyFactoryKey, factory, smd);
+
+         // Initialize Reference Addresses to attach to default remote JNDI Reference
+         List<RefAddr> refAddrsForDefaultRemote = new ArrayList<RefAddr>();
+
+         // For each of the remote business interfaces, make a Reference Address
+         if (businessRemotes != null)
+         {
+            for (String businessRemote : businessRemotes)
+            {
+               RefAddr refAddr = new StringRefAddr(
+                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE, businessRemote);
+               refAddrsForDefaultRemote.add(refAddr);
+            }
+         }
+
+         // Determine if remote home and business remotes are bound to same JNDI Address
+         boolean bindRemoteAndHomeTogether = this.isHomeAndBusinessBoundTogether(smd, false);
+         if (bindRemoteAndHomeTogether)
+         {
+            // Add a Reference Address for the Remote Home
+            String home = smd.getHome();
+            assert home != null : "Home and Business set to be bound together, yet no home is defined";
+            RefAddr refAddr = new StringRefAddr(
+                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE, home);
+            refAddrsForDefaultRemote.add(refAddr);
+         }
+         // Bind Home (not bound together) if exists
+         else if (smd.getHome() != null && !smd.getHome().equals(""))
+         {
+            String homeType = smd.getHome();
+            RefAddr refAddrHomeInterface = new StringRefAddr(
+                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_REMOTE, homeType);
+            RefAddr refAddrRemoting = this.createRemotingRefAddr(smd);
+            Reference homeRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+                  + homeType, remoteProxyFactoryKey, containerName);
+            homeRef.add(refAddrHomeInterface);
+            homeRef.add(refAddrRemoting);
+
+            String homeAddress = smd.getHomeJndiName();
+            assert homeAddress != null && !homeAddress.equals("") : "JNDI Address for Remote Home must be defined";
+            log.debug("Remote Home View for EJB " + smd.getEjbName() + " to be bound into JNDI at \"" + homeAddress
+                  + "\"");
+
+            bindingSet.addHomeRemoteBinding(new JndiReferenceBinding(homeAddress, homeRef));
+         }
+
+         // Add a Reference Address for the Remoting URL
+         refAddrsForDefaultRemote.add(this.createRemotingRefAddr(smd));
+
+         /*
+          * Bind ObjectFactory for default remote businesses (and home if bound together)
+          */
+
+         // Get Classname to set for Reference
+         String defaultRemoteClassName = this.getHumanReadableListOfInterfacesInRefAddrs(refAddrsForDefaultRemote);
+
+         // Create a Reference
+         Reference defaultRemoteRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+               + defaultRemoteClassName, remoteProxyFactoryKey, containerName);
+
+         // Add all Reference Addresses for Default Remote Reference
+         for (RefAddr refAddr : refAddrsForDefaultRemote)
+         {
+            log.debug("Adding " + RefAddr.class.getSimpleName() + " to Default Remote "
+                  + Reference.class.getSimpleName() + ": Type \"" + refAddr.getType() + "\", Content \""
+                  + refAddr.getContent() + "\"");
+            defaultRemoteRef.add(refAddr);
+         }
+
+         // Bind the Default Remote Reference to JNDI
+         String defaultRemoteAddress = smd.getJndiName();
+         log.debug("Default Remote Business View for EJB " + smd.getEjbName() + " to be bound into JNDI at \""
+               + defaultRemoteAddress + "\"");
+
+         bindingSet.addDefaultRemoteBinding(new JndiReferenceBinding(defaultRemoteAddress, defaultRemoteRef));
+
+         // Bind ObjectFactory specific to each Remote Business Interface
+         if (businessRemotes != null)
+         {
+            for (String businessRemote : businessRemotes)
+            {
+               RefAddr refAddrBusinessInterface = new StringRefAddr(
+                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE, businessRemote);
+               RefAddr refAddrRemoting = this.createRemotingRefAddr(smd);
+               Reference ref = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+                     + businessRemote, remoteProxyFactoryKey, containerName);
+               ref.add(refAddrBusinessInterface);
+               ref.add(refAddrRemoting);
+               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessRemote);
+               log.debug("Remote Business View for " + businessRemote + " of EJB " + smd.getEjbName()
+                     + " to be bound into JNDI at \"" + address + "\"");
+
+               bindingSet.addBusinessRemoteBinding(businessRemote, new JndiReferenceBinding(address, ref));
+            }
+         }
+      }
+      // If there's a local view
+      if (hasLocalView)
+      {
+         // Create and register a local proxy factory
+         String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
+         SessionProxyFactory factory = this.createLocalProxyFactory(localProxyFactoryKey, containerName, containerGuid,
+               smd, cl, advisor);
+         this.registerProxyFactory(localProxyFactoryKey, factory, smd);
+
+         // Initialize Reference Addresses to attach to default local JNDI Reference
+         List<RefAddr> refAddrsForDefaultLocal = new ArrayList<RefAddr>();
+
+         // For each of the local business interfaces, make a Reference Address
+         if (businessLocals != null)
+         {
+            for (String businessLocal : businessLocals)
+            {
+               RefAddr refAddr = new StringRefAddr(
+                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL, businessLocal);
+               refAddrsForDefaultLocal.add(refAddr);
+            }
+         }
+
+         // Determine if local home and business locals are bound to same JNDI Address
+         boolean bindLocalAndLocalHomeTogether = this.isHomeAndBusinessBoundTogether(smd, true);
+         if (bindLocalAndLocalHomeTogether)
+         {
+            // Add a Reference Address for the Local Home
+            RefAddr refAddr = new StringRefAddr(
+                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL, smd.getLocalHome());
+            refAddrsForDefaultLocal.add(refAddr);
+         }
+         // Bind Local Home (not bound together) if exists
+         else if (smd.getLocalHome() != null && !smd.getLocalHome().equals(""))
+         {
+            String localHomeType = smd.getLocalHome();
+            RefAddr refAddr = new StringRefAddr(
+                  ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_EJB2x_INTERFACE_HOME_LOCAL, localHomeType);
+            Reference localHomeRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+                  + localHomeType, localProxyFactoryKey, containerName);
+            localHomeRef.add(refAddr);
+            String localHomeAddress = smd.getLocalHomeJndiName();
+            log.debug("Local Home View for EJB " + smd.getEjbName() + " to be bound into JNDI at \"" + localHomeAddress
+                  + "\"");
+
+            bindingSet.addHomeLocalBinding(new JndiReferenceBinding(localHomeAddress, localHomeRef));
+         }
+
+         /*
+          * Bind ObjectFactory for default local businesses (and LocalHome if bound together)
+          */
+
+         // Get Classname to set for Reference
+         String defaultLocalClassName = this.getHumanReadableListOfInterfacesInRefAddrs(refAddrsForDefaultLocal);
+
+         // Create a Reference
+         Reference defaultLocalRef = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+               + defaultLocalClassName, localProxyFactoryKey, containerName);
+
+         // Add all Reference Addresses for Default Local Reference
+         for (RefAddr refAddr : refAddrsForDefaultLocal)
+         {
+            log.debug("Adding " + RefAddr.class.getSimpleName() + " to Default Local "
+                  + Reference.class.getSimpleName() + ": Type \"" + refAddr.getType() + "\", Content \""
+                  + refAddr.getContent() + "\"");
+            defaultLocalRef.add(refAddr);
+         }
+
+         // Bind the Default Local Reference to JNDI
+         String defaultLocalAddress = smd.getLocalJndiName();
+         log.debug("Default Local Business View for EJB " + smd.getEjbName() + " to be bound into JNDI at \""
+               + defaultLocalAddress + "\"");
+
+         bindingSet.addDefaultLocalBinding(new JndiReferenceBinding(defaultLocalAddress, defaultLocalRef));
+
+         // Bind ObjectFactory specific to each Local Business Interface
+         if (businessLocals != null)
+         {
+            for (String businessLocal : businessLocals)
+            {
+               RefAddr refAddr = new StringRefAddr(
+                     ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL, businessLocal);
+               Reference ref = createStandardReference(JndiSessionRegistrarBase.OBJECT_FACTORY_CLASSNAME_PREFIX
+                     + businessLocal, localProxyFactoryKey, containerName);
+               ref.add(refAddr);
+               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessLocal);
+               log.debug("Local Business View for " + businessLocal + " of EJB " + smd.getEjbName()
+                     + " to be bound into JNDI at \"" + address + "\"");
+
+               bindingSet.addBusinessLocalBinding(businessLocal, new JndiReferenceBinding(address, ref));
+            }
+         }
+      }
+      return bindingSet;
+   }
+
+   /**
+    * Unbinds from JNDI all appropriate objects registered 
+    * by the EJB described by the specified metadata.  Additionally
+    * responsible for destruction and deregistration of any all ProxyFactory
+    * implementations required by the EJB
+    * 
+    * @param context The JNDI Context to use for unbinding
+    * @param smd
+    */
+   public void unbindEjb(final Context context, final JBossSessionBeanMetaData smd)
+   {
+      // Log 
+      String ejbName = smd.getEjbName();
+      log.debug("Unbinding JNDI References for Session Bean: " + ejbName);
+
+      // Get Business Locals
+      BusinessLocalsMetaData businessLocals = smd.getBusinessLocals();
+
+      // Get Business Remotes
+      BusinessRemotesMetaData businessRemotes = smd.getBusinessRemotes();
+
+      // Get Local Home
+      String localHome = StringUtils.adjustWhitespaceStringToNull(smd.getLocalHome());
+
+      // Get Remote Home
+      String remoteHome = StringUtils.adjustWhitespaceStringToNull(smd.getHome());
+
+      // Determine if there are local/remote views
+      boolean hasLocalView = (localHome != null || (businessLocals != null && businessLocals.size() > 0));
+      boolean hasRemoteView = (remoteHome != null || (businessRemotes != null && businessRemotes.size() > 0));
+
+      /*
+       * Remove Proxy Factories
+       */
+
+      // If there's a remote view
+      /*
+       * Remove Remote ObjectFactories to JNDI
+       */
+
+      if (hasRemoteView)
+      {
+         // Obtain RemoteBinding URL
+         List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
+         assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
+
+         // Create and register a remote proxy factory
+         String remoteProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, false);
+         this.deregisterProxyFactory(remoteProxyFactoryKey);
+
+         // Determine if remote home and business remotes are bound to same JNDI Address
+         boolean bindRemoteAndHomeTogether = this.isHomeAndBusinessBoundTogether(smd, false);
+         // Bind Home (not bound together) if exists
+         if ((smd.getHome() != null && !smd.getHome().equals("")) && !bindRemoteAndHomeTogether)
+         {
+            String homeAddress = smd.getHomeJndiName();
+            log.debug("Remote Home View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \"" + homeAddress
+                  + "\"");
+            this.unbind(context, homeAddress);
+         }
+
+         /*
+          * Unbind ObjectFactory for default remote businesses (and home if bound together)
+          */
+
+         // Bind the Default Remote Reference to JNDI
+         String defaultRemoteAddress = smd.getJndiName();
+         log.debug("Default Remote Business View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
+               + defaultRemoteAddress + "\"");
+         this.unbind(context, defaultRemoteAddress);
+
+         // Unbind ObjectFactory specific to each Remote Business Interface
+         if (businessRemotes != null)
+         {
+            for (String businessRemote : businessRemotes)
+            {
+               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessRemote);
+               log.debug("Remote Business View for " + businessRemote + " of EJB " + smd.getEjbName()
+                     + " to be unbound from JNDI at \"" + address + "\"");
+               this.unbind(context, address);
+            }
+         }
+      }
+      // If there's a local view
+      if (hasLocalView)
+      {
+         // Remove local proxy factory
+         String localProxyFactoryKey = this.getProxyFactoryRegistryKey(smd, true);
+         this.deregisterProxyFactory(localProxyFactoryKey);
+
+         // Determine if local home and business locals are bound to same JNDI Address
+         boolean bindLocalAndLocalHomeTogether = this.isHomeAndBusinessBoundTogether(smd, true);
+
+         // Unbind Local Home (not bound together) if exists
+         if ((smd.getLocalHome() != null && !smd.getLocalHome().equals("")) && !bindLocalAndLocalHomeTogether)
+         {
+            String localHomeAddress = smd.getLocalHomeJndiName();
+            log.debug("Local Home View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
+                  + localHomeAddress + "\"");
+            this.unbind(context, localHomeAddress);
+         }
+
+         /*
+          * Unbind ObjectFactory for default local businesses (and LocalHome if bound together)
+          */
+
+         // Unbind the Default Local Reference to JNDI
+         String defaultLocalAddress = smd.getLocalJndiName();
+         log.debug("Default Local Business View for EJB " + smd.getEjbName() + " to be unbound from JNDI at \""
+               + defaultLocalAddress + "\"");
+         this.unbind(context, defaultLocalAddress);
+
+         // Unbind ObjectFactory specific to each Local Business Interface
+         if (businessLocals != null)
+         {
+            for (String businessLocal : businessLocals)
+            {
+               String address = JbossSessionBeanJndiNameResolver.resolveJndiName(smd, businessLocal);
+               log.debug("Local Business View for " + businessLocal + " of EJB " + smd.getEjbName()
+                     + " to be unbound from JNDI at \"" + address + "\"");
+               this.unbind(context, address);
+            }
+         }
+      }
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Contracts ----------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Creates and returns a new local proxy factory for this Session Bean
+    * 
+    * @param name The unique name for the ProxyFactory
+    * @param containerName The name of the Container upon which Proxies 
+    *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
+    * @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 String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
+
+   /**
+    * Creates and returns a new remote proxy factory for this Session Bean
+    * 
+    * @param name The unique name for the ProxyFactory
+    * @param containerName The name of the Container upon which Proxies 
+    *   from the returned ProxyFactory will invoke
+    * @param containerGuid The globally-unique name of the container
+    * @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 String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
+         final Advisor advisor);
+
+   // --------------------------------------------------------------------------------||
+   // Helper Methods -----------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Creates a new <code>Reference</code> whose <code>classname</code> is
+    * the given <code>referenceName</code> and whose <code>classFactory</code> 
+    * is {@link #getSessionProxyObjectFactoryType()}, adding 
+    * the requisite Registry key for the ProxyFactory and the requisite
+    * target EJB Container Name as ReferenceAddresses.
+    */
+   protected Reference createStandardReference(String referenceName, String proxyFactoryRegistryKey,
+         String containerName)
+   {
+      Reference ref = new Reference(referenceName, this.getSessionProxyObjectFactoryType(), null);
+
+      // Add the Proxy Factory Registry key for this Reference
+      assert proxyFactoryRegistryKey != null && !proxyFactoryRegistryKey.trim().equals("") : "Proxy Factory Registry key is required but not supplied";
+      String proxyFactoryRefType = ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY;
+      RefAddr proxyFactoryRefAddr = new StringRefAddr(proxyFactoryRefType, proxyFactoryRegistryKey);
+      ref.add(proxyFactoryRefAddr);
+      log.debug("Adding " + RefAddr.class.getSimpleName() + " to " + Reference.class.getSimpleName() + ": Type \""
+            + proxyFactoryRefType + "\", Content \"" + proxyFactoryRegistryKey + "\"");
+
+      // Add the Container name for this Reference
+      assert containerName != null && !containerName.trim().equals("") : "Container Name is required but not supplied";
+      String ejbContainerRefType = ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_EJBCONTAINER_NAME;
+      RefAddr containerRefAddr = new StringRefAddr(ejbContainerRefType, containerName);
+      ref.add(containerRefAddr);
+      log.debug("Adding " + RefAddr.class.getSimpleName() + " to " + Reference.class.getSimpleName() + ": Type \""
+            + ejbContainerRefType + "\", Content \"" + containerName + "\"");
+
+      return ref;
+   }
+
+   protected void bind(final Context context, final JndiReferenceBindingSet bindings, final boolean useRebind,
+         final boolean bindLocals)
+   {
+      for (JndiReferenceBinding binding : bindings.getDefaultRemoteBindings())
+      {
+         bind(context, binding, useRebind);
+      }
+
+      for (JndiReferenceBinding binding : bindings.getHomeRemoteBindings())
+      {
+         bind(context, binding, useRebind);
+      }
+
+      for (Set<JndiReferenceBinding> businessBindings : bindings.getBusinessRemoteBindings().values())
+      {
+         for (JndiReferenceBinding binding : businessBindings)
+         {
+            bind(context, binding, useRebind);
+         }
+      }
+
+      if (bindLocals)
+      {
+         for (JndiReferenceBinding binding : bindings.getDefaultLocalBindings())
+         {
+            bind(context, binding, useRebind);
+         }
+
+         for (JndiReferenceBinding binding : bindings.getHomeLocalBindings())
+         {
+            bind(context, binding, useRebind);
+         }
+
+         for (Set<JndiReferenceBinding> businessBindings : bindings.getBusinessLocalBindings().values())
+         {
+            for (JndiReferenceBinding binding : businessBindings)
+            {
+               bind(context, binding, useRebind);
+            }
+         }
+      }
+   }
+
+   protected void bind(Context context, JndiReferenceBinding binding, boolean useRebind)
+   {
+      if (binding != null)
+      {
+         if (useRebind)
+            rebind(context, binding.getJndiName(), binding.getReference());
+         else
+            bind(context, binding.getJndiName(), binding.getReference());
+      }
+   }
+
+   /**
+    * Binds the specified Reference into JNDI at the specified address
+    * 
+    * @param context The JNDI Context to use
+    * @param address the address
+    * @param ref the reference to bind
+    */
+   protected void bind(Context context, String address, Reference ref)
+   {
+      try
+      {
+         Util.bind(context, address, ref);
+         log.debug("Bound " + ref.getClass().getName() + " into JNDI at \"" + address + "\"");
+      }
+      catch (NamingException e)
+      {
+         throw new RuntimeException("Could not bind " + ref + " into JNDI at \"" + address + "\"", e);
+      }
+   }
+
+   /**
+    * Re-binds the specified Reference into JNDI at the specified address
+    * 
+    * @param context The JNDI Context to use
+    * @param address the address
+    * @param object the object to bind
+    */
+   protected void rebind(Context context, String address, Reference ref)
+   {
+      try
+      {
+         Util.rebind(context, address, ref);
+         log.debug("Bound " + ref.getClass().getName() + " into JNDI at \"" + address + "\"");
+      }
+      catch (NamingException e)
+      {
+         throw new RuntimeException("Could not bind " + ref + " into JNDI at \"" + address + "\"", e);
+      }
+   }
+
+   /**
+    * Unbinds the specified address from JNDI
+    * 
+    * @param context The JNDI Context to use
+    * @param address
+    */
+   protected void unbind(Context context, String address)
+   {
+      // Unbind
+      try
+      {
+         Util.unbind(context, address);
+      }
+      catch (NameNotFoundException nnfe)
+      {
+         // Swallow, who cares? :)
+      }
+      catch (NamingException e)
+      {
+         throw new RuntimeException("Could not unbind \"" + address + "\" from JNDI", e);
+      }
+   }
+
+   /**
+    * Returns whether the business interfaces and EJB2.x Home should be bound to 
+    * the same JNDI Name 
+    * 
+    * @param smd
+    * @param isLocal
+    * @return
+    */
+   protected boolean isHomeAndBusinessBoundTogether(JBossSessionBeanMetaData smd, boolean isLocal)
+   {
+      // Initialize
+      boolean bindTogether = false;
+
+      // If local
+      if (isLocal)
+      {
+         // If no local home defined
+         if (smd.getLocalHome() == null)
+         {
+            // Not bound together
+            return false;
+         }
+
+         // Bind together if Local Default JNDI Name == Local Home JNDI Name
+         bindTogether = smd.getLocalJndiName().equals(smd.getLocalHomeJndiName());
+      }
+      // If Remote
+      else
+      {
+         // If no home defined
+         if (smd.getHome() == null)
+         {
+            // Not bound together
+            return false;
+         }
+         // Bind together if Local Default JNDI Name == Local Home JNDI Name
+         bindTogether = smd.getJndiName().equals(smd.getHomeJndiName());
+      }
+
+      // Return
+      return bindTogether;
+   }
+
+   /**
+    * Creates and returns a new RefAddr to flag the proper
+    * InvokerLocator URL used by remoting for the EJB represented
+    * by the specified metadata 
+    * 
+    * @param smd
+    * @return
+    */
+   protected RefAddr createRemotingRefAddr(JBossSessionBeanMetaData smd)
+   {
+      // Obtain RemoteBinding
+      List<RemoteBindingMetaData> bindings = smd.getRemoteBindings();
+      assert bindings != null && bindings.size() > 0 : "Remote Bindings are required and none are present";
+      RemoteBindingMetaData remoteBinding = smd.getRemoteBindings().get(0);
+
+      // Create RefAddr
+      String url = remoteBinding.getClientBindUrl();
+      assert url != null && url.trim().toString().length() != 0 : InvokerLocator.class.getSimpleName()
+            + " URL must be defined, and is unspecified";
+      RefAddr refAddr = new StringRefAddr(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_INVOKER_LOCATOR_URL, url);
+
+      // Return
+      return refAddr;
+   }
+
+   /**
+    * Returns the name of the unique key under which a Proxy Factory will 
+    * be registered.  Will follow form:
+    * 
+    * ProxyFactory/(jndiName)
+    * 
+    * ...depending upon the specified "isLocal" flag
+    * 
+    * @param md
+    * @param isLocal
+    */
+   public String getProxyFactoryRegistryKey(JBossSessionBeanMetaData md, boolean isLocal)
+   {
+      // Initialize
+      String suffix = null;
+
+      // Set Suffix
+      if (isLocal)
+      {
+         suffix = md.getLocalJndiName();
+      }
+      else
+      {
+         suffix = md.getJndiName();
+      }
+
+      // Ensure suffix is specified
+      assert suffix != null && !suffix.equals("") : ProxyFactory.class.getSimpleName()
+            + " key prefix for binding to registry is not specified";
+
+      // Assemble and return
+      String key = JndiSessionRegistrarBase.KEY_PREFIX_PROXY_FACTORY_REGISTRY + suffix;
+      return key;
+   }
+
+   /**
+    * Makes a comma-delimited list of interfaces bound for setting the 
+    * Classname of the Reference.  This will show up in JNDIView and make 
+    * it clear to application developers what will be castable from the lookup result
+    * 
+    * @param refAddrs
+    * @return
+    */
+   protected String getHumanReadableListOfInterfacesInRefAddrs(List<RefAddr> refAddrs)
+   {
+      // Make a Comma-delimited list of interfaces bound for setting the Classname of the Reference
+      // This will show up in JNDIView and make it clear to application developers
+      // what will be castable from the lookup result
+      StringBuffer defaultRemotes = new StringBuffer();
+      int remotesCount = 0;
+      int interfaceCount = 0;
+      for (RefAddr refAddr : refAddrs)
+      {
+         remotesCount++;
+         String refAddrType = refAddr.getType();
+         if (isRefAddrTypeEjbInterface(refAddrType))
+         {
+            if (interfaceCount > 0)
+            {
+               defaultRemotes.append(", ");
+            }
+            defaultRemotes.append(refAddr.getContent());
+            interfaceCount++;
+         }
+      }
+      return defaultRemotes.toString();
+   }
+
+   /**
+    * Returns whether the specified RefAddr type denotes an EJB Interface 
+    * 
+    * @param refAddrType
+    * @return
+    */
+   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);
+   }
+
+   /**
+    * Registers the specified proxy factory into the registry 
+    * 
+    * @param name The unique name for the ProxyFactory
+    * @param factory
+    * @param smd Metadata describing the EJB
+    */
+   protected void registerProxyFactory(String name, ProxyFactory factory, JBossEnterpriseBeanMetaData smd)
+   {
+      // Register
+      log.debug("Registering " + factory + " under key \"" + name + "\"...");
+      try
+      {
+         Ejb3RegistrarLocator.locateRegistrar().bind(name, factory);
+      }
+      catch (DuplicateBindException e)
+      {
+         /*
+          * Note on registry key collisions:
+          * 
+          * Indicates that either the keys created are not unique or that we're attempting to redeploy 
+          * an EJB that was not properly deregistered.  Either way, this is a programmatic problem
+          * and not the fault of the bean provider/developer/deployer
+          */
+
+         throw new RuntimeException("Could not register " + factory + " under an already registered key, \"" + name
+               + "\"", e);
+      }
+   }
+
+   /** 
+    * Deregisters the proxy factory with the specified name from the registry
+    * 
+    * @param name
+    */
+   protected void deregisterProxyFactory(String name)
+   {
+      // Log
+      log.debug("Deregistering " + ProxyFactory.class.getSimpleName() + " under name \"" + name + "\"");
+
+      // Obtain
+      Object obj = Ejb3RegistrarLocator.locateRegistrar().lookup(name);
+      assert (obj != null) : ProxyFactory.class.getSimpleName() + " was expected registered under name \"" + name
+            + "\", but sws not found.";
+      assert obj instanceof ProxyFactory : "Expected " + ProxyFactory.class.getName() + " bound under name \"" + name
+            + "\", but was instead: " + obj;
+
+      // Deregister
+      Ejb3RegistrarLocator.locateRegistrar().unbind(name);
+
+      // EJBTHREE-1473
+      // Deregister with AOP if registered
+      //TODO This should probably be in a cleaner location, ie.
+      // implement a callback for AOP Registration/Deregistration
+      // that decouples JNDI Registration and abstracts whether 
+      // a Proxy Factory is Remote or not
+      if (Dispatcher.singleton.isRegistered(name))
+      {
+         Dispatcher.singleton.unregisterTarget(name);
+      }
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Accessors / Mutators -----------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Obtains the default client binding
+    * 
+    * Will return the value of the InvokerLocator
+    * used by the EJB3 Remoting Connector
+    * 
+    * EJBTHREE-1419
+    */
+   protected synchronized String getDefaultClientBinding()
+   {
+
+      // If the binding has not yet been set
+      if (DEFAULT_CLIENT_BINDING == null)
+      {
+
+         try
+         {
+            // Lookup the Connector in MC
+            Connector connector = Ejb3RegistrarLocator.locateRegistrar().lookup(OBJECT_NAME_REMOTING_CONNECTOR,
+                  Connector.class);
+
+            // Use the binding specified by the Connector
+            try
+            {
+               DEFAULT_CLIENT_BINDING = connector.getInvokerLocator();
+            }
+            catch (Exception e)
+            {
+               throw new RuntimeException("Could not obtain " + InvokerLocator.class.getSimpleName()
+                     + " from EJB3 Remoting Connector", e);
+            }
+         }
+         // The EJB3 Remoting Connector was not found in MC
+         catch (NotBoundException nbe)
+         {
+            // Log a warning
+            log.warn("Could not find the EJB3 Remoting Connector bound in the Object Store (MC) at the expected name: "
+                  + OBJECT_NAME_REMOTING_CONNECTOR + ".  Defaulting a client bind URL to "
+                  + DEFAULT_CLIENT_BINDING_IF_CONNECTOR_NOT_FOUND);
+
+            // Set a default URL
+            DEFAULT_CLIENT_BINDING = DEFAULT_CLIENT_BINDING_IF_CONNECTOR_NOT_FOUND;
+         }
+      }
+
+      // Return
+      return DEFAULT_CLIENT_BINDING;
+   }
+
+   public String getSessionProxyObjectFactoryType()
+   {
+      return sessionProxyObjectFactoryType;
+   }
+
+   public void setSessionProxyObjectFactoryType(String sessionProxyObjectFactoryType)
+   {
+      this.sessionProxyObjectFactoryType = sessionProxyObjectFactoryType;
+   }
+
+}

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,72 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-  -->
-  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
-
-  <!-- 
-    
-    JNDI Registrars
-    
-  -->
-
-  <!-- SLSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-  
-  <!-- SFSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/common/container/unit/SessionContainerTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,72 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+  -->
+  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
+
+  <!-- 
+    
+    JNDI Registrars
+    
+  -->
+
+  <!-- SLSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+  
+  <!-- SFSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,72 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-  -->
-  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
-
-  <!-- 
-    
-    JNDI Registrars
-    
-  -->
-
-  <!-- SLSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-  
-  <!-- SFSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/jndiregistrar/unit/JNDIBindingTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,72 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+  -->
+  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
+
+  <!-- 
+    
+    JNDI Registrars
+    
+  -->
+
+  <!-- SLSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+  
+  <!-- SFSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,90 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-    
-  -->
-
-  <bean name="NamingBeanImpl" class="org.jnp.server.NamingBeanImpl" />
-
-  <bean name="NameServer" class="org.jnp.server.Main">
-    <property name="namingInfo">
-      <inject bean="NamingBeanImpl" />
-    </property>
-    <property name="port">1099</property>
-  </bean>
-
-  <!-- 
-    
-    JNDI Registrars
-    
-    
-    The JNDI Registrar is responsible for all JNDI Bindings for
-    an EJB.  Its constructor takes the following arguments, in order:
-    
-    javax.naming.Context (JNDI Context into which to bind objects)
-    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
-    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
-    ...more later when SFSB, @Service, MDB Implemented
-    
-  -->
-
-  <!-- SLSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- SFSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/remoteaccess/unit/RemoteAccessTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,90 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+    
+  -->
+
+  <bean name="NamingBeanImpl" class="org.jnp.server.NamingBeanImpl" />
+
+  <bean name="NameServer" class="org.jnp.server.Main">
+    <property name="namingInfo">
+      <inject bean="NamingBeanImpl" />
+    </property>
+    <property name="port">1099</property>
+  </bean>
+
+  <!-- 
+    
+    JNDI Registrars
+    
+    
+    The JNDI Registrar is responsible for all JNDI Bindings for
+    an EJB.  Its constructor takes the following arguments, in order:
+    
+    javax.naming.Context (JNDI Context into which to bind objects)
+    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
+    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
+    ...more later when SFSB, @Service, MDB Implemented
+    
+  -->
+
+  <!-- SLSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- SFSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,70 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-  -->
-  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
-
-  <!-- 
-    
-    JNDI Registrars
-    
-    
-    The JNDI Registrar is responsible for all JNDI Bindings for
-    an EJB.  Its constructor takes the following arguments, in order:
-    
-    javax.naming.Context (JNDI Context into which to bind objects)
-    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
-    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
-    ...more later when SFSB, @Service, MDB Implemented
-    
-  -->
-
-  <!-- SFSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatefulSessionTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,70 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+  -->
+  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
+
+  <!-- 
+    
+    JNDI Registrars
+    
+    
+    The JNDI Registrar is responsible for all JNDI Bindings for
+    an EJB.  Its constructor takes the following arguments, in order:
+    
+    javax.naming.Context (JNDI Context into which to bind objects)
+    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
+    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
+    ...more later when SFSB, @Service, MDB Implemented
+    
+  -->
+
+  <!-- SFSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,70 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-  -->
-  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
-
-  <!-- 
-    
-    JNDI Registrars
-    
-    
-    The JNDI Registrar is responsible for all JNDI Bindings for
-    an EJB.  Its constructor takes the following arguments, in order:
-    
-    javax.naming.Context (JNDI Context into which to bind objects)
-    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
-    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
-    ...more later when SFSB, @Service, MDB Implemented
-    
-  -->
-
-  <!-- SLSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/session/unit/ProxyStatelessSessionTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,70 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+  -->
+  <bean name="NameServer" class="org.jnp.server.SingletonNamingServer" />
+
+  <!-- 
+    
+    JNDI Registrars
+    
+    
+    The JNDI Registrar is responsible for all JNDI Bindings for
+    an EJB.  Its constructor takes the following arguments, in order:
+    
+    javax.naming.Context (JNDI Context into which to bind objects)
+    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
+    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
+    ...more later when SFSB, @Service, MDB Implemented
+    
+  -->
+
+  <!-- SLSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,90 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    JNDI 
-    
-    The requisite Naming Server
-    
-    
-  -->
-
-  <bean name="NamingBeanImpl" class="org.jnp.server.NamingBeanImpl" />
-
-  <bean name="NameServer" class="org.jnp.server.Main">
-    <property name="namingInfo">
-      <inject bean="NamingBeanImpl" />
-    </property>
-    <property name="port">1099</property>
-  </bean>
-
-  <!-- 
-    
-    JNDI Registrars
-    
-    
-    The JNDI Registrar is responsible for all JNDI Bindings for
-    an EJB.  Its constructor takes the following arguments, in order:
-    
-    javax.naming.Context (JNDI Context into which to bind objects)
-    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
-    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
-    ...more later when SFSB, @Service, MDB Implemented
-    
-  -->
-
-  <!-- SLSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- SFSB JNDI Registrar -->
-  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
-    <constructor>
-      <parameter>
-        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
-      </parameter>
-    </constructor>
-    <depends>NameServer</depends>
-  </bean>
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3873</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_2_1/unit/IntraJvmRemoteInvocationPassByValueTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,90 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    JNDI 
+    
+    The requisite Naming Server
+    
+    
+  -->
+
+  <bean name="NamingBeanImpl" class="org.jnp.server.NamingBeanImpl" />
+
+  <bean name="NameServer" class="org.jnp.server.Main">
+    <property name="namingInfo">
+      <inject bean="NamingBeanImpl" />
+    </property>
+    <property name="port">1099</property>
+  </bean>
+
+  <!-- 
+    
+    JNDI Registrars
+    
+    
+    The JNDI Registrar is responsible for all JNDI Bindings for
+    an EJB.  Its constructor takes the following arguments, in order:
+    
+    javax.naming.Context (JNDI Context into which to bind objects)
+    org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry (Implementation of ProxyFactoryRegistry)
+    String statelessSessionProxyObjectFactoryType The JNDI ObjectFactory implementation to use for SLSB
+    ...more later when SFSB, @Service, MDB Implemented
+    
+  -->
+
+  <!-- SLSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- SFSB JNDI Registrar -->
+  <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+    class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+    <constructor>
+      <parameter>
+        org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+      </parameter>
+    </constructor>
+    <depends>NameServer</depends>
+  </bean>
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3873</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml	2008-08-29 01:39:50 UTC (rev 77625)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -1,35 +0,0 @@
-<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
-  xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-    
-    Remoting
-    
-  -->
-
-  <!-- Remoting  Configuration -->
-  <bean name="ServerConfiguration"
-    class="org.jboss.remoting.ServerConfiguration">
-    <property name="invocationHandlers">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry>
-          <key>AOP</key>
-          <value>
-            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
-          </value>
-        </entry>
-      </map>
-    </property>
-  </bean>
-
-  <!-- Remoting Connector -->
-  <bean name="Connector"
-    class="org.jboss.remoting.transport.Connector">
-    <property name="invokerLocator">socket://0.0.0.0:3874</property>
-    <property name="serverConfiguration">
-      <inject bean="ServerConfiguration" />
-    </property>
-  </bean>
-
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml (from rev 77627, projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml)
===================================================================
--- projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml	                        (rev 0)
+++ projects/ejb3/tags/jboss-ejb3-proxy-0.1.4/src/test/resources/org/jboss/ejb3/test/proxy/spec_3_4_5/unit/SfsbProxyEqualityTestCase-beans.xml	2008-08-29 05:30:46 UTC (rev 77630)
@@ -0,0 +1,35 @@
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+  xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+    
+    Remoting
+    
+  -->
+
+  <!-- Remoting  Configuration -->
+  <bean name="ServerConfiguration"
+    class="org.jboss.remoting.ServerConfiguration">
+    <property name="invocationHandlers">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry>
+          <key>AOP</key>
+          <value>
+            org.jboss.aspects.remoting.AOPRemotingInvocationHandler
+          </value>
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Remoting Connector -->
+  <bean name="org.jboss.ejb3.RemotingConnector"
+    class="org.jboss.remoting.transport.Connector">
+    <property name="invokerLocator">socket://0.0.0.0:3874</property>
+    <property name="serverConfiguration">
+      <inject bean="ServerConfiguration" />
+    </property>
+  </bean>
+
+</deployment>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list