[jboss-cvs] JBossAS SVN: r73404 - in projects/ejb3/trunk/proxy: src/main/java/org/jboss/ejb3/proxy and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 14 21:37:30 EDT 2008
Author: ALRubinger
Date: 2008-05-14 21:37:30 -0400 (Wed, 14 May 2008)
New Revision: 73404
Added:
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiRegistrar.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/mc/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/mc/MicrocontainerBindings.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateful/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateful/StatefulSessionProxyObjectFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateless/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateless/StatelessSessionProxyObjectFactory.java
Modified:
projects/ejb3/trunk/proxy/.classpath
projects/ejb3/trunk/proxy/.project
projects/ejb3/trunk/proxy/pom.xml
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/McProxyObjectFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockLifecycleSessionProxyFactory.java
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockSessionProxyFactory.java
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/ProxyFactoryRegistryUnitTestCaseBase.java
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxySessionTestCase.java
Log:
[EJBTHREE-1345] Create JNDI Registrar, ProxyFactory Hierarchy.
Modified: projects/ejb3/trunk/proxy/.classpath
===================================================================
--- projects/ejb3/trunk/proxy/.classpath 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/.classpath 2008-05-15 01:37:30 UTC (rev 73404)
@@ -1,10 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
- <classpathentry kind="src" output="eclipse-target/tests-classes" path="src/test/java"/>
- <classpathentry excluding="**/*.java" kind="src" output="eclipse-target/tests-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="eclipse-target/classes"/>
-</classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="target/tests-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="target/tests-classes" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar" sourcepath="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta10/jboss-container-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta10/jboss-container-2.0.0.Beta10-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta13/jboss-dependency-2.0.0.Beta13.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta13/jboss-dependency-2.0.0.Beta13-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.CR1/jboss-ejb-api-3.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.CR1/jboss-ejb-api-3.0.0.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-common/0.1.0-SNAPSHOT/jboss-ejb3-common-0.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-common/0.1.0-SNAPSHOT/jboss-ejb3-common-0.1.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.3/jboss-ejb3-ext-api-0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-jaxws/2.0.1.GA/jboss-jaxws-2.0.1.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0.CR1/jboss-jms-api-1.1.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0.CR1/jboss-jms-api-1.1.0.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta13/jboss-kernel-2.0.0.Beta13.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta13/jboss-kernel-2.0.0.Beta13-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta10/jboss-managed-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta10/jboss-managed-2.0.0.Beta10-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta15/jboss-metadata-1.0.0.Beta15.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta15/jboss-metadata-1.0.0.Beta15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta10/jboss-metatype-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta10/jboss-metatype-2.0.0.Beta10-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.CR1/jboss-persistence-api-3.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.CR1/jboss-persistence-api-3.0.0.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR1/jboss-transaction-api-1.0.1.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR1/jboss-transaction-api-1.0.1.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta11/jboss-vfs-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta11/jboss-vfs-2.0.0.Beta11-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.3.GA/jbossws-spi-1.0.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR9/jbossxb-2.0.0.CR9-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6/qdox-1.6.jar" sourcepath="M2_REPO/qdox/qdox/1.6/qdox-1.6-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/trove/trove/1.0.2/trove-1.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+</classpath>
\ No newline at end of file
Modified: projects/ejb3/trunk/proxy/.project
===================================================================
--- projects/ejb3/trunk/proxy/.project 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/.project 2008-05-15 01:37:30 UTC (rev 73404)
@@ -1,23 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>jboss-ejb3-proxy</name>
- <comment>JBoss EJB3 Proxy Component</comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.maven.ide.eclipse.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.maven.ide.eclipse.maven2Nature</nature>
- </natures>
-</projectDescription>
+ <name>jboss-ejb3-proxy</name>
+ <comment>JBoss EJB3 Proxy Component</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Modified: projects/ejb3/trunk/proxy/pom.xml
===================================================================
--- projects/ejb3/trunk/proxy/pom.xml 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/pom.xml 2008-05-15 01:37:30 UTC (rev 73404)
@@ -124,6 +124,12 @@
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-common</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ </dependency>
+
</dependencies>
</project>
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryBase.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,110 @@
+/*
+ * 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.factory;
+
+import org.jboss.logging.Logger;
+
+/**
+ * ProxyFactoryBase
+ *
+ * A Base upon which Proxy Factory Implementations may build
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public abstract class ProxyFactoryBase implements ProxyFactory
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final Logger log = Logger.getLogger(ProxyFactoryBase.class);
+
+ // --------------------------------------------------------------------------------||
+ // Instance Members ---------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private ClassLoader classloader;
+
+ // --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ *
+ * @param classloader The ClassLoader associated with the EJBContainer
+ * for which this ProxyFactory is to generate Proxies
+ */
+ public ProxyFactoryBase(final ClassLoader classloader)
+ {
+ this.setClassLoader(classloader);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is able to service requests
+ *
+ * @throws Exception
+ */
+ public void start() throws Exception
+ {
+ // Log
+ log.debug("Started: " + this);
+
+ //TODO
+ }
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is taken out of service,
+ * possibly GC'd
+ *
+ * @throws Exception
+ */
+ public void stop() throws Exception
+ {
+ // Log
+ log.debug("Stopped: " + this);
+
+ //TODO
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Accessors / Mutators -----------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ public ClassLoader getClassLoader()
+ {
+ return classloader;
+ }
+
+ protected void setClassLoader(final ClassLoader classloader)
+ {
+ this.classloader = classloader;
+ }
+
+}
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactory.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -71,4 +71,11 @@
* @return
*/
Object createProxyBusiness(String businessInterfaceName);
+
+ /**
+ * Create an EJB2.x Proxy
+ *
+ * @return
+ */
+ Object createProxyEjb2x();
}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,242 @@
+/*
+ * 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.factory.session;
+
+import java.lang.reflect.Constructor;
+import java.util.Map;
+
+import org.jboss.ejb3.proxy.factory.ProxyFactoryBase;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+
+/**
+ * SessionProxyFactoryBase
+ *
+ * Base upon which Session Proxy Factory implementations
+ * may build
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public abstract class SessionProxyFactoryBase extends ProxyFactoryBase implements SessionProxyFactory
+{
+
+ // --------------------------------------------------------------------------------||
+ // Instance Members ---------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private JBossSessionBeanMetaData metadata;
+
+ /**
+ * Constructor for the default Proxy Constructor (All
+ * business interfaces and, if bound together, the EJB2.x Home)
+ */
+ private Constructor<?> constructorProxyDefault;
+
+ /**
+ * Map of Proxy Constructors, one per business interface, with key
+ * as the fully-qualified class name of the interface, and value
+ * of the constructor to use
+ */
+ private Map<String, Constructor<?>> constructorsProxySpecificBusinessInterface;
+
+ /**
+ * Constructor for the EJB2.x Home Proxy
+ */
+ private Constructor<?> constructorProxyHome;
+
+ /**
+ * Constructor for the EJB2.x View Proxy
+ */
+ private Constructor<?> constructorProxyEjb2x;
+
+ // --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ *
+ * @param metadata The metadata representing this Session Bean
+ * @param classloader The ClassLoader associated with the SessionContainer
+ * for which this ProxyFactory is to generate Proxies
+ */
+ public SessionProxyFactoryBase(final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ {
+ // Call Super
+ super(classloader);
+
+ // Set metadata
+ this.setMetadata(metadata);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Functional Methods -------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Create an EJB2.x Home Proxy
+ *
+ * @return
+ */
+ public Object createProxyHome()
+ {
+ //return this.getConstructorProxyHome().newInstance(INVOCATION_HANDLER);
+ //TODO Make InvocationHandlers
+ return null;
+ }
+
+ /**
+ * Create an EJB3 Business proxy with no
+ * specific target business interface. The
+ * returned proxy will implement all appropriate
+ * business interfaces.
+ *
+ * @return
+ */
+ public Object createProxyBusiness()
+ {
+ return null;//TODO
+ }
+
+ /**
+ * Create a Proxy for both EJB2.x Home and
+ * Business Views, used when both the Home and Business
+ * interfaces are bound together
+ *
+ * @return
+ */
+ public Object createProxyBusinessAndHome()
+ {
+ return null;//TODO
+ }
+
+ /**
+ * Create an EJB3 Business Proxy specific to the specified
+ * target business interface name (expressed as
+ * a fully-qualified class name)
+ *
+ * @param id
+ * @param businessInterfaceName
+ * @return
+ */
+ public Object createProxyBusiness(String businessInterfaceName)
+ {
+ return null;//TODO
+ }
+
+ /**
+ * Create an EJB2.x Proxy
+ *
+ * @return
+ */
+ public Object createProxyEjb2x()
+ {
+ return null;//TODO
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is able to service requests
+ *
+ * @throws Exception
+ */
+ @Override
+ public void start() throws Exception
+ {
+ super.start();
+ //TODO
+ }
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is taken out of service,
+ * possibly GC'd
+ *
+ * @throws Exception
+ */
+ @Override
+ public void stop() throws Exception
+ {
+ super.stop();
+ //TODO
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Accessors / Mutators -----------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ public JBossSessionBeanMetaData getMetadata()
+ {
+ return metadata;
+ }
+
+ protected void setMetadata(final JBossSessionBeanMetaData metadata)
+ {
+ this.metadata = metadata;
+ }
+
+ protected Constructor<?> getConstructorProxyDefault()
+ {
+ return constructorProxyDefault;
+ }
+
+ protected void setConstructorProxyDefault(Constructor<?> constructorProxyDefault)
+ {
+ this.constructorProxyDefault = constructorProxyDefault;
+ }
+
+ protected Map<String, Constructor<?>> getConstructorsProxySpecificBusinessInterface()
+ {
+ return constructorsProxySpecificBusinessInterface;
+ }
+
+ protected void setConstructorsProxySpecificBusinessInterface(
+ Map<String, Constructor<?>> constructorsProxySpecificBusinessInterface)
+ {
+ this.constructorsProxySpecificBusinessInterface = constructorsProxySpecificBusinessInterface;
+ }
+
+ protected Constructor<?> getConstructorProxyHome()
+ {
+ return constructorProxyHome;
+ }
+
+ protected void setConstructorProxyHome(Constructor<?> constructorProxyHome)
+ {
+ this.constructorProxyHome = constructorProxyHome;
+ }
+
+ protected Constructor<?> getConstructorProxyEjb2x()
+ {
+ return constructorProxyEjb2x;
+ }
+
+ protected void setConstructorProxyEjb2x(Constructor<?> constructorProxyEjb2x)
+ {
+ this.constructorProxyEjb2x = constructorProxyEjb2x;
+ }
+
+}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,92 @@
+/*
+ * 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.factory.session.stateless;
+
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+
+/**
+ * StatelessSessionLocalProxyFactory
+ *
+ * A SLSB Proxy Factory for Local Views
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class StatelessSessionLocalProxyFactory extends StatelessSessionProxyFactoryBase implements SessionProxyFactory
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final Logger logger = Logger.getLogger(StatelessSessionLocalProxyFactory.class);
+
+ // --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ *
+ * @param metadata The metadata representing this SLSB
+ * @param classloader The ClassLoader associated with the StatelessContainer
+ * for which this ProxyFactory is to generate Proxies
+ */
+ public StatelessSessionLocalProxyFactory(final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ {
+ // Call Super
+ super(metadata, classloader);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is able to service requests
+ *
+ * @throws Exception
+ */
+ @Override
+ public void start() throws Exception
+ {
+ super.start();
+ //TODO
+ }
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is taken out of service,
+ * possibly GC'd
+ *
+ * @throws Exception
+ */
+ @Override
+ public void stop() throws Exception
+ {
+ super.stop();
+ //TODO
+ }
+
+}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionProxyFactoryBase.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,85 @@
+/*
+ * 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.factory.session.stateless;
+
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactoryBase;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+
+/**
+ * StatelessSessionProxyFactoryBase
+ *
+ * Base upon which SLSB Proxy Factories may build
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public abstract class StatelessSessionProxyFactoryBase extends SessionProxyFactoryBase implements SessionProxyFactory
+{
+ // --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ *
+ * @param metadata The metadata representing this SLSB
+ * @param classloader The ClassLoader associated with the StatelessContainer
+ * for which this ProxyFactory is to generate Proxies
+ */
+ public StatelessSessionProxyFactoryBase(final JBossSessionBeanMetaData metadata, final ClassLoader classloader)
+ {
+ // Call Super
+ super(metadata, classloader);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is able to service requests
+ *
+ * @throws Exception
+ */
+ @Override
+ public void start() throws Exception
+ {
+ super.start();
+ //TODO
+ }
+
+ /**
+ * Lifecycle callback to be invoked by the ProxyFactoryDeployer
+ * before the ProxyFactory is taken out of service,
+ * possibly GC'd
+ *
+ * @throws Exception
+ */
+ @Override
+ public void stop() throws Exception
+ {
+ super.stop();
+ //TODO
+ }
+}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiRegistrar.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiRegistrar.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,415 @@
+/*
+ * 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.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.ejb.EJBHome;
+import javax.ejb.EJBLocalHome;
+import javax.naming.Context;
+import javax.naming.spi.ObjectFactory;
+
+import org.jboss.ejb3.common.lang.ClassHelper;
+import org.jboss.ejb3.common.string.StringUtils;
+import org.jboss.ejb3.proxy.factory.ProxyFactory;
+import org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
+import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
+
+/**
+ * JndiRegistrar
+ *
+ * Responsible for binding of ObjectFactories and
+ * creation/registration of associated ProxyFactories
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JndiRegistrar
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final Logger log = Logger.getLogger(JndiRegistrar.class);
+
+ // --------------------------------------------------------------------------------||
+ // Instance Members ---------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Context under which we'll bind to JNDI
+ */
+ private Context context;
+
+ /**
+ * Implementation of ProxyFactoryRegistry to use
+ */
+ private ProxyFactoryRegistry registry;
+
+ /**
+ * Class of the SLSB Local Proxy Factory
+ */
+ private Class<?> statelessSessionLocalProxyFactoryClass;
+
+ /**
+ * Class of the SLSB Remote Proxy Factory
+ */
+ private Class<?> statelessSessionRemoteProxyFactoryClass;
+
+ //TODO MDB, @Service, SFSB Local/Remote
+
+ /**
+ * Full-qualified class name of the JNDI Object Factory to Reference for SLSBs
+ */
+ private String statelessSessionProxyObjectFactoryType;
+
+ //TODO MDB, @Service, SFSB
+
+ // --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Creates a JNDI Deployer from the specified configuration properties, none of
+ * which may be null.
+ *
+ * @param context The JNDI Context into which Objects will be bound
+ * @param registry The ProxyFactoryRegistry with which ProxyFactories will be registered
+ * @param statelessSessionLocalProxyFactoryType String representation of the SLSB Local Proxy Factory Class
+ * @param statelessSessionRemoteProxyFactoryType String representation of the SLSB Remote Proxy Factory Class
+ * @param statelessSessionProxyObjectFactoryType String representation of the JNDI Object Factory to use for SLSBs
+ */
+ public JndiRegistrar(final Context context, final ProxyFactoryRegistry registry,
+ final String statelessSessionLocalProxyFactoryType, final String statelessSessionRemoteProxyFactoryType,
+ final String statelessSessionProxyObjectFactoryType)
+ {
+ // Set the Context
+ assert context != null : this + " may not be configured with null " + Context.class.getName();
+ this.setContext(context);
+ log.debug(this + " has configured " + context);
+
+ // Set the ProxyFactoryRegistry
+ assert registry != null : this + " may not be configured with null " + ProxyFactoryRegistry.class.getName();
+ this.setRegistry(registry);
+ log.debug(this + " using " + registry);
+
+ /*
+ * Perform some assertions and logging
+ */
+
+ // SLSB Local
+ assert statelessSessionLocalProxyFactoryType != null && !statelessSessionLocalProxyFactoryType.equals("") : "Stateless Session Local Proxy Factory Type must be specified.";
+ log.debug(this + " has configured as SLSB Local Proxy Factory: " + statelessSessionLocalProxyFactoryType);
+
+ // SLSB Remote
+ assert statelessSessionRemoteProxyFactoryType != null && !statelessSessionRemoteProxyFactoryType.equals("") : "Stateless Session Remote Proxy Factory Type must be specified.";
+ log.debug(this + " has configured as SLSB Remote Proxy Factory: " + statelessSessionRemoteProxyFactoryType);
+
+ //TODO MBD, @Service, SFSB Local/Remote
+
+ try
+ {
+ // Set Proxy Factory Classes
+ this.setStatelessSessionLocalProxyFactoryClass(this.getClass().getClassLoader().loadClass(
+ statelessSessionLocalProxyFactoryType));
+ this.setStatelessSessionRemoteProxyFactoryClass(this.getClass().getClassLoader().loadClass(
+ statelessSessionRemoteProxyFactoryType));
+
+ //TODO MDB, @Service
+ }
+ catch (ClassNotFoundException cce)
+ {
+ throw new RuntimeException("A configured " + ProxyFactory.class.getSimpleName() + " could not be loaded by "
+ + this, cce);
+ }
+
+ // Set the SLSB Proxy Object Factory Type
+ assert statelessSessionProxyObjectFactoryType != null && !statelessSessionProxyObjectFactoryType.equals("") : "SLSB Proxy "
+ + ObjectFactory.class.getSimpleName() + " must be specified.";
+ this.setStatelessSessionProxyObjectFactoryType(statelessSessionProxyObjectFactoryType);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // 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 md
+ * @param containerCl The CL of the Container
+ */
+ public void bindEjb(JBossEnterpriseBeanMetaData md, ClassLoader containerCl)
+ {
+ // If we've got a SessionBean
+ if (md.isSession())
+ {
+ // Assert castable
+ assert (md instanceof JBossSessionBeanMetaData) : md + " claims to be a Session Bean but is not of type "
+ + JBossSessionBeanMetaData.class.getName();
+ JBossSessionBeanMetaData smd = null;
+ try
+ {
+ smd = JBossSessionBeanMetaData.class.cast(md);
+ }
+ catch (ClassCastException cce)
+ {
+ throw new RuntimeException(md + " claiming to be Session Bean could not be cast to "
+ + JBossSessionBeanMetaData.class.getName(), cce);
+ }
+
+ // Delegate out to session-specific handling
+ log.debug("Found Session Bean: " + smd.getEjbName());
+ this.bindSessionEjb(smd);
+ }
+
+ // If this is a MDB
+ else if (md.isMessageDriven())
+ {
+ //TODO MDB Impl
+ return;
+ }
+
+ //TODO If this is @Service
+ else if (md.isService())
+ {
+ //TODO @Service Impl
+ return;
+ }
+ // Does not report itself as a supported bean type
+ else
+ {
+ // Should not be reached
+ throw new RuntimeException(md
+ + " reports that it is not Session, Service, or Message-Driven; it must be one of these.");
+ }
+ }
+
+ /**
+ * Binds into JNDI all objects appropriate for the Session Bean
+ * described by the specified metadata
+ *
+ * @param smd
+ */
+ protected void bindSessionEjb(JBossSessionBeanMetaData smd)
+ {
+ // If Stateful
+ if (smd.isStateful())
+ {
+ //TODO Implement SFSB
+ }
+ // If Stateless
+ else if (smd.isStateless())
+ {
+ // 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.size() < 1;
+ boolean hasRemoteView = remoteHome != null & businessRemotes.size() < 1;
+
+ // If no local or remote views
+ if(!hasLocalView && !hasRemoteView)
+ {
+ throw new RuntimeException("EJB " + smd.getEjbName() + " has no local or remote views defined.");
+ }
+
+ // Create and register Proxy Factories
+ //if()
+
+ //TODO Left off here
+
+ // Bind OF to remote default (and possibly home)
+
+ // Bind OF to home (if not bound together)
+
+ // Bind OF to each remote business
+
+ // Bind OF to local default (and possibly localHome)
+
+ // Bind OF to localHome (if not bound together)
+
+ // Bind OF to each local business
+
+ }
+ // Not SLSB or SFSB, error
+ else
+ {
+ // Should not be reached
+ throw new RuntimeException(smd
+ + " reports that it is neither Stateful nor Stateless, but Session Bean must be one of these.");
+ }
+
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Helper Methods -----------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Obtains the return types declared by the "create" methods for the specified home interface.
+ *
+ * @param homeInterface
+ * @param isStateless Flag to indicate whether this is for a Stateful or Stateless container
+ * @return
+ */
+ protected Set<Class<?>> getReturnTypesFromCreateMethods(Class<?> homeInterface, boolean isStateless)
+ {
+ // Ensure we've been passed a Home or LocalHome interface
+ assert (EJBHome.class.isAssignableFrom(homeInterface) || EJBLocalHome.class.isAssignableFrom(homeInterface));
+ if (!EJBHome.class.isAssignableFrom(homeInterface) && !EJBLocalHome.class.isAssignableFrom(homeInterface))
+ {
+ throw new RuntimeException("Declared EJB 2.1 Home Interface " + homeInterface.getName() + " does not extend "
+ + EJBHome.class.getName() + " or " + EJBLocalHome.class.getName()
+ + " as required by EJB 3.0 Core Specification 4.6.8 and 4.6.10");
+ }
+
+ // Initialize
+ Set<Class<?>> types = new HashSet<Class<?>>();
+ List<Method> createMethods = null;
+
+ // If for a Stateless Container
+ if (isStateless)
+ {
+ // Initialize error message
+ String specViolationErrorMessage = "EJB 3.0 Specification Violation (4.6.8 Bullet 4, 4.6.10 Bullet 4): \""
+ + "A stateless session bean must define exactly one create method with no arguments." + "\"; found in "
+ + homeInterface.getName();
+
+ // Get all methods with signature "create"
+ createMethods = new ArrayList<Method>();
+ try
+ {
+ createMethods.add(homeInterface.getMethod("create", new Class<?>[]
+ {}));
+ }
+ // EJB 3.0 Specification 4.6.8 Bullet 4 Violation
+ // EJBTHREE-1156
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(specViolationErrorMessage);
+ }
+
+ // Ensure only one create method is defined
+ // EJB 3.0 Specification 4.6.8 Bullet 4 Violation
+ // EJBTHREE-1156
+ if (createMethods.size() > 1)
+ {
+ throw new RuntimeException(specViolationErrorMessage);
+ }
+ }
+ else
+ {
+ // Obtain all "create<METHOD>" methods
+ createMethods = ClassHelper.getAllMethodsByPrefix(homeInterface, "create");
+ }
+ if (createMethods.size() == 0)
+ {
+ throw new RuntimeException("EJB 3.0 Core Specification Violation (4.6.8 Bullet 5): EJB2.1 Home Interface "
+ + homeInterface + " does not declare a \'create<METHOD>\' method");
+ }
+
+ // Add all return types
+ for (Method method : createMethods)
+ {
+ types.add(method.getReturnType());
+ }
+
+ // Return
+ return types;
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Accessors / Mutators -----------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ public ProxyFactoryRegistry getRegistry()
+ {
+ return registry;
+ }
+
+ public void setRegistry(ProxyFactoryRegistry registry)
+ {
+ this.registry = registry;
+ }
+
+ public Class<?> getStatelessSessionLocalProxyFactoryClass()
+ {
+ return statelessSessionLocalProxyFactoryClass;
+ }
+
+ public void setStatelessSessionLocalProxyFactoryClass(Class<?> statelessSessionLocalProxyFactoryClass)
+ {
+ this.statelessSessionLocalProxyFactoryClass = statelessSessionLocalProxyFactoryClass;
+ }
+
+ public Class<?> getStatelessSessionRemoteProxyFactoryClass()
+ {
+ return statelessSessionRemoteProxyFactoryClass;
+ }
+
+ public void setStatelessSessionRemoteProxyFactoryClass(Class<?> statelessSessionRemoteProxyFactoryClass)
+ {
+ this.statelessSessionRemoteProxyFactoryClass = statelessSessionRemoteProxyFactoryClass;
+ }
+
+ public Context getContext()
+ {
+ return context;
+ }
+
+ public void setContext(Context context)
+ {
+ this.context = context;
+ }
+
+ public String getStatelessSessionProxyObjectFactoryType()
+ {
+ return statelessSessionProxyObjectFactoryType;
+ }
+
+ public void setStatelessSessionProxyObjectFactoryType(String statelessSessionProxyObjectFactoryType)
+ {
+ this.statelessSessionProxyObjectFactoryType = statelessSessionProxyObjectFactoryType;
+ }
+
+}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/mc/MicrocontainerBindings.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/mc/MicrocontainerBindings.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/mc/MicrocontainerBindings.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,49 @@
+/*
+ * 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.mc;
+
+/**
+ * MicrocontainerBindings
+ *
+ * Defines constants used in binding POJOs to
+ * Microcontainer
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface MicrocontainerBindings
+{
+ // --------------------------------------------------------------------------------||
+ // Constants ----------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ String MC_EJB3_NAMESPACE = "org.jboss.ejb3.";
+
+ /*
+ * The following are Bindings used as MC Bean Names
+ */
+
+ String MC_BEAN_NAME_PROXY_FACTORY_REGISTRY = MicrocontainerBindings.MC_EJB3_NAMESPACE + "ProxyFactoryRegistry";
+
+ String MC_BEAN_NAME_JNDI_REGISTRAR = MicrocontainerBindings.MC_EJB3_NAMESPACE + "JndiRegistrar";
+
+}
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/McProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/McProxyObjectFactory.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/McProxyObjectFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -25,7 +25,9 @@
import javax.naming.spi.ObjectFactory;
+import org.jboss.ejb3.proxy.plugin.inmemory.registry.InMemoryProxyFactoryRegistry;
import org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry;
+import org.jboss.logging.Logger;
/**
* McProxyObjectFactory
@@ -44,19 +46,35 @@
// --------------------------------------------------------------------------------||
private static final long serialVersionUID = 7854430641125529016L;
-
+
+ private static final Logger log = Logger.getLogger(McProxyObjectFactory.class);
+
// --------------------------------------------------------------------------------||
// Instance Members ---------------------------------------------------------------||
// --------------------------------------------------------------------------------||
//TODO
- // Inject from MC via AOP upon instanciation
+ // Inject from MC, must be configurable
private ProxyFactoryRegistry proxyFactoryRegistry;
// --------------------------------------------------------------------------------||
+ // Constructor --------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ public McProxyObjectFactory()
+ {
+ //TODO This should not be hardcoded, rather injected, see:
+ // http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150515
+ this.setProxyFactoryRegistry(new InMemoryProxyFactoryRegistry());
+ // Log warning along with a stacktrace
+ log.warn(new RuntimeException(ProxyFactoryRegistry.class.getName() + " should be injected, not hardcoded, "
+ + "see http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150515"));
+ }
+
+ // --------------------------------------------------------------------------------||
// Accessors / Mutators -----------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
+
@Override
protected ProxyFactoryRegistry getProxyFactoryRegistry()
{
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -38,14 +38,14 @@
/**
* SessionProxyObjectFactory
*
- * A JNDI Object Factory responsible for parsing metadata
+ * A Base JNDI Object Factory responsible for parsing metadata
* obtained from Reference Address information, and
* returning the appropriate Session Proxy
*
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class SessionProxyObjectFactory extends McProxyObjectFactory
+public abstract class SessionProxyObjectFactory extends McProxyObjectFactory
{
// --------------------------------------------------------------------------------||
@@ -59,24 +59,11 @@
// --------------------------------------------------------------------------------||
// Required Implementations ------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
- /*
- * TODO
- *
- * This implementation simply creates a new proxy upon each lookup. We should
- * improve performance by providing an additional implementation for SLSB
- * which employs a caching mechanism to cache:
- *
- * Home
- * Business
- * One per interface-specific business
- */
@Override
protected Object getProxy(ProxyFactory proxyFactory, Name name, Map<String, List<String>> referenceAddresses)
{
// Initialize
-
Object proxy = null;
// Determine if a home is defined here
@@ -92,7 +79,15 @@
// Obtain Proxy Factory
SessionProxyFactory factory = null;
Object pFactory = null;
- String proxyFactoryRegistryKey = ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY;
+ List<String> proxyFactoryRegistryKeys = referenceAddresses
+ .get(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY);
+ assert proxyFactoryRegistryKeys != null : "Required " + RefAddr.class.getSimpleName() + " of type "
+ + ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY
+ + " is required present in JNDI at " + name.toString() + " but was not found";
+ assert proxyFactoryRegistryKeys.size() == 1 : "Exactly one " + RefAddr.class.getSimpleName() + " of type "
+ + ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY
+ + " should be defined but instead found " + proxyFactoryRegistryKeys;
+ String proxyFactoryRegistryKey = proxyFactoryRegistryKeys.get(0);
assert proxyFactoryRegistryKey != null && !proxyFactoryRegistryKey.equals("") : "Required "
+ RefAddr.class.getSimpleName() + " of type "
+ ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY
@@ -100,8 +95,7 @@
try
{
// Get the Factory
- pFactory = registry
- .getProxyFactory(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_FACTORY_REGISTRY_KEY);
+ pFactory = registry.getProxyFactory(proxyFactoryRegistryKey);
// Cast into a SessionProxyFactory
factory = SessionProxyFactory.class.cast(pFactory);
log.debug("Using: " + factory + " as specified from JNDI reference " + name.toString());
@@ -177,7 +171,7 @@
}
// --------------------------------------------------------------------------------||
- // Internal Helper Methods -------------------------------------------------------||
+ // Helper Methods -----------------------------------------------------------------||
// --------------------------------------------------------------------------------||
/**
@@ -189,7 +183,7 @@
* @param referenceAddresses
* @return
*/
- private boolean hasHome(Name name, Map<String, List<String>> referenceAddresses)
+ protected boolean hasHome(Name name, Map<String, List<String>> referenceAddresses)
{
// Initialize
boolean hasHome = false;
@@ -225,7 +219,7 @@
* @param referenceAddresses
* @return
*/
- private boolean hasBusiness(Name name, Map<String, List<String>> referenceAddresses)
+ protected boolean hasBusiness(Name name, Map<String, List<String>> referenceAddresses)
{
// Initialize
boolean hasBusiness = false;
@@ -254,7 +248,7 @@
* @param referenceAddresses
* @return
*/
- private boolean hasLocalBusiness(Map<String, List<String>> referenceAddresses)
+ protected boolean hasLocalBusiness(Map<String, List<String>> referenceAddresses)
{
return referenceAddresses
.containsKey(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_LOCAL);
@@ -266,7 +260,7 @@
* @param referenceAddresses
* @return
*/
- private boolean hasRemoteBusiness(Map<String, List<String>> referenceAddresses)
+ protected boolean hasRemoteBusiness(Map<String, List<String>> referenceAddresses)
{
return referenceAddresses
.containsKey(ProxyFactoryReferenceAddressTypes.REF_ADDR_TYPE_PROXY_BUSINESS_INTERFACE_REMOTE);
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateful/StatefulSessionProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateful/StatefulSessionProxyObjectFactory.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateful/StatefulSessionProxyObjectFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,43 @@
+/*
+ * 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.objectfactory.session.stateful;
+
+import org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory;
+
+/**
+ * StatefulSessionProxyObjectFactory
+ *
+ * A JNDI ObjectFactory responsible for returning the
+ * appropriate SFSB Proxy upon lookup
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class StatefulSessionProxyObjectFactory extends SessionProxyObjectFactory
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members -----------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final long serialVersionUID = 8754251689879293214L;
+
+}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateless/StatelessSessionProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateless/StatelessSessionProxyObjectFactory.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/stateless/StatelessSessionProxyObjectFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -0,0 +1,54 @@
+/*
+ * 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.objectfactory.session.stateless;
+
+import org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory;
+
+/**
+ * StatelessSessionProxyObjectFactory
+ *
+ * A JNDI ObjectFactory responsible for returning the
+ * appropriate SLSB Proxy upon lookup
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class StatelessSessionProxyObjectFactory extends SessionProxyObjectFactory
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members -----------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final long serialVersionUID = 8754251689879293214L;
+
+ /*
+ * TODO
+ *
+ * This implementation simply creates a new proxy upon each lookup. We should
+ * improve performance by providing a caching mechanism to cache:
+ *
+ * Home
+ * Business
+ * One per interface-specific business
+ */
+
+}
Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockLifecycleSessionProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockLifecycleSessionProxyFactory.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockLifecycleSessionProxyFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -37,25 +37,25 @@
// --------------------------------------------------------------------------------||
// Class Members -----------------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
+
/**
* The valid states for this Proxy Factory, to be set
* properly by the lifecycle methods
*/
- public enum State{
+ public enum State {
CREATED, STARTED, STOPPED
}
-
+
// --------------------------------------------------------------------------------||
// Instance Members ---------------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
+
private State state;
// --------------------------------------------------------------------------------||
// Constructors -------------------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
+
public MockLifecycleSessionProxyFactory()
{
this.setState(State.CREATED);
@@ -80,11 +80,11 @@
{
this.setState(State.STOPPED);
}
-
+
// --------------------------------------------------------------------------------||
// Accessors / Mutators -----------------------------------------------------------||
// --------------------------------------------------------------------------------||
-
+
public State getState()
{
return state;
@@ -134,4 +134,10 @@
// TODO Auto-generated method stub
return null;
}
+
+ public Object createProxyEjb2x()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockSessionProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockSessionProxyFactory.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/MockSessionProxyFactory.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -89,4 +89,10 @@
}
+ public Object createProxyEjb2x()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/ProxyFactoryRegistryUnitTestCaseBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/ProxyFactoryRegistryUnitTestCaseBase.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/common/registry/ProxyFactoryRegistryUnitTestCaseBase.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -26,6 +26,7 @@
import junit.framework.TestCase;
import org.jboss.ejb3.proxy.factory.ProxyFactory;
+import org.jboss.ejb3.proxy.mc.MicrocontainerBindings;
import org.jboss.ejb3.proxy.spi.registry.ProxyFactoryAlreadyRegisteredException;
import org.jboss.ejb3.proxy.spi.registry.ProxyFactoryNotRegisteredException;
import org.jboss.ejb3.proxy.spi.registry.ProxyFactoryRegistry;
@@ -53,8 +54,6 @@
private static final Logger log = Logger.getLogger(ProxyFactoryRegistryUnitTestCaseBase.class);
- public static final String MC_BEAN_NAME_PROXY_FACTORY_REGISTRY = "org.jboss.ejb3.ProxyFactoryRegistry";
-
private static final String REGISTRY_KEY_PREFIX = "TestRegistrationKey-";
private static EmbeddedTestMcBootstrap bootstrap;
@@ -365,10 +364,10 @@
MockLifecycleSessionProxyFactory.class.cast(lookup).getState());
TestCase.assertEquals("Lifecycle of " + factory + " should be " + MockLifecycleSessionProxyFactory.State.STARTED
+ " before registered", MockLifecycleSessionProxyFactory.State.STARTED, factory.getState());
-
+
// Deregister
registry.deregisterProxyFactory(key);
-
+
// Ensure the reference looked up and the reference placed in have state of STOPPED
TestCase.assertEquals("Lifecycle of " + lookup + " should be " + MockLifecycleSessionProxyFactory.State.STOPPED
+ " before registered", MockLifecycleSessionProxyFactory.State.STOPPED,
@@ -387,7 +386,7 @@
private ProxyFactoryRegistry getProxyFactoryRegistry() throws Throwable
{
ProxyFactoryRegistry registry = ProxyFactoryRegistryUnitTestCaseBase.getBootstrap().lookup(
- ProxyFactoryRegistryUnitTestCaseBase.MC_BEAN_NAME_PROXY_FACTORY_REGISTRY, ProxyFactoryRegistry.class);
+ MicrocontainerBindings.MC_BEAN_NAME_PROXY_FACTORY_REGISTRY, ProxyFactoryRegistry.class);
return registry;
}
Modified: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxySessionTestCase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxySessionTestCase.java 2008-05-15 01:30:10 UTC (rev 73403)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxySessionTestCase.java 2008-05-15 01:37:30 UTC (rev 73404)
@@ -43,7 +43,6 @@
import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
import org.junit.AfterClass;
More information about the jboss-cvs-commits
mailing list