[jboss-cvs] JBossAS SVN: r76958 - in projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3: stateful and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 11 18:37:16 EDT 2008
Author: ALRubinger
Date: 2008-08-11 18:37:16 -0400 (Mon, 11 Aug 2008)
New Revision: 76958
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
Log:
[EJBTHREE-1458] Kill CCE in SLSB localHomeCreate, move logic to SessionSpecContainer such that it can be shared
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java 2008-08-11 22:36:21 UTC (rev 76957)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/session/SessionSpecContainer.java 2008-08-11 22:37:16 UTC (rev 76958)
@@ -32,10 +32,12 @@
import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
import org.jboss.ejb3.common.registrar.spi.NotBoundException;
import org.jboss.ejb3.proxy.container.InvokableContext;
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
import org.jboss.ejb3.proxy.handler.session.stateful.StatefulProxyInvocationHandlerBase;
import org.jboss.ejb3.proxy.jndiregistrar.JndiSessionRegistrarBase;
import org.jboss.ejb3.proxy.remoting.SessionSpecRemotingMetadata;
+import org.jboss.ejb3.stateful.StatefulContainer;
import org.jboss.ejb3.stateful.StatefulContainerInvocation;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
@@ -286,13 +288,30 @@
/**
* Provides implementation for this bean's EJB 2.1 Home.create() method
*
- * @param method
+ * @param factory
+ * @param unadvisedMethod
* @param args
* @return
* @throws Exception
*/
- protected abstract Object invokeHomeCreate(SerializableMethod method, Object args[]) throws Exception;
+ protected Object invokeHomeCreate(SerializableMethod method, Object args[])
+ throws Exception
+ {
+ // Lookup
+ String proxyFactoryKey = this.getJndiRegistrar().getProxyFactoryRegistryKey(this.getMetaData(), false);
+ Object factory = Ejb3RegistrarLocator.locateRegistrar().lookup(proxyFactoryKey);
+
+ // Cast
+ assert factory instanceof SessionProxyFactory : "Specified factory " + factory.getClass().getName() + " is not of type "
+ + SessionProxyFactory.class.getName() + " as required by " + StatefulContainer.class.getName() + ", but was instead " + factory;
+ SessionProxyFactory sessionFactory = null;
+ sessionFactory = SessionProxyFactory.class.cast(factory);
+ Object proxy = sessionFactory.createProxyEjb2x();
+
+ return proxy;
+ }
+
/**
* TODO: work in progress (refactor both invokeHomeMethod's, localHomeInvoke)
*/
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java 2008-08-11 22:36:21 UTC (rev 76957)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java 2008-08-11 22:37:16 UTC (rev 76958)
@@ -72,6 +72,7 @@
import org.jboss.ejb3.proxy.ProxyUtils;
import org.jboss.ejb3.proxy.container.StatefulSessionInvokableContext;
import org.jboss.ejb3.proxy.factory.ProxyFactoryHelper;
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
import org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactory;
import org.jboss.ejb3.proxy.factory.stateful.BaseStatefulRemoteProxyFactory;
import org.jboss.ejb3.proxy.factory.stateful.StatefulClusterProxyFactory;
@@ -1195,35 +1196,7 @@
return null;
}
}
-
- /**
- * Provides implementation for this bean's EJB 2.1 Home.create() method
- *
- * @param factory
- * @param unadvisedMethod
- * @param args
- * @return
- * @throws Exception
- */
- @Override
- protected Object invokeHomeCreate(SerializableMethod method, Object args[])
- throws Exception
- {
- // Lookup
- String proxyFactoryKey = this.getJndiRegistrar().getProxyFactoryRegistryKey(this.getMetaData(), false);
- Object factory = Ejb3RegistrarLocator.locateRegistrar().lookup(proxyFactoryKey);
-
- // Cast
- assert factory instanceof StatefulSessionProxyFactory : "Specified factory " + factory.getClass().getName() + " is not of type "
- + StatefulSessionProxyFactory.class.getName() + " as required by " + StatefulContainer.class.getName() + ", but was instead " + factory;
- StatefulSessionProxyFactory statefulFactory = null;
- statefulFactory = StatefulSessionProxyFactory.class.cast(factory);
- Object proxy = statefulFactory.createProxyEjb2x();
-
- return proxy;
- }
-
protected InvocationResponse invokeEJBObjectMethod(MethodInfo info,
StatefulRemoteInvocation statefulInvocation) throws Throwable
{
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java 2008-08-11 22:36:21 UTC (rev 76957)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java 2008-08-11 22:37:16 UTC (rev 76958)
@@ -31,6 +31,7 @@
import javax.ejb.EJBContext;
import javax.ejb.EJBException;
+import javax.ejb.EJBObject;
import javax.ejb.Handle;
import javax.ejb.Timer;
import javax.ejb.TimerService;
@@ -612,29 +613,7 @@
return null;
}
}
-
- /**
- * Provides implementation for this bean's EJB 2.1 Home.create() method
- *
- * @param factory
- * @param unadvisedMethod
- * @param args
- * @return
- * @throws Exception
- */
- @Override
- protected Object invokeHomeCreate(SerializableMethod unadvisedMethod, Object args[])
- throws Exception
- {
- // Lookup factory
- Object factory = this.getInitialContext().lookup(this.getMetaData().getHomeJndiName());
- SessionProxyFactory proxyFactory = SessionProxyFactory.class.cast(factory);
- Object proxy = proxyFactory.createProxyBusiness(unadvisedMethod.getReturnType());
-
- return proxy;
- }
-
public Object localHomeInvoke(Method method, Object[] args) throws Throwable
{
if (method.getName().equals("create"))
More information about the jboss-cvs-commits
mailing list