[jboss-cvs] JBossAS SVN: r80773 - in projects/ejb3/trunk/proxy/src: main/java/org/jboss/ejb3/proxy/factory/session and 14 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 10 19:10:32 EST 2008
Author: ALRubinger
Date: 2008-11-10 19:10:31 -0500 (Mon, 10 Nov 2008)
New Revision: 80773
Added:
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionSpecProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/service/
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxyServiceTestCase.java
Removed:
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service/
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/service/
projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/service/
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/SessionProxyFactoryBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceLocalProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactoryBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceRemoteProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceLocalProxyInvocationHandler.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandler.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandlerBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceRemoteProxyInvocationHandler.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiServiceRegistrar.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/service/ServiceProxyObjectFactory.java
projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectstore/ObjectStoreBindings.java
projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/SessionTestCaseBase-jboss-beans.xml
Log:
[EJBTHREE-1573] Correct @Service hierarchies to extend from Session handling
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-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -35,12 +35,6 @@
*/
public interface SessionProxyFactory extends ProxyFactory
{
- /**
- * Create an EJB2.x Home Proxy
- *
- * @return
- */
- Object createProxyHome();
/**
* Create an EJB3 Business proxy with no
@@ -54,21 +48,4 @@
* @return
*/
Object createProxyDefault();
-
- /**
- * Create an EJB3 Business Proxy specific to the specified
- * target business interface name (expressed as
- * a fully-qualified class name)
- *
- * @param businessInterfaceName
- * @return
- */
- Object createProxyBusiness(String businessInterfaceName);
-
- /**
- * Create an EJB2.x Proxy
- *
- * @return
- */
- Object createProxyEjb2x();
}
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionProxyFactoryBase.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -51,7 +51,7 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public abstract class SessionProxyFactoryBase extends ProxyFactoryBase implements SessionProxyFactory
+public abstract class SessionProxyFactoryBase extends ProxyFactoryBase implements SessionSpecProxyFactory
{
// --------------------------------------------------------------------------------||
@@ -207,7 +207,7 @@
// Create a new Proxy instance
Object proxy = constructor.newInstance(handler);
-
+
// Return
return proxy;
}
Added: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionSpecProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionSpecProxyFactory.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/SessionSpecProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -0,0 +1,60 @@
+/*
+ * 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;
+
+/**
+ * SessionSpecProxyFactory
+ *
+ * Contract for a Proxy Factory responsible
+ * for creation of both EJB3 and EJB2.x
+ * Session Bean Proxies as defined by the EJB3
+ * specification
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface SessionSpecProxyFactory extends SessionProxyFactory
+{
+ /**
+ * Create an EJB2.x Home Proxy
+ *
+ * @return
+ */
+ Object createProxyHome();
+
+ /**
+ * Create an EJB3 Business Proxy specific to the specified
+ * target business interface name (expressed as
+ * a fully-qualified class name)
+ *
+ * @param businessInterfaceName
+ * @return
+ */
+ Object createProxyBusiness(String businessInterfaceName);
+
+ /**
+ * Create an EJB2.x Proxy
+ *
+ * @return
+ */
+ Object createProxyEjb2x();
+}
Copied: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service (from rev 80744, projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service)
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service/ServiceLocalProxyFactory.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceLocalProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,14 +19,14 @@
* 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.service;
+package org.jboss.ejb3.proxy.factory.session.service;
import java.util.Set;
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.handler.service.ServiceLocalProxyInvocationHandler;
-import org.jboss.ejb3.proxy.handler.service.ServiceProxyInvocationHandler;
+import org.jboss.ejb3.proxy.handler.session.service.ServiceLocalProxyInvocationHandler;
+import org.jboss.ejb3.proxy.handler.session.service.ServiceProxyInvocationHandler;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service/ServiceProxyFactory.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,9 +19,9 @@
* 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.service;
+package org.jboss.ejb3.proxy.factory.session.service;
-import org.jboss.ejb3.proxy.factory.ProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
/**
* ServiceProxyFactory
@@ -33,13 +33,7 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public interface ServiceProxyFactory extends ProxyFactory
+public interface ServiceProxyFactory extends SessionProxyFactory
{
- /**
- * Create a JBoss Service EJB3 proxy implementing all appropriate
- * business interfaces.
- *
- * @return
- */
- Object createProxy();
+
}
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactoryBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service/ServiceProxyFactoryBase.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceProxyFactoryBase.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,7 +19,7 @@
* 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.service;
+package org.jboss.ejb3.proxy.factory.session.service;
import java.lang.reflect.Constructor;
import java.util.HashSet;
@@ -27,7 +27,7 @@
import org.jboss.aop.Advisor;
import org.jboss.ejb3.proxy.factory.ProxyFactoryBase;
-import org.jboss.ejb3.proxy.handler.service.ServiceProxyInvocationHandler;
+import org.jboss.ejb3.proxy.handler.session.service.ServiceProxyInvocationHandler;
import org.jboss.ejb3.proxy.intf.ServiceProxy;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
@@ -99,7 +99,7 @@
*
* @return
*/
- public Object createProxy()
+ public Object createProxyDefault()
{
// Obtain Constructor to Default Proxy
Constructor<?> constructor = this.getProxyConstructor();
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/service/ServiceRemoteProxyFactory.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/service/ServiceRemoteProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,14 +19,14 @@
* 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.service;
+package org.jboss.ejb3.proxy.factory.session.service;
import java.util.Set;
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.handler.service.ServiceProxyInvocationHandler;
-import org.jboss.ejb3.proxy.handler.service.ServiceRemoteProxyInvocationHandler;
+import org.jboss.ejb3.proxy.handler.session.service.ServiceProxyInvocationHandler;
+import org.jboss.ejb3.proxy.handler.session.service.ServiceRemoteProxyInvocationHandler;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionLocalProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -25,7 +25,7 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
import org.jboss.ejb3.proxy.handler.session.stateful.StatefulLocalProxyInvocationHandler;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
@@ -38,7 +38,9 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class StatefulSessionLocalProxyFactory extends StatefulSessionProxyFactoryBase implements SessionProxyFactory
+public class StatefulSessionLocalProxyFactory extends StatefulSessionProxyFactoryBase
+ implements
+ SessionSpecProxyFactory
{
// --------------------------------------------------------------------------------||
// Class Members ------------------------------------------------------------------||
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -23,7 +23,7 @@
import java.io.Serializable;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
/**
* StatefulSessionProxyFactory
@@ -36,7 +36,7 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public interface StatefulSessionProxyFactory extends SessionProxyFactory
+public interface StatefulSessionProxyFactory extends SessionSpecProxyFactory
{
/**
* Create an EJB2.x Home Proxy
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateful/StatefulSessionRemoteProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -25,7 +25,7 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
import org.jboss.ejb3.proxy.handler.session.stateful.StatefulRemoteProxyInvocationHandler;
import org.jboss.logging.Logger;
@@ -39,7 +39,9 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class StatefulSessionRemoteProxyFactory extends StatefulSessionProxyFactoryBase implements SessionProxyFactory
+public class StatefulSessionRemoteProxyFactory extends StatefulSessionProxyFactoryBase
+ implements
+ SessionSpecProxyFactory
{
// --------------------------------------------------------------------------------||
// Class Members ------------------------------------------------------------------||
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionLocalProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -25,7 +25,7 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
import org.jboss.ejb3.proxy.handler.session.stateless.StatelessLocalProxyInvocationHandler;
import org.jboss.logging.Logger;
@@ -39,7 +39,9 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class StatelessSessionLocalProxyFactory extends StatelessSessionProxyFactoryBase implements SessionProxyFactory
+public class StatelessSessionLocalProxyFactory extends StatelessSessionProxyFactoryBase
+ implements
+ SessionSpecProxyFactory
{
// --------------------------------------------------------------------------------||
// Class Members ------------------------------------------------------------------||
@@ -126,8 +128,8 @@
// Return
return handler;
- }
-
+ }
+
@Override
protected SessionProxyInvocationHandler createBusinessDefaultInvocationHandler()
{
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/factory/session/stateless/StatelessSessionRemoteProxyFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -25,7 +25,7 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
import org.jboss.ejb3.proxy.handler.session.SessionProxyInvocationHandler;
import org.jboss.ejb3.proxy.handler.session.stateless.StatelessRemoteProxyInvocationHandler;
import org.jboss.logging.Logger;
@@ -39,7 +39,9 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class StatelessSessionRemoteProxyFactory extends StatelessSessionProxyFactoryBase implements SessionProxyFactory
+public class StatelessSessionRemoteProxyFactory extends StatelessSessionProxyFactoryBase
+ implements
+ SessionSpecProxyFactory
{
// --------------------------------------------------------------------------------||
// Class Members ------------------------------------------------------------------||
Copied: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service (from rev 80744, projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service)
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceLocalProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service/ServiceLocalProxyInvocationHandler.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceLocalProxyInvocationHandler.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,7 +19,7 @@
* 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.handler.service;
+package org.jboss.ejb3.proxy.handler.session.service;
import java.io.Serializable;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service/ServiceProxyInvocationHandler.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandler.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.ejb3.proxy.handler.service;
+package org.jboss.ejb3.proxy.handler.session.service;
import java.io.Serializable;
import java.lang.reflect.InvocationHandler;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandlerBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service/ServiceProxyInvocationHandlerBase.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceProxyInvocationHandlerBase.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,7 +19,7 @@
* 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.handler.service;
+package org.jboss.ejb3.proxy.handler.session.service;
import java.io.Serializable;
import java.lang.reflect.InvocationHandler;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceRemoteProxyInvocationHandler.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/service/ServiceRemoteProxyInvocationHandler.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/handler/session/service/ServiceRemoteProxyInvocationHandler.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,7 +19,7 @@
* 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.handler.service;
+package org.jboss.ejb3.proxy.handler.session.service;
import java.io.Serializable;
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiServiceRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiServiceRegistrar.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiServiceRegistrar.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -24,11 +24,11 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.Dispatcher;
import org.jboss.ejb3.proxy.factory.ProxyFactory;
-import org.jboss.ejb3.proxy.factory.service.ServiceLocalProxyFactory;
-import org.jboss.ejb3.proxy.factory.service.ServiceRemoteProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.service.ServiceLocalProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.service.ServiceRemoteProxyFactory;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
/**
* JndiServiceRegistrar
@@ -81,7 +81,7 @@
*/
@Override
protected ProxyFactory createLocalProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
{
assert (smd instanceof JBossServiceBeanMetaData) : "Specified metadata was not of expected type "
+ JBossServiceBeanMetaData.class.getSimpleName();
@@ -105,7 +105,7 @@
*/
@Override
protected ProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final String url,
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
final Advisor advisor, final String interceptorStackName)
{
// Ensure metadata is of expected type
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiSessionRegistrarBase.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -715,7 +715,7 @@
* @param advisor The Advisor for proxies created by this factory
*/
protected abstract ProxyFactory createLocalProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor);
/**
* Creates and returns a new remote proxy factory for this Session Bean
@@ -732,7 +732,7 @@
* If null the default will apply.
*/
protected abstract ProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final String url,
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
final Advisor advisor, final String interceptorStackName);
// --------------------------------------------------------------------------------||
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatefulSessionRegistrar.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -27,7 +27,6 @@
import org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionLocalProxyFactory;
import org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionRemoteProxyFactory;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
/**
@@ -81,12 +80,9 @@
*/
@Override
protected ProxyFactory createLocalProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
{
- assert (smd instanceof JBossSessionBeanMetaData) : "Specified metadata was not of expected type "
- + JBossSessionBeanMetaData.class.getSimpleName() + " but was instead " + smd;
- JBossSessionBeanMetaData sessionMd = (JBossSessionBeanMetaData) smd;
- return new StatefulSessionLocalProxyFactory(name, containerName, containerGuid, sessionMd, cl, advisor);
+ return new StatefulSessionLocalProxyFactory(name, containerName, containerGuid, smd, cl, advisor);
}
/**
@@ -105,19 +101,12 @@
*/
@Override
protected ProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final String url,
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
final Advisor advisor, final String interceptorStackName)
{
- // Ensure metadata is of expected type
- assert (smd instanceof JBossSessionBeanMetaData) : "Specified metadata was not of expected type "
- + JBossSessionBeanMetaData.class.getSimpleName() + " but was instead " + smd;
-
- // Cast
- JBossSessionBeanMetaData sessionMd = (JBossSessionBeanMetaData) smd;
-
// Create
- ProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, containerGuid, sessionMd, cl,
- url, advisor, interceptorStackName);
+ ProxyFactory factory = new StatefulSessionRemoteProxyFactory(name, containerName, containerGuid, smd, cl, url,
+ advisor, interceptorStackName);
// Register with Remoting
log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/jndiregistrar/JndiStatelessSessionRegistrar.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -27,7 +27,6 @@
import org.jboss.ejb3.proxy.factory.session.stateless.StatelessSessionLocalProxyFactory;
import org.jboss.ejb3.proxy.factory.session.stateless.StatelessSessionRemoteProxyFactory;
import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
/**
@@ -81,12 +80,9 @@
*/
@Override
protected ProxyFactory createLocalProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final Advisor advisor)
{
- assert (smd instanceof JBossSessionBeanMetaData) : "Specified metadata was not of expected type "
- + JBossSessionBeanMetaData.class.getSimpleName();
- JBossSessionBeanMetaData sessionMd = (JBossSessionBeanMetaData) smd;
- return new StatelessSessionLocalProxyFactory(name, containerName, containerGuid, sessionMd, cl, advisor);
+ return new StatelessSessionLocalProxyFactory(name, containerName, containerGuid, smd, cl, advisor);
}
/**
@@ -105,19 +101,12 @@
*/
@Override
protected ProxyFactory createRemoteProxyFactory(final String name, final String containerName,
- final String containerGuid, final JBossEnterpriseBeanMetaData smd, final ClassLoader cl, final String url,
+ final String containerGuid, final JBossSessionBeanMetaData smd, final ClassLoader cl, final String url,
final Advisor advisor, final String interceptorStackName)
{
- // Ensure metadata is of expected type
- assert (smd instanceof JBossSessionBeanMetaData) : "Specified metadata was not of expected type "
- + JBossSessionBeanMetaData.class.getSimpleName();
-
- // Cast
- JBossSessionBeanMetaData sessionMd = (JBossSessionBeanMetaData) smd;
-
// Create
- ProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, containerGuid, sessionMd, cl,
- url, advisor, interceptorStackName);
+ ProxyFactory factory = new StatelessSessionRemoteProxyFactory(name, containerName, containerGuid, smd, cl, url,
+ advisor, interceptorStackName);
// Register with Remoting
log.debug("Registering with Remoting Dispatcher under name \"" + factory.getName() + "\": " + factory);
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/SessionProxyObjectFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -27,7 +27,7 @@
import javax.naming.Name;
import org.jboss.ejb3.proxy.factory.ProxyFactory;
-import org.jboss.ejb3.proxy.factory.session.SessionProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.SessionSpecProxyFactory;
import org.jboss.ejb3.proxy.objectfactory.Ejb3RegistrarProxyObjectFactory;
import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
import org.jboss.logging.Logger;
@@ -77,16 +77,16 @@
boolean hasBusiness = this.hasBusiness(name, referenceAddresses);
// Cast
- SessionProxyFactory sFactory = null;
+ SessionSpecProxyFactory sFactory = null;
try
{
- sFactory = this.getProxyFactoryClass().cast(factory);
+ sFactory = (SessionSpecProxyFactory) this.getProxyFactoryClass().cast(factory);
}
catch (ClassCastException cce)
{
throw new RuntimeException(ProxyFactory.class.getSimpleName() + " used in "
+ SessionProxyObjectFactory.class.getSimpleName() + " must be of type "
- + SessionProxyFactory.class.getName() + " but was instead " + factory, cce);
+ + SessionSpecProxyFactory.class.getName() + " but was instead " + factory, cce);
}
// If home and business are bound together
@@ -163,9 +163,9 @@
* @return
*/
@Override
- protected Class<SessionProxyFactory> getProxyFactoryClass()
+ protected Class<SessionSpecProxyFactory> getProxyFactoryClass()
{
- return SessionProxyFactory.class;
+ return SessionSpecProxyFactory.class;
}
// --------------------------------------------------------------------------------||
Copied: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/service (from rev 80744, projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/service)
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/service/ServiceProxyObjectFactory.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/service/ServiceProxyObjectFactory.java 2008-11-10 15:49:45 UTC (rev 80744)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectfactory/session/service/ServiceProxyObjectFactory.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -19,7 +19,7 @@
* 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.service;
+package org.jboss.ejb3.proxy.objectfactory.session.service;
import java.util.List;
import java.util.Map;
@@ -27,9 +27,9 @@
import javax.naming.Name;
import org.jboss.ejb3.proxy.factory.ProxyFactory;
-import org.jboss.ejb3.proxy.factory.service.ServiceProxyFactory;
+import org.jboss.ejb3.proxy.factory.session.service.ServiceProxyFactory;
+import org.jboss.ejb3.proxy.objectfactory.Ejb3RegistrarProxyObjectFactory;
import org.jboss.ejb3.proxy.objectfactory.ProxyFactoryReferenceAddressTypes;
-import org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory;
import org.jboss.logging.Logger;
/**
@@ -41,7 +41,7 @@
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
* @version $Revision: $
*/
-public class ServiceProxyObjectFactory extends ProxyObjectFactory
+public class ServiceProxyObjectFactory extends Ejb3RegistrarProxyObjectFactory
{
// --------------------------------------------------------------------------------||
// Class Members -----------------------------------------------------------------||
@@ -100,7 +100,7 @@
if (hasBusiness)
{
// Use a general-purpose proxy for all business interfaces
- proxy = sFactory.createProxy();
+ proxy = sFactory.createProxyDefault();
log.debug("Created Proxy of type " + proxy.getClass().getSimpleName() + ".");
}
Modified: projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectstore/ObjectStoreBindings.java
===================================================================
--- projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectstore/ObjectStoreBindings.java 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/main/java/org/jboss/ejb3/proxy/objectstore/ObjectStoreBindings.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -108,7 +108,7 @@
/**
* Bind name for @Service JNDI Registrar
*/
- String OBJECTSTORE_BEAN_NAME_JNDI_REGISTRAR_SERVICE = ObjectStoreBindings.OBJECTSTORE_NAMESPACE_JNDI_REGISTRAR
+ String OBJECTSTORE_BEAN_NAME_JNDI_REGISTRAR_SERVICE = ObjectStoreBindings.OBJECTSTORE_NAMESPACE_JNDI_REGISTRAR_SESSION
+ "ServiceJndiRegistrar";
}
Copied: projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxyServiceTestCase.java (from rev 80744, projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/service/unit/ProxyServiceTestCase.java)
===================================================================
--- projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxyServiceTestCase.java (rev 0)
+++ projects/ejb3/trunk/proxy/src/test/java/org/jboss/ejb3/test/proxy/session/unit/ProxyServiceTestCase.java 2008-11-11 00:10:31 UTC (rev 80773)
@@ -0,0 +1,237 @@
+/*
+ * 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.test.proxy.session.unit;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
+import javax.naming.InitialContext;
+
+import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
+import org.jboss.ejb3.test.proxy.common.SessionTestCaseBase;
+import org.jboss.ejb3.test.proxy.common.Utils;
+import org.jboss.ejb3.test.proxy.common.container.ServiceContainer;
+import org.jboss.ejb3.test.proxy.common.ejb.service.MyServiceBean;
+import org.jboss.ejb3.test.proxy.common.ejb.service.MyServiceBeanWithExplicitJndiBindings;
+import org.jboss.ejb3.test.proxy.common.ejb.service.MyServiceLocalBusiness;
+import org.jboss.ejb3.test.proxy.common.ejb.service.MyServiceRemoteBusiness;
+import org.jboss.logging.Logger;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * ProxyServiceTestCase
+ *
+ * General tests for @Service beans:
+ *
+ * - Bound as expected
+ * - May be invoked
+ * - .equals() implementation of Proxies is correct
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class ProxyServiceTestCase extends SessionTestCaseBase
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private static final Logger log = Logger.getLogger(ProxyServiceTestCase.class);
+
+ private static InitialContext context;
+
+ // --------------------------------------------------------------------------------||
+ // Tests --------------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Tests binding and invocation upon the local business
+ * interface
+ */
+ @Test
+ public void testLocalDefaultBindings() throws Exception
+ {
+ // Define the JNDI name to use
+ String jndiName = "MyServiceBean/local";
+
+ // Run test
+ this.runLocalTest(jndiName);
+ }
+
+ /**
+ * Tests binding and invocation upon the remote business
+ * interface
+ */
+ @Test
+ public void testRemoteDefaultBindings() throws Exception
+ {
+ // Define the JNDI name to use
+ String jndiName = "MyServiceBean/remote";
+
+ // Run test
+ this.runRemoteTest(jndiName);
+ }
+
+ /**
+ * Tests binding and invocation upon the local business
+ * interface using @LocalBinding.jnidBinding value
+ */
+ @Test
+ public void testLocalExplicitBindings() throws Exception
+ {
+ // Define the JNDI name to use
+ String jndiName = MyServiceBeanWithExplicitJndiBindings.JNDI_NAME_LOCAL;
+
+ // Run test
+ this.runLocalTest(jndiName);
+ }
+
+ /**
+ * Tests binding and invocation upon the remote business
+ * interface using @RemoteBinding.jnidBinding value
+ */
+ @Test
+ public void testRemoteExplicitBindings() throws Exception
+ {
+ // Define the JNDI name to use
+ String jndiName = MyServiceBeanWithExplicitJndiBindings.JNDI_NAME_REMOTE;
+
+ // Run test
+ this.runRemoteTest(jndiName);
+ }
+
+ /**
+ * Tests that proxies with the same target container are
+ * equal
+ */
+ @Test
+ public void testProxiesSameTargetContainerEqual() throws Exception
+ {
+ // Lookup
+ Object bean1 = context.lookup("MyServiceBean/local");
+ Object bean2 = context.lookup("MyServiceBean/remote");
+
+ // Ensure equal
+ assertEquals("@Service proxies with the same target container must be equal", bean1, bean2);
+ }
+
+ /**
+ * Tests that proxies with the different target containers are
+ * not equal
+ */
+ @Test
+ public void testProxiesDifferentTargetContainersNotEqual() throws Exception
+ {
+ // Lookup
+ Object bean1 = context.lookup("MyServiceBean/local");
+ Object bean2 = context.lookup(MyServiceBeanWithExplicitJndiBindings.JNDI_NAME_LOCAL);
+
+ // Ensure equal
+ assertNotSame("@Service proxies with the different target containers must not be equal", bean1, bean2);
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Internal Helper Methods --------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Run the local test using the specified lookup name
+ *
+ * @param jndiName
+ */
+ protected void runLocalTest(String jndiName) throws Exception
+ {
+ // Lookup
+ Object bean = context.lookup(jndiName);
+
+ // Ensure expected type
+ assertTrue(bean instanceof MyServiceLocalBusiness);
+
+ // Cast
+ MyServiceLocalBusiness ejb = (MyServiceLocalBusiness) bean;
+
+ // Invoke and log
+ log.info("Invoked upon @Service local business view: " + ejb.getUuid());
+ }
+
+ /**
+ * Run the remote test using the specified lookup name
+ *
+ * @param jndiName
+ */
+ protected void runRemoteTest(String jndiName) throws Exception
+ {
+ // Lookup
+ Object bean = context.lookup(jndiName);
+
+ // Ensure expected type
+ assertTrue(bean instanceof MyServiceRemoteBusiness);
+
+ // Cast
+ MyServiceRemoteBusiness ejb = (MyServiceRemoteBusiness) bean;
+
+ // Invoke and log
+ log.info("Invoked upon @Service remote business view: " + ejb.getUuid());
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Lifecycle Methods --------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Perform setup before any tests
+ *
+ * @throws Throwable
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws Throwable
+ {
+ // Create Bootstrap and Deploy
+ SessionTestCaseBase.setUpBeforeClass();
+
+ // Deploy MC Beans
+ ProxyServiceTestCase.bootstrap.deploy(SessionTestCaseBase.class);
+
+ // Create @Service containers
+ ServiceContainer defaultBindingsContainer = Utils.createService(MyServiceBean.class);
+ ServiceContainer explicitBindingsContainer = Utils.createService(MyServiceBeanWithExplicitJndiBindings.class);
+
+ // Install
+ Ejb3RegistrarLocator.locateRegistrar().bind(defaultBindingsContainer.getName(), defaultBindingsContainer);
+ Ejb3RegistrarLocator.locateRegistrar().bind(explicitBindingsContainer.getName(), explicitBindingsContainer);
+
+ // Set Naming COntext
+ ProxyServiceTestCase.context = new InitialContext(); // Props from jndi.properties
+
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception
+ {
+ if (bootstrap != null)
+ bootstrap.shutdown();
+ bootstrap = null;
+ }
+}
Modified: projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/SessionTestCaseBase-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/SessionTestCaseBase-jboss-beans.xml 2008-11-10 23:19:18 UTC (rev 80772)
+++ projects/ejb3/trunk/proxy/src/test/resources/org/jboss/ejb3/test/proxy/common/SessionTestCaseBase-jboss-beans.xml 2008-11-11 00:10:31 UTC (rev 80773)
@@ -40,11 +40,11 @@
</bean>
<!-- @Service JNDI Registrar -->
- <bean name="org.jboss.ejb3.JndiRegistrar.ServiceJndiRegistrar"
+ <bean name="org.jboss.ejb3.JndiRegistrar.Session.ServiceJndiRegistrar"
class="org.jboss.ejb3.proxy.jndiregistrar.JndiServiceRegistrar">
<constructor>
<parameter>
- org.jboss.ejb3.proxy.objectfactory.service.ServiceProxyObjectFactory
+ org.jboss.ejb3.proxy.objectfactory.session.service.ServiceProxyObjectFactory
</parameter>
</constructor>
<depends>NameServer</depends>
More information about the jboss-cvs-commits
mailing list