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);
  
  
  

Reply via email to