You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/05/02 19:29:38 UTC
svn commit: r534559 - in /incubator/openejb/trunk/openejb3:
container/openejb-core/src/main/java/org/apache/openejb/core/
container/openejb-core/src/main/java/org/apache/openejb/core/cmp/
container/openejb-core/src/main/java/org/apache/openejb/core/ent...
Author: dblevins
Date: Wed May 2 10:29:36 2007
New Revision: 534559
URL: http://svn.apache.org/viewvc?view=rev&rev=534559
Log:
Weave the 'called interface' through the protocol. Fixed proxy replacement code to handle business interfaces directly.
Completely compliant SessionContext lookup, getInvokedBusinessInterface, and getBusinessObject methods
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ServerFederation.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ThreadContext.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/ApplicationServer.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectProxyHandle.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java
incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java
incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java
incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java Wed May 2 10:29:36 2007
@@ -28,6 +28,7 @@
import javax.ejb.TimerService;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import javax.naming.Context;
import javax.transaction.Status;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
@@ -115,11 +116,27 @@
}
public Object lookup(String name) {
+ ThreadContext threadContext = ThreadContext.getThreadContext();
+ CoreDeploymentInfo deploymentInfo = threadContext.getDeploymentInfo();
+ Context jndiEnc = deploymentInfo.getJndiEnc();
try {
- return (new InitialContext()).lookup("java:comp/env/" + name);
- } catch (NamingException ne) {
- throw new IllegalArgumentException(ne);
+ jndiEnc = (Context) jndiEnc.lookup("java:comp/env");
+ return jndiEnc.lookup(name);
+ } catch (NamingException e) {
+ throw new IllegalArgumentException(e);
+ } catch (RuntimeException e) {
+ throw new IllegalArgumentException(e);
}
+
+// try {
+// InitialContext initialContext = new InitialContext();
+// Context ctx = (Context) initialContext.lookup("java:comp/env");
+// return ctx.lookup(name);
+// } catch (NamingException e) {
+// throw new IllegalArgumentException(e);
+// } catch (RuntimeException e) {
+// throw new IllegalArgumentException(e);
+// }
}
public boolean isUserTransactionAccessAllowed() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BaseSessionContext.java Wed May 2 10:29:36 2007
@@ -109,6 +109,8 @@
}
public Object getBusinessObject(Class interfce) {
+ if (interfce == null) throw new IllegalStateException("Interface argument cannot me null.");
+
ThreadContext threadContext = ThreadContext.getThreadContext();
DeploymentInfo di = threadContext.getDeploymentInfo();
@@ -116,7 +118,7 @@
InterfaceType interfaceType = di.getInterfaceType(interfce);
if (interfaceType == null){
- throw new IllegalArgumentException("Component has no such interface: " + interfce.getName());
+ throw new IllegalStateException("Component has no such interface: " + interfce.getName());
}
if (!interfaceType.isBusiness()) {
@@ -148,12 +150,14 @@
public Class getInvokedBusinessInterface() {
ThreadContext threadContext = ThreadContext.getThreadContext();
- DeploymentInfo di = threadContext.getDeploymentInfo();
- Class methodClass = threadContext.get(Method.class).getDeclaringClass();
+ Class invokedInterface = threadContext.getInvokedInterface();
+ InterfaceType type = threadContext.getDeploymentInfo().getInterfaceType(invokedInterface);
+ if (!type.isBusiness()) throw new IllegalStateException("The EJB spec requires us to cripple the use of this method for anything but business interface proxy. But FYI, your invoked interface is: "+invokedInterface.getName());
- if (di.getBusinessLocalInterface() != null && di.getBusinessLocalInterface().isAssignableFrom(methodClass)) return di.getBusinessLocalInterface();
- else if (di.getBusinessRemoteInterface() != null && di.getBusinessRemoteInterface().isAssignableFrom(methodClass)) return di.getBusinessRemoteInterface();
- else throw new InternalErrorException("Should have found some business interface");
+ if (invokedInterface == null){
+ throw new IllegalStateException("Business interface not set into ThreadContext.");
+ }
+ return invokedInterface;
}
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ServerFederation.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ServerFederation.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ServerFederation.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ServerFederation.java Wed May 2 10:29:36 2007
@@ -52,6 +52,10 @@
return getApplicationServer().getEJBHome(proxyInfo);
}
+ public Object getBusinessObject(ProxyInfo proxyInfo) {
+ return getApplicationServer().getBusinessObject(proxyInfo);
+ }
+
public static void setApplicationServer(ApplicationServer server) {
// todo why do we restrict null? This makes call to setApplicationServer non symetrical. Throw an exception?
if (server != null) {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ThreadContext.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ThreadContext.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ThreadContext.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ThreadContext.java Wed May 2 10:29:36 2007
@@ -95,6 +95,7 @@
private ClassLoader oldClassLoader;
private Operation currentOperation;
private BaseContext.State[] currentAllowedStates;
+ private Class invokedInterface;
public ThreadContext(CoreDeploymentInfo deploymentInfo, Object primaryKey) {
this(deploymentInfo, primaryKey, null);
@@ -130,6 +131,14 @@
public void setCurrentOperation(Operation operation) {
currentOperation = operation;
+ }
+
+ public Class getInvokedInterface() {
+ return invokedInterface;
+ }
+
+ public void setInvokedInterface(Class invokedInterface) {
+ this.invokedInterface = invokedInterface;
}
public BaseContext.State[] getCurrentAllowedStates() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java Wed May 2 10:29:36 2007
@@ -268,7 +268,7 @@
ThreadContext oldCallContext = ThreadContext.enter(callContext);
try {
- boolean authorized = securityService.isCallerAuthorized(callMethod, null);
+ boolean authorized = securityService.isCallerAuthorized(callMethod, deployInfo.getInterfaceType(callInterface));
if (!authorized) {
throw new ApplicationException(new EJBAccessException("Unauthorized Access by Principal Denied"));
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java Wed May 2 10:29:36 2007
@@ -146,7 +146,7 @@
ThreadContext callContext = new ThreadContext(deployInfo, primKey);
ThreadContext oldCallContext = ThreadContext.enter(callContext);
try {
- boolean authorized = getSecurityService().isCallerAuthorized(callMethod, null);
+ boolean authorized = getSecurityService().isCallerAuthorized(callMethod, deployInfo.getInterfaceType(callInterface));
if (!authorized)
throw new org.apache.openejb.ApplicationException(new EJBAccessException("Unauthorized Access by Principal Denied"));
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java Wed May 2 10:29:36 2007
@@ -192,7 +192,11 @@
*/
} else {
ApplicationServer applicationServer = ServerFederation.getApplicationServer();
- return applicationServer.getEJBObject(this.getProxyInfo());
+ if (interfaceType.isBusiness()){
+ return applicationServer.getBusinessObject(this.getProxyInfo());
+ } else {
+ return applicationServer.getEJBObject(this.getProxyInfo());
+ }
}
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/IntraVmServer.java Wed May 2 10:29:36 2007
@@ -46,7 +46,12 @@
return (EJBObject) EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces());
}
+ public Object getBusinessObject(ProxyInfo pi) {
+ return EjbObjectProxyHandler.createProxy(pi.getDeploymentInfo(), pi.getPrimaryKey(), pi.getInterfaceType(), pi.getInterfaces());
+ }
+
public EJBHome getEJBHome(ProxyInfo pi) {
return (EJBHome) EjbHomeProxyHandler.createHomeProxy(pi.getDeploymentInfo(), pi.getInterfaceType());
}
+
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java Wed May 2 10:29:36 2007
@@ -235,18 +235,18 @@
switch (methodType) {
case CREATE:
- ProxyInfo proxyInfo = createEJBObject(deployInfo, callMethod, args);
+ ProxyInfo proxyInfo = createEJBObject(deployInfo, callInterface, callMethod, args);
return proxyInfo;
case REMOVE:
- removeEJBObject(deployInfo, primKey, callMethod, args);
+ removeEJBObject(deployInfo, primKey, callInterface, callMethod, args);
return null;
default:
- Object value = businessMethod(deployInfo, primKey, callMethod, args);
+ Object value = businessMethod(deployInfo, primKey, callInterface, callMethod, args);
return value;
}
}
- protected ProxyInfo createEJBObject(CoreDeploymentInfo deploymentInfo, Method callMethod, Object [] args) throws OpenEJBException {
+ protected ProxyInfo createEJBObject(CoreDeploymentInfo deploymentInfo, Class callInterface, Method callMethod, Object [] args) throws OpenEJBException {
// generate a new primary key
Object primaryKey = newPrimaryKey();
@@ -257,7 +257,7 @@
ThreadContext oldCallContext = ThreadContext.enter(createContext);
try {
- checkAuthorization(deploymentInfo, callMethod);
+ checkAuthorization(deploymentInfo, callMethod, callInterface);
// create the extended entity managers
Index<EntityManagerFactory, EntityManager> entityManagers = createEntityManagers(deploymentInfo);
@@ -289,11 +289,11 @@
return new VMID();
}
- protected void removeEJBObject(CoreDeploymentInfo deploymentInfo, Object primKey, Method callMethod, Object[] args) throws OpenEJBException {
+ protected void removeEJBObject(CoreDeploymentInfo deploymentInfo, Object primKey, Class callInterface, Method callMethod, Object[] args) throws OpenEJBException {
ThreadContext callContext = new ThreadContext(deploymentInfo, primKey);
ThreadContext oldCallContext = ThreadContext.enter(callContext);
try {
- checkAuthorization(deploymentInfo, callMethod);
+ checkAuthorization(deploymentInfo, callMethod, callInterface);
Method runMethod = deploymentInfo.getMatchingBeanMethod(callMethod);
StatefulInstanceManager.Instance instance = (StatefulInstanceManager.Instance) instanceManager.obtainInstance(primKey, callContext);
@@ -301,9 +301,9 @@
boolean retain = false;
try {
- callContext.setCurrentAllowedStates(StatefulContext.getStates());
-
+ callContext.setCurrentAllowedStates(StatefulContext.getStates());
callContext.setCurrentOperation(Operation.REMOVE);
+ callContext.setInvokedInterface(callInterface);
Class<?> declaringClass = callMethod.getDeclaringClass();
if (declaringClass.equals(EJBHome.class) || declaringClass.equals(EJBLocalHome.class)){
@@ -349,15 +349,16 @@
}
}
- private Object businessMethod(CoreDeploymentInfo deploymentInfo, Object primKey, Method callMethod, Object[] args) throws OpenEJBException {
+ private Object businessMethod(CoreDeploymentInfo deploymentInfo, Object primKey, Class callInterface, Method callMethod, Object[] args) throws OpenEJBException {
ThreadContext callContext = new ThreadContext(deploymentInfo, primKey);
ThreadContext oldCallContext = ThreadContext.enter(callContext);
try {
- checkAuthorization(deploymentInfo, callMethod);
+ checkAuthorization(deploymentInfo, callMethod, callInterface);
Object bean = instanceManager.obtainInstance(primKey, callContext);
callContext.setCurrentOperation(Operation.BUSINESS);
callContext.setCurrentAllowedStates(StatefulContext.getStates());
+ callContext.setInvokedInterface(callInterface);
Method runMethod = deploymentInfo.getMatchingBeanMethod(callMethod);
callContext.set(Method.class, runMethod);
@@ -376,8 +377,8 @@
}
}
- private void checkAuthorization(CoreDeploymentInfo deployInfo, Method callMethod) throws ApplicationException {
- boolean authorized = securityService.isCallerAuthorized(callMethod, null);
+ private void checkAuthorization(CoreDeploymentInfo deployInfo, Method callMethod, Class callInterface) throws ApplicationException {
+ boolean authorized = securityService.isCallerAuthorized(callMethod, deployInfo.getInterfaceType(callInterface));
if (!authorized) {
throw new ApplicationException(new EJBAccessException("Unauthorized Access by Principal Denied"));
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java Wed May 2 10:29:36 2007
@@ -138,7 +138,7 @@
ThreadContext callContext = new ThreadContext(deployInfo, primKey);
ThreadContext oldCallContext = ThreadContext.enter(callContext);
try {
- boolean authorized = getSecurityService().isCallerAuthorized(callMethod, null);
+ boolean authorized = getSecurityService().isCallerAuthorized(callMethod, deployInfo.getInterfaceType(callInterface));
if (!authorized)
throw new org.apache.openejb.ApplicationException(new EJBAccessException("Unauthorized Access by Principal Denied"));
@@ -160,7 +160,7 @@
Method runMethod = deployInfo.getMatchingBeanMethod(callMethod);
callContext.set(Method.class, runMethod);
-
+ callContext.setInvokedInterface(callInterface);
Object retValue = _invoke(callMethod, runMethod, args, bean, callContext);
instanceManager.poolInstance(callContext, bean);
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/ApplicationServer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/ApplicationServer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/ApplicationServer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/ApplicationServer.java Wed May 2 10:29:36 2007
@@ -86,6 +86,8 @@
public EJBObject getEJBObject(ProxyInfo proxyInfo);
+ public Object getBusinessObject(ProxyInfo proxyInfo);
+
public EJBHome getEJBHome(ProxyInfo proxyInfo);
}
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java Wed May 2 10:29:36 2007
@@ -176,12 +176,7 @@
}
public Object homeMethod(Method method, Object[] args, Object proxy) throws Throwable {
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_METHOD);
-
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setMethodInstance(method);
- req.setMethodParameters(args);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_METHOD, ejb, method, args, null);
EJBResponse res = request(req);
@@ -205,12 +200,7 @@
/*-------------------------------------------------*/
protected Object create(Method method, Object[] args, Object proxy) throws Throwable {
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_CREATE);
-
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setMethodInstance(method);
- req.setMethodParameters(args);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_CREATE, ejb, method, args, null);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java Wed May 2 10:29:36 2007
@@ -205,13 +205,7 @@
// checkAuthorization(method);
// return container.invoke(deploymentID, method, args, primaryKey, getThreadSpecificSecurityIdentity());
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD);
-
- req.setMethodParameters(args);
- req.setMethodInstance(method);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setPrimaryKey(primaryKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD, ejb, method, args, primaryKey);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectProxyHandle.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectProxyHandle.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectProxyHandle.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectProxyHandle.java Wed May 2 10:29:36 2007
@@ -37,13 +37,8 @@
handler.client.writeExternal(out);
- EJBMetaDataImpl ejb = handler.ejb;
- out.writeObject(ejb.homeClass);
- out.writeObject(ejb.remoteClass);
- out.writeObject(ejb.keyClass);
- out.writeByte(ejb.type);
- out.writeUTF(ejb.deploymentID);
- out.writeShort(ejb.deploymentCode);
+ handler.ejb.writeExternal(out);
+
handler.server.writeExternal(out);
out.writeObject(handler.primaryKey);
}
@@ -55,14 +50,10 @@
client.readExternal(in);
- ejb.homeClass = (Class) in.readObject();
- ejb.remoteClass = (Class) in.readObject();
- ejb.keyClass = (Class) in.readObject();
- ejb.type = in.readByte();
- ejb.deploymentID = in.readUTF();
- ejb.deploymentCode = in.readShort();
+ ejb.readExternal(in);
server.readExternal(in);
+
Object primaryKey = in.readObject();
handler = EJBObjectHandler.createEJBObjectHandler(ejb, server, client, primaryKey);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java Wed May 2 10:29:36 2007
@@ -24,7 +24,6 @@
import java.rmi.Remote;
import javax.naming.Context;
import javax.naming.InitialContext;
-import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.rmi.CORBA.Tie;
import javax.rmi.CORBA.Stub;
@@ -46,16 +45,22 @@
public static final int ENTITY_CM_PERSISTENCE = 9;
public EJBRequest() {
- body = new Body();
+ body = new Body(null);
}
- public EJBRequest(int requestMethod) {
- body = new Body();
+ public EJBRequest(int requestMethod, EJBMetaDataImpl ejb, Method method, Object[] args, Object primaryKey) {
+ body = new Body(ejb);
+
this.requestMethod = requestMethod;
+ setDeploymentCode(ejb.deploymentCode);
+ setDeploymentId(ejb.deploymentID);
+ setMethodInstance(method);
+ setMethodParameters(args);
+ setPrimaryKey(primaryKey);
}
- public Class getMethodClass() {
- return body.getMethodClass();
+ public Class getInterfaceClass() {
+ return body.getInterfaceClass();
}
public Method getMethodInstance() {
@@ -99,14 +104,20 @@
}
public static class Body implements java.io.Externalizable {
+ private transient EJBMetaDataImpl ejb;
private transient ORB orb;
private transient Method methodInstance;
- private transient Class methodClass;
+ private transient Class interfaceClass;
+// private transient Class methodClass;
private transient String methodName;
private transient Class[] methodParamTypes;
private transient Object[] methodParameters;
private transient Object primaryKey;
+ public Body(EJBMetaDataImpl ejb) {
+ this.ejb = ejb;
+ }
+
public Method getMethodInstance() {
return methodInstance;
}
@@ -119,8 +130,8 @@
return primaryKey;
}
- public Class getMethodClass() {
- return methodClass;
+ public Class getInterfaceClass() {
+ return interfaceClass;
}
public String getMethodName() {
@@ -133,9 +144,30 @@
public void setMethodInstance(Method methodInstance) {
this.methodInstance = methodInstance;
- this.methodClass = methodInstance.getDeclaringClass();
this.methodName = methodInstance.getName();
this.methodParamTypes = methodInstance.getParameterTypes();
+ Class methodClass = methodInstance.getDeclaringClass();
+
+ if (ejb.homeClass != null) {
+ if (methodClass.isAssignableFrom(ejb.homeClass)){
+ this.interfaceClass = ejb.homeClass;
+ return;
+ }
+ }
+
+ if (ejb.remoteClass != null) {
+ if (methodClass.isAssignableFrom(ejb.remoteClass)){
+ this.interfaceClass = ejb.remoteClass;
+ return;
+ }
+ }
+
+ for (Class businessClass : ejb.businessClasses) {
+ if (methodClass.isAssignableFrom(businessClass)){
+ this.interfaceClass = businessClass;
+ return;
+ }
+ }
}
public void setMethodParameters(Object[] methodParameters) {
@@ -149,12 +181,13 @@
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
ClassNotFoundException result = null;
primaryKey = null;
- methodClass = null;
+// methodClass = null;
methodName = null;
methodInstance = null;
try {
primaryKey = in.readObject();
- methodClass = (Class) in.readObject();
+ interfaceClass = (Class) in.readObject();
+// methodClass = (Class) in.readObject();
} catch (ClassNotFoundException cnfe) {
if (result == null) result = cnfe;
}
@@ -166,9 +199,9 @@
if (result == null) result = cnfe;
}
- if (methodClass != null) {
+ if (interfaceClass != null) {
try {
- methodInstance = methodClass.getDeclaredMethod(methodName, methodParamTypes);
+ methodInstance = interfaceClass.getMethod(methodName, methodParamTypes);
} catch (NoSuchMethodException nsme) {
//if (result == null) result = nsme;
}
@@ -180,7 +213,8 @@
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(primaryKey);
- out.writeObject(methodClass);
+ out.writeObject(interfaceClass);
+// out.writeObject(methodClass);
out.writeUTF(methodName);
writeMethodParameters(out, methodParamTypes, methodParameters);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java Wed May 2 10:29:36 2007
@@ -32,12 +32,7 @@
}
protected Object findX(Method method, Object[] args, Object proxy) throws Throwable {
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_FIND);
-
- req.setMethodParameters(args);
- req.setMethodInstance(method);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_FIND, ejb, method, args, null);
EJBResponse res = request(req);
@@ -103,13 +98,7 @@
if (primKey == null) throw new NullPointerException("The primary key is null.");
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY);
-
- req.setMethodParameters(args);
- req.setMethodInstance(method);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setPrimaryKey(primKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY, ejb, method, args, primKey);
EJBResponse res = request(req);
@@ -139,13 +128,7 @@
Object primKey = ejbObject.getPrimaryKey();
if (primKey == null) throw new NullPointerException("The handle.getEJBObject().getPrimaryKey() is null.");
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE);
-
- req.setMethodParameters(args);
- req.setMethodInstance(method);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setPrimaryKey(primKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java Wed May 2 10:29:36 2007
@@ -58,13 +58,7 @@
protected Object remove(Method method, Object[] args, Object proxy) throws Throwable {
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE);
-
- req.setMethodParameters(args);
- req.setMethodInstance(method);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setPrimaryKey(primaryKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java Wed May 2 10:29:36 2007
@@ -51,12 +51,7 @@
throw new SystemException(new IllegalArgumentException("The handle is not from the same deployment"));
}
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE);
- req.setDeploymentCode(handler.ejb.deploymentCode);
- req.setDeploymentId(handler.ejb.deploymentID);
- req.setMethodInstance(method);
- req.setMethodParameters(args);
- req.setPrimaryKey(primKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java Wed May 2 10:29:36 2007
@@ -56,12 +56,7 @@
protected Object remove(Method method, Object[] args, Object proxy) throws Throwable {
- EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE);
- req.setDeploymentCode(ejb.deploymentCode);
- req.setDeploymentId(ejb.deploymentID);
- req.setMethodInstance(method);
- req.setMethodParameters(args);
- req.setPrimaryKey(primaryKey);
+ EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
EJBResponse res = request(req);
Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java Wed May 2 10:29:36 2007
@@ -46,30 +46,6 @@
public javax.ejb.EJBMetaData getEJBMetaData(ProxyInfo info) {
CallContext call = CallContext.getCallContext();
- return _getEJBMetaData(call, info);
- }
-
- public javax.ejb.Handle getHandle(ProxyInfo info) {
- CallContext call = CallContext.getCallContext();
- return _getHandle(call, info);
- }
-
- public javax.ejb.HomeHandle getHomeHandle(ProxyInfo info) {
- CallContext call = CallContext.getCallContext();
- return _getHomeHandle(call, info);
- }
-
- public javax.ejb.EJBObject getEJBObject(ProxyInfo info) {
- CallContext call = CallContext.getCallContext();
- return _getEJBObject(call, info);
- }
-
- public javax.ejb.EJBHome getEJBHome(ProxyInfo info) {
- CallContext call = CallContext.getCallContext();
- return _getEJBHome(call, info);
- }
-
- protected javax.ejb.EJBMetaData _getEJBMetaData(CallContext call, ProxyInfo info) {
DeploymentInfo deployment = info.getDeploymentInfo();
int idCode = -1;
@@ -83,7 +59,8 @@
return metaData;
}
- protected javax.ejb.Handle _getHandle(CallContext call, ProxyInfo info) {
+ public javax.ejb.Handle getHandle(ProxyInfo info) {
+ CallContext call = CallContext.getCallContext();
DeploymentInfo deployment = info.getDeploymentInfo();
int idCode = -1;
@@ -108,7 +85,8 @@
return new EJBObjectHandle(hanlder.createEJBObjectProxy());
}
- protected javax.ejb.HomeHandle _getHomeHandle(CallContext call, ProxyInfo info) {
+ public javax.ejb.HomeHandle getHomeHandle(ProxyInfo info) {
+ CallContext call = CallContext.getCallContext();
DeploymentInfo deployment = info.getDeploymentInfo();
int idCode = -1;
@@ -132,7 +110,8 @@
return new EJBHomeHandle(hanlder.createEJBHomeProxy());
}
- protected javax.ejb.EJBObject _getEJBObject(CallContext call, ProxyInfo info) {
+ public javax.ejb.EJBObject getEJBObject(ProxyInfo info) {
+ CallContext call = CallContext.getCallContext();
DeploymentInfo deployment = info.getDeploymentInfo();
int idCode = -1;
@@ -157,7 +136,33 @@
return (javax.ejb.EJBObject) hanlder.createEJBObjectProxy();
}
- protected javax.ejb.EJBHome _getEJBHome(CallContext call, ProxyInfo info) {
+ public Object getBusinessObject(ProxyInfo info) {
+ CallContext call = CallContext.getCallContext();
+ DeploymentInfo deployment = info.getDeploymentInfo();
+
+ int idCode = -1;
+
+ Object securityIdentity = null;
+ try {
+ securityIdentity = call.getEJBRequest().getClientIdentity();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ ClientMetaData cMetaData = new ClientMetaData(securityIdentity);
+ EJBMetaDataImpl eMetaData = new EJBMetaDataImpl(null, null,
+ deployment.getPrimaryKeyClass(),
+ deployment.getComponentType().toString(),
+ deployment.getDeploymentID().toString(),
+ idCode, info.getInterfaces());
+ Object primKey = info.getPrimaryKey();
+
+ EJBObjectHandler hanlder = EJBObjectHandler.createEJBObjectHandler(eMetaData, sMetaData, cMetaData, primKey);
+
+ return hanlder.createEJBObjectProxy();
+ }
+
+ public javax.ejb.EJBHome getEJBHome(ProxyInfo info) {
+ CallContext call = CallContext.getCallContext();
DeploymentInfo deployment = info.getDeploymentInfo();
int idCode = -1;
@@ -180,4 +185,5 @@
return hanlder.createEJBHomeProxy();
}
+
}
Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java Wed May 2 10:29:36 2007
@@ -173,6 +173,10 @@
return clientObjectFactory.getEJBObject(info);
}
+ public Object getBusinessObject(ProxyInfo info) {
+ return clientObjectFactory.getBusinessObject(info);
+ }
+
public javax.ejb.EJBHome getEJBHome(ProxyInfo info) {
return clientObjectFactory.getEJBHome(info);
}
Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java Wed May 2 10:29:36 2007
@@ -22,8 +22,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import javax.ejb.EJBAccessException;
-
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.ProxyInfo;
import org.apache.openejb.RpcContainer;
@@ -194,7 +192,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -208,7 +206,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -222,7 +220,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -244,7 +242,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -320,7 +318,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -342,7 +340,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -356,7 +354,7 @@
RpcContainer c = (RpcContainer) call.getDeploymentInfo().getContainer();
Object result = c.invoke(req.getDeploymentId(),
- req.getMethodClass(), req.getMethodInstance(),
+ req.getInterfaceClass(), req.getMethodInstance(),
req.getMethodParameters(),
req.getPrimaryKey()
);
@@ -365,17 +363,17 @@
}
protected void checkMethodAuthorization(EJBRequest req, EJBResponse res) throws Exception {
-
- SecurityService sec = SystemInstance.get().getComponent(SecurityService.class);
- CallContext caller = CallContext.getCallContext();
- DeploymentInfo di = caller.getDeploymentInfo();
-
- if (sec.isCallerAuthorized(req.getMethodInstance(), null)) {
- res.setResponse(ResponseCodes.EJB_OK, null);
- } else {
- this.daemon.logger.info(req + "Unauthorized Access by Principal Denied");
- res.setResponse(ResponseCodes.EJB_APP_EXCEPTION, new ThrowableArtifact(new EJBAccessException("Unauthorized Access by Principal Denied")));
- }
+ res.setResponse(ResponseCodes.EJB_OK, null);
+// SecurityService sec = SystemInstance.get().getComponent(SecurityService.class);
+// CallContext caller = CallContext.getCallContext();
+// DeploymentInfo di = caller.getDeploymentInfo();
+//
+// if (sec.isCallerAuthorized(req.getMethodInstance(), null)) {
+// res.setResponse(ResponseCodes.EJB_OK, null);
+// } else {
+// this.daemon.logger.info(req + "Unauthorized Access by Principal Denied");
+// res.setResponse(ResponseCodes.EJB_APP_EXCEPTION, new ThrowableArtifact(new EJBAccessException("Unauthorized Access by Principal Denied")));
+// }
}
private void replyWithFatalError(ObjectOutputStream out, Throwable error, String message) {
Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java?view=diff&rev=534559&r1=534558&r2=534559
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java Wed May 2 10:29:36 2007
@@ -85,6 +85,10 @@
return server.getEJBObject(info);
}
+ public Object getBusinessObject(ProxyInfo info) {
+ return server.getBusinessObject(info);
+ }
+
public EJBHome getEJBHome(ProxyInfo info) {
return server.getEJBHome(info);
}