djencks 2005/03/15 00:27:07
Modified: modules/core/src/java/org/openejb/corba/util
UtilDelegateImpl.java
Log:
Make transaction policy mapping more generic and implement the
no-distributed-transactions corba tx propagation polices. CORBA operation name
to method signature mapping is not yet really implemented
Revision Changes Path
1.5 +9 -4
openejb/modules/core/src/java/org/openejb/corba/util/UtilDelegateImpl.java
Index: UtilDelegateImpl.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/util/UtilDelegateImpl.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- UtilDelegateImpl.java 13 Mar 2005 03:29:03 -0000 1.4
+++ UtilDelegateImpl.java 15 Mar 2005 05:27:07 -0000 1.5
@@ -74,6 +74,7 @@
import org.openejb.corba.AdapterWrapper;
import org.openejb.corba.CORBAException;
+import org.openejb.corba.RefGenerator;
import org.openejb.proxy.BaseEJB;
import org.openejb.proxy.EJBHomeImpl;
import org.openejb.proxy.EJBObjectImpl;
@@ -233,10 +234,14 @@
ProxyInfo pi = proxy.getProxyInfo();
try {
+ RefGenerator refGenerator =
AdapterWrapper.getRefGenerator(pi.getContainerID());
+ if (refGenerator == null) {
+ throw new MARSHAL("Could not find RefGenerator for container
ID: " + pi.getContainerID());
+ }
if (proxy instanceof EJBHomeImpl) {
- return
AdapterWrapper.getRefGenerator(pi.getContainerID()).genHomeReference(pi);
+ return refGenerator.genHomeReference(pi);
} else if (proxy instanceof EJBObjectImpl) {
- return
AdapterWrapper.getRefGenerator(pi.getContainerID()).genObjectReference(pi);
+ return refGenerator.genObjectReference(pi);
} else {
log.error("Encountered unknown local invocation handler of
type " + proxy.getClass().getSuperclass() + ":" + pi);
throw new MARSHAL("Internal server error while marshaling
the reply", 0, CompletionStatus.COMPLETED_YES);