You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by dj...@apache.org on 2010/08/14 06:39:41 UTC
svn commit: r985428 - in /openejb/trunk/openejb3:
container/openejb-core/src/main/java/org/apache/openejb/
container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/
container/openejb-core/src/main/java/org/apache/openejb/core/ containe...
Author: djencks
Date: Sat Aug 14 04:39:40 2010
New Revision: 985428
URL: http://svn.apache.org/viewvc?rev=985428&view=rev
Log:
OPENEJB-1328 carefully track the interface requested for a proxy
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/DeploymentInfo.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ProxyInfo.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/ProxyFactory.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Util.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContext.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbHomeHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbObjectHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedObjectHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbHomeHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbObjectHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbHomeHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbObjectHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbHomeHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbObjectHandler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyManager.java
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBMetaDataImpl.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java
openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/DeploymentInfo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/DeploymentInfo.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/DeploymentInfo.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/DeploymentInfo.java Sat Aug 14 04:39:40 2010
@@ -113,11 +113,11 @@ public interface DeploymentInfo {
BusinessLocalBeanHome getBusinessLocalBeanHome();
- BusinessLocalHome getBusinessLocalHome(List<Class> interfaces);
+ BusinessLocalHome getBusinessLocalHome(List<Class> interfaces, Class mainInterface);
BusinessRemoteHome getBusinessRemoteHome();
- BusinessRemoteHome getBusinessRemoteHome(List<Class> interfaces);
+ BusinessRemoteHome getBusinessRemoteHome(List<Class> interfaces, Class mainInterface);
String getDestinationId();
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ProxyInfo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ProxyInfo.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ProxyInfo.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ProxyInfo.java Sat Aug 14 04:39:40 2010
@@ -26,16 +26,18 @@ public class ProxyInfo {
protected List<Class> proxyInterfaces;
protected RpcContainer beanContainer;
protected InterfaceType interfaceType;
+ protected Class mainInterface;
protected ProxyInfo() {
}
- public ProxyInfo(DeploymentInfo deploymentInfo, Object primaryKey, List<Class> interfaces, InterfaceType proxyType) {
+ public ProxyInfo(DeploymentInfo deploymentInfo, Object primaryKey, List<Class> interfaces, InterfaceType proxyType, Class mainInterface) {
this.deploymentInfo = deploymentInfo;
this.primaryKey = primaryKey;
this.proxyInterfaces = interfaces;
this.interfaceType = proxyType;
this.beanContainer = (RpcContainer) deploymentInfo.getContainer();
+ this.mainInterface = mainInterface;
}
/**
@@ -48,7 +50,7 @@ public class ProxyInfo {
* @param pk
*/
public ProxyInfo(DeploymentInfo depInfo, Object pk) {
- this(depInfo, pk, new ArrayList<Class>(), InterfaceType.UNKNOWN);
+ this(depInfo, pk, new ArrayList<Class>(), InterfaceType.UNKNOWN, null);
}
public InterfaceType getInterfaceType() {
@@ -64,7 +66,7 @@ public class ProxyInfo {
}
public Class getInterface() {
- return proxyInterfaces.get(0);
+ return mainInterface == null && proxyInterfaces != null && !proxyInterfaces.isEmpty()? proxyInterfaces.get(0): mainInterface;
}
public List<Class> getInterfaces() {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java Sat Aug 14 04:39:40 2010
@@ -346,7 +346,7 @@ public class JndiBuilder {
for (Class interfce : deployment.getBusinessLocalInterfaces()) {
List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanClass, interfce, localInterfaces);
- DeploymentInfo.BusinessLocalHome home = deployment.getBusinessLocalHome(interfaces);
+ DeploymentInfo.BusinessLocalHome home = deployment.getBusinessLocalHome(interfaces, interfce);
BusinessLocalReference ref = new BusinessLocalReference(home);
optionalBind(bindings, ref, "openejb/Deployment/" + format(deployment.getDeploymentID(), interfce.getName()));
@@ -370,7 +370,7 @@ public class JndiBuilder {
for (Class interfce : deployment.getBusinessRemoteInterfaces()) {
List<Class> interfaces = ProxyInterfaceResolver.getInterfaces(beanClass, interfce, remoteInterfaces);
- DeploymentInfo.BusinessRemoteHome home = deployment.getBusinessRemoteHome(interfaces);
+ DeploymentInfo.BusinessRemoteHome home = deployment.getBusinessRemoteHome(interfaces, interfce);
BusinessRemoteReference ref = new BusinessRemoteReference(home);
optionalBind(bindings, ref, "openejb/Deployment/" + format(deployment.getDeploymentID(), interfce.getName(), null));
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java Sat Aug 14 04:39:40 2010
@@ -16,15 +16,12 @@
*/
package org.apache.openejb.core;
-import java.security.Principal;
import java.util.List;
import java.util.ArrayList;
-import javax.ejb.EJBHome;
-import javax.ejb.EJBLocalHome;
+
import javax.ejb.EJBLocalObject;
import javax.ejb.EJBObject;
import javax.ejb.SessionContext;
-import javax.ejb.TimerService;
import javax.transaction.UserTransaction;
import javax.xml.rpc.handler.MessageContext;
@@ -64,7 +61,7 @@ public abstract class BaseSessionContext
if (di.getLocalHomeInterface() == null) throw new IllegalStateException("Bean does not have an EJBLocalObject interface: "+di.getDeploymentID());
- return (EJBLocalObject) EjbObjectProxyHandler.createProxy(di, threadContext.getPrimaryKey(), InterfaceType.EJB_LOCAL);
+ return (EJBLocalObject) EjbObjectProxyHandler.createProxy(di, threadContext.getPrimaryKey(), InterfaceType.EJB_LOCAL, di.getLocalInterface());
}
public EJBObject getEJBObject() throws IllegalStateException {
@@ -73,7 +70,7 @@ public abstract class BaseSessionContext
DeploymentInfo di = threadContext.getDeploymentInfo();
if (di.getHomeInterface() == null) throw new IllegalStateException("Bean does not have an EJBObject interface: "+di.getDeploymentID());
- return (EJBObject) EjbObjectProxyHandler.createProxy(di, threadContext.getPrimaryKey(), InterfaceType.EJB_OBJECT);
+ return (EJBObject) EjbObjectProxyHandler.createProxy(di, threadContext.getPrimaryKey(), InterfaceType.EJB_OBJECT, di.getRemoteInterface());
}
public MessageContext getMessageContext() throws IllegalStateException {
@@ -105,19 +102,19 @@ public abstract class BaseSessionContext
EjbObjectProxyHandler handler;
switch(di.getComponentType()){
case STATEFUL: {
- handler = new StatefulEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>());
+ handler = new StatefulEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>(), interfce);
break;
}
case STATELESS: {
- handler = new StatelessEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>());
+ handler = new StatelessEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>(), interfce);
break;
}
case SINGLETON: {
- handler = new SingletonEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>());
+ handler = new SingletonEjbObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>(), interfce);
break;
}
case MANAGED: {
- handler = new ManagedObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>());
+ handler = new ManagedObjectHandler(di, threadContext.getPrimaryKey(), interfaceType, new ArrayList<Class>(), interfce);
break;
}
default: throw new IllegalStateException("Bean is not a session bean: "+di.getComponentType());
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java Sat Aug 14 04:39:40 2010
@@ -18,7 +18,6 @@ package org.apache.openejb.core;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -522,17 +521,18 @@ public class CoreDeploymentInfo extends
return ejbLocalHomeRef;
}
+ //unused
public BusinessLocalHome getBusinessLocalHome() {
- return getBusinessLocalHome(getBusinessLocalInterfaces());
+ return getBusinessLocalHome(getBusinessLocalInterfaces(), null);
}
public BusinessLocalBeanHome getBusinessLocalBeanHome() {
List<Class> interfaces = new ArrayList<Class>();
interfaces.add(this.beanClass);
- return (BusinessLocalBeanHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCALBEAN_HOME, interfaces);
+ return (BusinessLocalBeanHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCALBEAN_HOME, interfaces, this.beanClass);
}
- public BusinessLocalHome getBusinessLocalHome(List<Class> interfaces) {
+ public BusinessLocalHome getBusinessLocalHome(List<Class> interfaces, Class mainInterface) {
if (getBusinessLocalInterfaces().size() == 0){
throw new IllegalStateException("This component has no business local interfaces: " + getDeploymentID());
}
@@ -545,14 +545,15 @@ public class CoreDeploymentInfo extends
}
}
- return (BusinessLocalHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCAL_HOME, interfaces);
+ return (BusinessLocalHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_LOCAL_HOME, interfaces, mainInterface);
}
+ //unused
public BusinessRemoteHome getBusinessRemoteHome() {
- return getBusinessRemoteHome(getBusinessRemoteInterfaces());
+ return getBusinessRemoteHome(getBusinessRemoteInterfaces(), null);
}
- public BusinessRemoteHome getBusinessRemoteHome(List<Class> interfaces) {
+ public BusinessRemoteHome getBusinessRemoteHome(List<Class> interfaces, Class mainInterface) {
if (getBusinessRemoteInterfaces().size() == 0){
throw new IllegalStateException("This component has no business remote interfaces: " + getDeploymentID());
}
@@ -565,7 +566,7 @@ public class CoreDeploymentInfo extends
}
}
- return (BusinessRemoteHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_REMOTE_HOME, interfaces);
+ return (BusinessRemoteHome) EjbHomeProxyHandler.createHomeProxy(this, InterfaceType.BUSINESS_REMOTE_HOME, interfaces, mainInterface);
}
public String getDestinationId() {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/ProxyFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/ProxyFactory.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/ProxyFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/ProxyFactory.java Sat Aug 14 04:39:40 2010
@@ -61,7 +61,7 @@ public class ProxyFactory {
Object primaryKey = keyGenerator.getPrimaryKey(bean);
// create the proxy
- Object proxy = remoteHandler.createProxy(primaryKey);
+ Object proxy = remoteHandler.createProxy(primaryKey, deploymentInfo.getRemoteInterface());
return proxy;
}
@@ -71,7 +71,7 @@ public class ProxyFactory {
Object primaryKey = keyGenerator.getPrimaryKey(bean);
// create the proxy
- Object proxy = localHandler.createProxy(primaryKey);
+ Object proxy = localHandler.createProxy(primaryKey, deploymentInfo.getLocalInterface());
return proxy;
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Util.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Util.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Util.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/cmp2/Cmp2Util.java Sat Aug 14 04:39:40 2010
@@ -28,7 +28,6 @@ import javax.ejb.EJBLocalObject;
import javax.ejb.EntityBean;
import javax.ejb.EJBObject;
import java.lang.reflect.Field;
-import java.util.ArrayList;
public class Cmp2Util {
public static Object getPrimaryKey(CoreDeploymentInfo deploymentInfo, EntityBean entity){
@@ -81,7 +80,7 @@ public class Cmp2Util {
throw new IllegalArgumentException("Proxy is not connected to a CMP container but is conect to " + deploymentInfo.getContainer().getClass().getName());
}
- Proxy proxy = (Proxy) EjbObjectProxyHandler.createProxy(deploymentInfo, primaryKey, InterfaceType.EJB_LOCAL_HOME);
+ Proxy proxy = (Proxy) EjbObjectProxyHandler.createProxy(deploymentInfo, primaryKey, InterfaceType.EJB_LOCAL_HOME, deploymentInfo.getLocalInterface());
return proxy;
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContext.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContext.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContext.java Sat Aug 14 04:39:40 2010
@@ -50,7 +50,7 @@ public class EntityContext extends BaseC
throw new IllegalStateException("EJB " + di.getDeploymentID() + " does not have a local interface");
}
- EjbObjectProxyHandler handler = new EntityEjbObjectHandler(di, threadContext.getPrimaryKey(), InterfaceType.EJB_LOCAL, new ArrayList<Class>());
+ EjbObjectProxyHandler handler = new EntityEjbObjectHandler(di, threadContext.getPrimaryKey(), InterfaceType.EJB_LOCAL, new ArrayList<Class>(), di.getLocalInterface());
try {
Class[] interfaces = new Class[]{di.getLocalInterface(), IntraVmProxy.class};
@@ -70,7 +70,7 @@ public class EntityContext extends BaseC
throw new IllegalStateException("EJB " + di.getDeploymentID() + " does not have a remote interface");
}
- EjbObjectProxyHandler handler = new EntityEjbObjectHandler(di.getContainer().getDeploymentInfo(di.getDeploymentID()), threadContext.getPrimaryKey(), InterfaceType.EJB_OBJECT, new ArrayList<Class>());
+ EjbObjectProxyHandler handler = new EntityEjbObjectHandler(di.getContainer().getDeploymentInfo(di.getDeploymentID()), threadContext.getPrimaryKey(), InterfaceType.EJB_OBJECT, new ArrayList<Class>(), di.getRemoteInterface());
try {
Class[] interfaces = new Class[]{di.getRemoteInterface(), IntraVmProxy.class};
return (EJBObject) ProxyManager.newProxyInstance(interfaces, handler);
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbHomeHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbHomeHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbHomeHandler.java Sat Aug 14 04:39:40 2010
@@ -26,9 +26,7 @@ import org.apache.openejb.OpenEJBExcepti
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.core.ivm.EjbHomeProxyHandler;
import org.apache.openejb.core.ivm.EjbObjectProxyHandler;
-import org.apache.openejb.core.ivm.IntraVmProxy;
import org.apache.openejb.util.proxy.ProxyManager;
-import org.apache.openejb.util.proxy.InvocationHandler;
import javax.ejb.EJBLocalObject;
import javax.ejb.RemoveException;
@@ -37,12 +35,12 @@ import javax.ejb.EJBObject;
public class EntityEjbHomeHandler extends EjbHomeProxyHandler {
- public EntityEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, interfaceType, interfaces);
+ public EntityEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, interfaceType, interfaces, mainInterface);
}
- public Object createProxy(Object primaryKey) {
- Object proxy = super.createProxy(primaryKey);
+ public Object createProxy(Object primaryKey, Class mainInterface) {
+ Object proxy = super.createProxy(primaryKey, mainInterface);
EjbObjectProxyHandler handler = (EjbObjectProxyHandler) ProxyManager.getInvocationHandler(proxy);
/*
@@ -71,14 +69,14 @@ public class EntityEjbHomeHandler extend
Vector proxies = new Vector();
for (int i = 0; i < proxyInfos.length; i++) {
ProxyInfo proxyInfo = (ProxyInfo) proxyInfos[i];
- proxies.addElement(createProxy(proxyInfo.getPrimaryKey()));
+ proxies.addElement(createProxy(proxyInfo.getPrimaryKey(), getMainInterface()));
}
return proxies;
} else if (retValue instanceof org.apache.openejb.util.ArrayEnumeration) {
org.apache.openejb.util.ArrayEnumeration enumeration = (org.apache.openejb.util.ArrayEnumeration) retValue;
for (int i = enumeration.size() - 1; i >= 0; --i) {
ProxyInfo proxyInfo = ((ProxyInfo) enumeration.get(i));
- enumeration.set(i, createProxy(proxyInfo.getPrimaryKey()));
+ enumeration.set(i, createProxy(proxyInfo.getPrimaryKey(), getMainInterface()));
}
return enumeration;
} else if (retValue instanceof java.util.Enumeration) {
@@ -87,14 +85,14 @@ public class EntityEjbHomeHandler extend
java.util.List proxies = new java.util.ArrayList();
while (enumeration.hasMoreElements()) {
ProxyInfo proxyInfo = ((ProxyInfo) enumeration.nextElement());
- proxies.add(createProxy(proxyInfo.getPrimaryKey()));
+ proxies.add(createProxy(proxyInfo.getPrimaryKey(), getMainInterface()));
}
return new org.apache.openejb.util.ArrayEnumeration(proxies);
} else {
org.apache.openejb.ProxyInfo proxyInfo = (org.apache.openejb.ProxyInfo) retValue;
- return createProxy(proxyInfo.getPrimaryKey());
+ return createProxy(proxyInfo.getPrimaryKey(), getMainInterface());
}
}
@@ -148,8 +146,8 @@ public class EntityEjbHomeHandler extend
return sb.toString();
}
- protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- return new EntityEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces);
+ protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ return new EntityEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbObjectHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbObjectHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityEjbObjectHandler.java Sat Aug 14 04:39:40 2010
@@ -39,8 +39,8 @@ public class EntityEjbObjectHandler exte
*/
private Object registryId;
- public EntityEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public EntityEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
/*
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Sat Aug 14 04:39:40 2010
@@ -36,7 +36,6 @@ import java.rmi.RemoteException;
import java.rmi.AccessException;
import java.util.HashSet;
import java.util.Hashtable;
-import java.util.Properties;
import java.util.List;
import java.util.ArrayList;
import java.util.WeakHashMap;
@@ -56,7 +55,6 @@ import javax.transaction.TransactionRoll
import org.apache.openejb.InterfaceType;
import org.apache.openejb.RpcContainer;
import org.apache.openejb.DeploymentInfo;
-import org.apache.openejb.core.CoreDeploymentInfo;
import org.apache.openejb.core.ThreadContext;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.ContainerSystem;
@@ -107,7 +105,7 @@ public abstract class BaseEjbProxyHandle
private transient WeakHashMap<Class,Object> interfaces;
private transient WeakReference<Class> mainInterface;
- public BaseEjbProxyHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
+ public BaseEjbProxyHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
this.container = (RpcContainer) deploymentInfo.getContainer();
this.deploymentID = deploymentInfo.getDeploymentID();
this.interfaceType = interfaceType;
@@ -117,22 +115,16 @@ public abstract class BaseEjbProxyHandle
if (interfaces == null || interfaces.size() == 0) {
InterfaceType objectInterfaceType = (interfaceType.isHome()) ? interfaceType.getCounterpart() : interfaceType;
interfaces = new ArrayList<Class>(deploymentInfo.getInterfaces(objectInterfaceType));
+ if (mainInterface == null && interfaces.size() == 1) {
+ mainInterface = interfaces.get(0);
+ }
}
-
- this.setDoIntraVmCopy(!interfaceType.isLocal() && !interfaceType.isLocalBean());
-
- if (!interfaceType.isLocal()&& !interfaceType.isLocalBean()){
- setDoIntraVmCopy(REMOTE_COPY_ENABLED);
- }
-
setInterfaces(interfaces);
-
- if (interfaceType.isHome()){
- setMainInterface(deploymentInfo.getInterface(interfaceType));
- } else {
- // Then arbitrarily pick the first interface
- setMainInterface(interfaces.get(0));
+ setMainInterface(mainInterface);
+ if (mainInterface == null) {
+ throw new IllegalArgumentException("No mainInterface: otherwise di: " + deploymentInfo + " InterfaceType: " + interfaceType + " interfaces: " + interfaces );
}
+ this.setDoIntraVmCopy(REMOTE_COPY_ENABLED && !interfaceType.isLocal() && !interfaceType.isLocalBean());
}
protected void setDoIntraVmCopy(boolean doIntraVmCopy) {
@@ -172,7 +164,7 @@ public abstract class BaseEjbProxyHandle
// If our "main" interface is or extends the method's declaring class
// then we're good. We know the main interface has the method being
// invoked and it's safe to return it as the invoked interface.
- if (declaringClass.isAssignableFrom(mainInterface)){
+ if (mainInterface != null && declaringClass.isAssignableFrom(mainInterface)){
return mainInterface;
}
@@ -235,12 +227,12 @@ public abstract class BaseEjbProxyHandle
if (methodName.equals("toString")) return toString();
else if (methodName.equals("equals")) return equals(args[0]) ? Boolean.TRUE : Boolean.FALSE;
else if (methodName.equals("hashCode")) return new Integer(hashCode());
- else throw new UnsupportedOperationException("Unkown method: " + method);
+ else throw new UnsupportedOperationException("Unknown method: " + method);
} else if (method.getDeclaringClass() == IntraVmProxy.class) {
final String methodName = method.getName();
if (methodName.equals("writeReplace")) return _writeReplace(proxy);
- else throw new UnsupportedOperationException("Unkown method: " + method);
+ else throw new UnsupportedOperationException("Unknown method: " + method);
}
Class interfce = getInvokedInterface(method);
@@ -442,12 +434,17 @@ public abstract class BaseEjbProxyHandle
} catch (IllegalArgumentException e) {
return false;
}
- BaseEjbProxyHandler other = (BaseEjbProxyHandler) obj;
- if (primaryKey == null) {
- return other.primaryKey == null && deploymentID.equals(other.deploymentID);
- } else {
- return primaryKey.equals(other.primaryKey) && deploymentID.equals(other.deploymentID);
+ if (this == obj) {
+ return true;
}
+ BaseEjbProxyHandler other = (BaseEjbProxyHandler) obj;
+ return equalHandler(other);
+ }
+
+ protected boolean equalHandler(BaseEjbProxyHandler other) {
+ return (primaryKey == null? other.primaryKey == null: primaryKey.equals(other.primaryKey))
+ && deploymentID.equals(other.deploymentID)
+ && getMainInterface().equals(other.getMainInterface());
}
protected abstract Object _invoke(Object proxy, Class interfce, Method method, Object[] args) throws Throwable;
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java Sat Aug 14 04:39:40 2010
@@ -58,8 +58,8 @@ public abstract class EjbHomeProxyHandle
REMOVE
}
- public EjbHomeProxyHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, null, interfaceType, interfaces);
+ public EjbHomeProxyHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, null, interfaceType, interfaces, mainInterface);
dispatchTable = new HashMap<String, MethodType>();
dispatchTable.put("create", MethodType.CREATE);
dispatchTable.put("getEJBMetaData", MethodType.META_DATA);
@@ -84,32 +84,32 @@ public abstract class EjbHomeProxyHandle
throw new IllegalStateException("A home reference must never be invalidated!");
}
- protected static EjbHomeProxyHandler createHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
+ protected static EjbHomeProxyHandler createHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
switch (deploymentInfo.getComponentType()) {
case STATEFUL:
- return new StatefulEjbHomeHandler(deploymentInfo, interfaceType, interfaces);
+ return new StatefulEjbHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
case STATELESS:
- return new StatelessEjbHomeHandler(deploymentInfo, interfaceType, interfaces);
+ return new StatelessEjbHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
case SINGLETON:
- return new SingletonEjbHomeHandler(deploymentInfo, interfaceType, interfaces);
+ return new SingletonEjbHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
case MANAGED:
- return new ManagedHomeHandler(deploymentInfo, interfaceType, interfaces);
+ return new ManagedHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
case CMP_ENTITY:
case BMP_ENTITY:
- return new EntityEjbHomeHandler(deploymentInfo, interfaceType, interfaces);
+ return new EntityEjbHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
default: throw new IllegalStateException("Component type does not support rpc interfaces: " + deploymentInfo.getComponentType());
}
}
public static Object createHomeProxy(DeploymentInfo deploymentInfo, InterfaceType interfaceType) {
- return createHomeProxy(deploymentInfo, interfaceType, null);
+ return createHomeProxy(deploymentInfo, interfaceType, null, interfaceType.isRemote()? deploymentInfo.getRemoteInterface(): deploymentInfo.getLocalInterface());
}
- public static Object createHomeProxy(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> objectInterfaces) {
+ public static Object createHomeProxy(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> objectInterfaces, Class mainInterface) {
if (!interfaceType.isHome()) throw new IllegalArgumentException("InterfaceType is not a Home type: " + interfaceType);
try {
- EjbHomeProxyHandler handler = createHomeHandler(deploymentInfo, interfaceType, objectInterfaces);
+ EjbHomeProxyHandler handler = createHomeHandler(deploymentInfo, interfaceType, objectInterfaces, mainInterface);
List<Class> proxyInterfaces = new ArrayList<Class>(2);
@@ -123,21 +123,19 @@ public abstract class EjbHomeProxyHandle
}
}
- public Object createProxy(Object primaryKey) {
+ public Object createProxy(Object primaryKey, Class mainInterface) {
try {
InterfaceType objectInterfaceType = this.interfaceType.getCounterpart();
- EjbObjectProxyHandler handler = newEjbObjectHandler(getDeploymentInfo(), primaryKey, objectInterfaceType, this.getInterfaces());
-
- List<Class> proxyInterfaces = new ArrayList<Class>(handler.getInterfaces().size() + 1);
-
- proxyInterfaces.addAll(handler.getInterfaces());
- proxyInterfaces.add(IntraVmProxy.class);
+ EjbObjectProxyHandler handler = newEjbObjectHandler(getDeploymentInfo(), primaryKey, objectInterfaceType, this.getInterfaces(), mainInterface);
if (InterfaceType.LOCALBEAN.equals(objectInterfaceType)) {
return LocalBeanProxyFactory.newProxyInstance(handler.getDeploymentInfo().getClassLoader(), handler.getDeploymentInfo().getBeanClass(), handler);
} else {
+ List<Class> proxyInterfaces = new ArrayList<Class>(handler.getInterfaces().size() + 1);
+ proxyInterfaces.addAll(handler.getInterfaces());
+ proxyInterfaces.add(IntraVmProxy.class);
return ProxyManager.newProxyInstance(proxyInterfaces.toArray(new Class[]{}), handler);
}
@@ -146,7 +144,7 @@ public abstract class EjbHomeProxyHandle
}
}
- protected abstract EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces);
+ protected abstract EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface);
protected Object _invoke(Object proxy, Class interfce, Method method, Object[] args) throws Throwable {
@@ -283,7 +281,7 @@ public abstract class EjbHomeProxyHandle
protected Object create(Class interfce, Method method, Object[] args, Object proxy) throws Throwable {
ProxyInfo proxyInfo = (ProxyInfo) container.invoke(deploymentID, interfaceType, interfce, method, args, null);
assert proxyInfo != null : "Container returned a null ProxyInfo: ContainerID=" + container.getContainerID();
- return createProxy(proxyInfo.getPrimaryKey());
+ return createProxy(proxyInfo.getPrimaryKey(), getMainInterface());
}
protected abstract Object findX(Class interfce, Method method, Object[] args, Object proxy) throws Throwable;
@@ -305,7 +303,10 @@ public abstract class EjbHomeProxyHandle
}
public org.apache.openejb.ProxyInfo getProxyInfo() {
- return new org.apache.openejb.ProxyInfo(getDeploymentInfo(), null, getDeploymentInfo().getInterfaces(interfaceType), interfaceType);
+ if (getMainInterface() == null) {
+ throw new IllegalStateException("no main interface");
+ }
+ return new org.apache.openejb.ProxyInfo(getDeploymentInfo(), null, getDeploymentInfo().getInterfaces(interfaceType), interfaceType, getMainInterface());
}
protected Object _writeReplace(Object proxy) throws ObjectStreamException {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java Sat Aug 14 04:39:40 2010
@@ -49,8 +49,8 @@ public abstract class EjbObjectProxyHand
}
- public EjbObjectProxyHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public EjbObjectProxyHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
public abstract Object getRegistryId();
@@ -170,7 +170,7 @@ public abstract class EjbObjectProxyHand
}
public org.apache.openejb.ProxyInfo getProxyInfo() {
- return new org.apache.openejb.ProxyInfo(getDeploymentInfo(), primaryKey, getInterfaces(), interfaceType);
+ return new org.apache.openejb.ProxyInfo(getDeploymentInfo(), primaryKey, getInterfaces(), interfaceType, getMainInterface());
}
protected Object _writeReplace(Object proxy) throws ObjectStreamException {
@@ -217,17 +217,15 @@ public abstract class EjbObjectProxyHand
return container.invoke(deploymentID, interfaceType, interfce, method, args, primaryKey);
}
- public static Object createProxy(DeploymentInfo deploymentInfo, Object primaryKey, InterfaceType interfaceType) {
-
-
- return createProxy(deploymentInfo, primaryKey, interfaceType, null);
+ public static Object createProxy(DeploymentInfo deploymentInfo, Object primaryKey, InterfaceType interfaceType, Class mainInterface) {
+ return createProxy(deploymentInfo, primaryKey, interfaceType, null, mainInterface);
}
- public static Object createProxy(DeploymentInfo deploymentInfo, Object primaryKey, InterfaceType interfaceType, List<Class> interfaces) {
+ public static Object createProxy(DeploymentInfo deploymentInfo, Object primaryKey, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
if (!interfaceType.isHome()){
interfaceType = interfaceType.getCounterpart();
}
- EjbHomeProxyHandler homeHandler = EjbHomeProxyHandler.createHomeHandler(deploymentInfo, interfaceType, interfaces);
- return homeHandler.createProxy(primaryKey);
+ EjbHomeProxyHandler homeHandler = EjbHomeProxyHandler.createHomeHandler(deploymentInfo, interfaceType, interfaces, mainInterface);
+ return homeHandler.createProxy(primaryKey, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java Sat Aug 14 04:39:40 2010
@@ -43,11 +43,11 @@ public class IntraVmServer implements or
}
public EJBObject getEJBObject(ProxyInfo pi) {
- return (EJBObject) EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces());
+ return (EJBObject) EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces(), pi.getInterface());
}
public Object getBusinessObject(ProxyInfo pi) {
- return EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces());
+ return EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces(), pi.getInterface());
}
public EJBHome getEJBHome(ProxyInfo pi) {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedHomeHandler.java Sat Aug 14 04:39:40 2010
@@ -30,12 +30,12 @@ import org.apache.openejb.util.proxy.Pro
public class ManagedHomeHandler extends EjbHomeProxyHandler {
- public ManagedHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, interfaceType, interfaces);
+ public ManagedHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, interfaceType, interfaces, mainInterface);
}
- public Object createProxy(Object primaryKey) {
- Object proxy = super.createProxy(primaryKey);
+ public Object createProxy(Object primaryKey, Class mainInterface) {
+ Object proxy = super.createProxy(primaryKey, mainInterface);
EjbObjectProxyHandler handler = null;
try {
@@ -62,8 +62,8 @@ public class ManagedHomeHandler extends
throw new RemoveException("Session objects are private resources and do not have primary keys");
}
- protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- return new ManagedObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces);
+ protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ return new ManagedObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedObjectHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedObjectHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedObjectHandler.java Sat Aug 14 04:39:40 2010
@@ -29,8 +29,8 @@ import java.io.Serializable;
public class ManagedObjectHandler extends EjbObjectProxyHandler {
- public ManagedObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public ManagedObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
public Object getRegistryId() {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbHomeHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbHomeHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbHomeHandler.java Sat Aug 14 04:39:40 2010
@@ -28,8 +28,8 @@ import org.apache.openejb.core.ivm.EjbOb
public class SingletonEjbHomeHandler extends EjbHomeProxyHandler {
- public SingletonEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, interfaceType, interfaces);
+ public SingletonEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, interfaceType, interfaces, mainInterface);
}
protected Object findX(Class interfce, Method method, Object[] args, Object proxy) throws Throwable {
@@ -45,8 +45,8 @@ public class SingletonEjbHomeHandler ext
return null;
}
- protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- return new SingletonEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces);
+ protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ return new SingletonEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbObjectHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbObjectHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonEjbObjectHandler.java Sat Aug 14 04:39:40 2010
@@ -19,6 +19,7 @@ package org.apache.openejb.core.singleto
import org.apache.openejb.Container;
import org.apache.openejb.InterfaceType;
import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.core.ivm.BaseEjbProxyHandler;
import org.apache.openejb.core.ivm.EjbObjectProxyHandler;
import org.apache.openejb.util.proxy.ProxyManager;
@@ -29,8 +30,8 @@ import java.util.List;
public class SingletonEjbObjectHandler extends EjbObjectProxyHandler {
public Object registryId;
- public SingletonEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public SingletonEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
public static Object createRegistryId(Object primKey, Object deployId, Container contnr) {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbHomeHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbHomeHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbHomeHandler.java Sat Aug 14 04:39:40 2010
@@ -30,12 +30,12 @@ import org.apache.openejb.util.proxy.Pro
public class StatefulEjbHomeHandler extends EjbHomeProxyHandler {
- public StatefulEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, interfaceType, interfaces);
+ public StatefulEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, interfaceType, interfaces, mainInterface);
}
- public Object createProxy(Object primaryKey) {
- Object proxy = super.createProxy(primaryKey);
+ public Object createProxy(Object primaryKey, Class mainInterface) {
+ Object proxy = super.createProxy(primaryKey, mainInterface);
EjbObjectProxyHandler handler = null;
try {
@@ -62,8 +62,8 @@ public class StatefulEjbHomeHandler exte
throw new RemoveException("Session objects are private resources and do not have primary keys");
}
- protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- return new StatefulEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces);
+ protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ return new StatefulEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbObjectHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbObjectHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulEjbObjectHandler.java Sat Aug 14 04:39:40 2010
@@ -29,8 +29,8 @@ import java.io.Serializable;
public class StatefulEjbObjectHandler extends EjbObjectProxyHandler {
- public StatefulEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public StatefulEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
public Object getRegistryId() {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbHomeHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbHomeHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbHomeHandler.java Sat Aug 14 04:39:40 2010
@@ -28,8 +28,8 @@ import org.apache.openejb.core.ivm.EjbOb
public class StatelessEjbHomeHandler extends EjbHomeProxyHandler {
- public StatelessEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, interfaceType, interfaces);
+ public StatelessEjbHomeHandler(DeploymentInfo deploymentInfo, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, interfaceType, interfaces, mainInterface);
}
protected Object findX(Class interfce, Method method, Object[] args, Object proxy) throws Throwable {
@@ -45,8 +45,8 @@ public class StatelessEjbHomeHandler ext
return null;
}
- protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- return new StatelessEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces);
+ protected EjbObjectProxyHandler newEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ return new StatelessEjbObjectHandler(getDeploymentInfo(), pk, interfaceType, interfaces, mainInterface);
}
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbObjectHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbObjectHandler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessEjbObjectHandler.java Sat Aug 14 04:39:40 2010
@@ -29,8 +29,8 @@ import java.util.List;
public class StatelessEjbObjectHandler extends EjbObjectProxyHandler {
public Object registryId;
- public StatelessEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces) {
- super(deploymentInfo, pk, interfaceType, interfaces);
+ public StatelessEjbObjectHandler(DeploymentInfo deploymentInfo, Object pk, InterfaceType interfaceType, List<Class> interfaces, Class mainInterface) {
+ super(deploymentInfo, pk, interfaceType, interfaces, mainInterface);
}
public static Object createRegistryId(Object primKey, Object deployId, Container contnr) {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java Sat Aug 14 04:39:40 2010
@@ -17,8 +17,8 @@
package org.apache.openejb.util.proxy;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Proxy;
public class LocalBeanProxyFactory {
@@ -39,4 +39,19 @@ public class LocalBeanProxyFactory {
}
}
+ public static InvocationHandler getInvocationHandler(Object proxy) {
+ try {
+ Field field = proxy.getClass().getDeclaredField("invocationHandler");
+ field.setAccessible(true);
+ try {
+ return (InvocationHandler) field.get(proxy);
+ } finally {
+ field.setAccessible(false);
+ }
+ } catch (NoSuchFieldException e) {
+ throw new IllegalArgumentException(e);
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyManager.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyManager.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/ProxyManager.java Sat Aug 14 04:39:40 2010
@@ -60,6 +60,9 @@ public class ProxyManager {
}
public static InvocationHandler getInvocationHandler(Object proxy) {
+ if (proxy.getClass().getName().endsWith("$LocalBeanProxy")) {
+ return LocalBeanProxyFactory.getInvocationHandler(proxy);
+ }
checkDefaultFactory();
return defaultFactory.getInvocationHandler(proxy);
}
Modified: openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBMetaDataImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBMetaDataImpl.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBMetaDataImpl.java (original)
+++ openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBMetaDataImpl.java Sat Aug 14 04:39:40 2010
@@ -51,6 +51,8 @@ public class EJBMetaDataImpl implements
protected final transient List<Class> businessClasses = new ArrayList<Class>();
+ protected transient Class mainInterface;
+
protected final transient Properties properties = new Properties();
protected transient Class keyClass;
@@ -99,7 +101,7 @@ public class EJBMetaDataImpl implements
this.deploymentID = deploymentID;
}
- public EJBMetaDataImpl(Class homeInterface, Class remoteInterface, Class primaryKeyClass, String typeOfBean, String deploymentID, int deploymentCode, InterfaceType interfaceType, List<Class> businessInterfaces) {
+ public EJBMetaDataImpl(Class homeInterface, Class remoteInterface, Class primaryKeyClass, String typeOfBean, String deploymentID, int deploymentCode, InterfaceType interfaceType, List<Class> businessInterfaces, Class mainInterface) {
this(homeInterface, remoteInterface, primaryKeyClass, typeOfBean, deploymentID, interfaceType, businessInterfaces);
this.deploymentCode = deploymentCode;
}
@@ -156,6 +158,10 @@ public class EJBMetaDataImpl implements
return businessClasses;
}
+ public Class getMainInterface() {
+ return mainInterface;
+ }
+
public Properties getProperties() {
return properties;
}
@@ -170,7 +176,7 @@ public class EJBMetaDataImpl implements
public void writeExternal(ObjectOutput out) throws IOException {
// write out the version of the serialized data for future use
- out.writeByte(2);
+ out.writeByte(3);
out.writeObject(homeClass);
out.writeObject(remoteClass);
@@ -186,7 +192,7 @@ public class EJBMetaDataImpl implements
if (businessClasses.size() >0){
out.writeObject(primaryKey);
}
-
+ out.writeObject(mainInterface);
out.writeByte(interfaceType.ordinal());
if (properties.size() == 0) {
@@ -221,7 +227,9 @@ public class EJBMetaDataImpl implements
if (businessClasses.size() > 0){
primaryKey = in.readObject();
}
-
+ if (version > 2) {
+ mainInterface = (Class) in.readObject();
+ }
if (version > 1) {
byte typeIndex = in.readByte();
interfaceType = InterfaceType.values()[typeIndex];
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java Sat Aug 14 04:39:40 2010
@@ -18,7 +18,6 @@ package org.apache.openejb.server.ejbd;
import java.net.URI;
import java.util.Properties;
-import java.util.Map;
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.ProxyInfo;
@@ -144,7 +143,10 @@ class ClientObjectFactory implements org
deployment.getPrimaryKeyClass(),
deployment.getComponentType().toString(),
deployment.getDeploymentID().toString(),
- idCode, convert(info.getInterfaceType()), info.getInterfaces());
+ idCode,
+ convert(info.getInterfaceType()),
+ info.getInterfaces(),
+ info.getInterface());
eMetaData.loadProperties(deployment.getProperties());
Object primKey = info.getPrimaryKey();
@@ -194,7 +196,10 @@ class ClientObjectFactory implements org
deployment.getPrimaryKeyClass(),
deployment.getComponentType().toString(),
deployment.getDeploymentID().toString(),
- idCode, convert(info.getInterfaceType()), null);
+ idCode,
+ convert(info.getInterfaceType()),
+ info.getInterfaces(),
+ info.getInterface());
eMetaData.loadProperties(deployment.getProperties());
return eMetaData;
}
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Sat Aug 14 04:39:40 2010
@@ -54,7 +54,6 @@ import org.apache.openejb.client.Request
import org.apache.openejb.client.ResponseCodes;
import org.apache.openejb.client.ThrowableArtifact;
import org.apache.openejb.client.WsMetaData;
-import org.apache.openejb.client.InterfaceType;
import org.apache.openejb.core.ivm.BaseEjbProxyHandler;
import org.apache.openejb.core.ivm.naming.IvmContext;
import org.apache.openejb.core.webservices.HandlerChainData;
@@ -378,7 +377,10 @@ class JndiRequestHandler {
deployment.getPrimaryKeyClass(),
deployment.getComponentType().toString(),
deploymentID,
- -1, convert(proxyInfo.getInterfaceType()), null);
+ -1,
+ convert(proxyInfo.getInterfaceType()),
+ null,
+ proxyInfo.getInterface());
metaData.loadProperties(deployment.getProperties());
res.setResult(metaData);
@@ -397,7 +399,10 @@ class JndiRequestHandler {
deployment.getPrimaryKeyClass(),
deployment.getComponentType().toString(),
deploymentID,
- -1, convert(proxyInfo.getInterfaceType()), proxyInfo.getInterfaces());
+ -1,
+ convert(proxyInfo.getInterfaceType()),
+ proxyInfo.getInterfaces(),
+ proxyInfo.getInterface());
metaData.setPrimaryKey(proxyInfo.getPrimaryKey());
metaData.loadProperties(deployment.getProperties());
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java Sat Aug 14 04:39:40 2010
@@ -55,7 +55,7 @@ public class ServerSideResolver implemen
ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
DeploymentInfo deploymentInfo = containerSystem.getDeploymentInfo(ejb.getDeploymentID());
- return EjbHomeProxyHandler.createHomeProxy(deploymentInfo, interfaceType, interfaces);
+ return EjbHomeProxyHandler.createHomeProxy(deploymentInfo, interfaceType, interfaces, ejb.getMainInterface());
} catch (Exception e) {
logger.error("ServerSideResolver.resolve() failed, falling back to ClientSideResolver: "+e.getClass().getName()+": "+e.getMessage(), e );
return new EJBHomeProxyHandle.ClientSideResovler().resolve(handler);
@@ -78,7 +78,7 @@ public class ServerSideResolver implemen
ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
DeploymentInfo deploymentInfo = containerSystem.getDeploymentInfo(ejb.getDeploymentID());
- return EjbObjectProxyHandler.createProxy(deploymentInfo, handler.getPrimaryKey(), interfaceType, interfaces);
+ return EjbObjectProxyHandler.createProxy(deploymentInfo, handler.getPrimaryKey(), interfaceType, interfaces, ejb.getMainInterface());
} catch (Exception e) {
logger.error("ServerSideResolver.resolve() failed, falling back to ClientSideResolver: "+e.getClass().getName()+": "+e.getMessage(), e );
return new EJBObjectProxyHandle.ClientSideResovler().resolve(handler);
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java?rev=985428&r1=985427&r2=985428&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java Sat Aug 14 04:39:40 2010
@@ -46,7 +46,7 @@ public class DeploymentIndexTest {
@Test
public void testGetDeploymentEJBRequest() throws RemoteException {
- EJBMetaDataImpl ejbMetadataWithId = new EJBMetaDataImpl(null, null, null, null, null, 1, InterfaceType.BUSINESS_REMOTE, null);
+ EJBMetaDataImpl ejbMetadataWithId = new EJBMetaDataImpl(null, null, null, null, null, 1, InterfaceType.BUSINESS_REMOTE, null, null);
EJBRequest request = new EJBRequest(0, ejbMetadataWithId, method, null, null);
DeploymentInfo info = deploymentIndex.getDeployment(request);
assert deploymentInfo.equals(info);
@@ -56,7 +56,7 @@ public class DeploymentIndexTest {
@Test(expected = RemoteException.class)
public void testGetDeploymentEJBRequestRemoteException() throws RemoteException {
// 0 causes DeploymentIndex to move further
- EJBMetaDataImpl ejbMetadata = new EJBMetaDataImpl(null, null, null, null, null, 0, InterfaceType.BUSINESS_REMOTE, null);
+ EJBMetaDataImpl ejbMetadata = new EJBMetaDataImpl(null, null, null, null, null, 0, InterfaceType.BUSINESS_REMOTE, null, null);
EJBRequest request = new EJBRequest(0, ejbMetadata, method, null, null);
deploymentIndex.getDeployment(request);
}