djencks     2005/03/15 00:27:01

  Modified:    modules/core/src/java/org/openejb EJBContainer.java
                        GenericEJBContainer.java
  Removed:     modules/core/src/java/org/openejb
                        EJBContainerConfiguration.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.9       +6 -1      
openejb/modules/core/src/java/org/openejb/EJBContainer.java
  
  Index: EJBContainer.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBContainer.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- EJBContainer.java 19 Feb 2005 09:46:37 -0000      1.8
  +++ EJBContainer.java 15 Mar 2005 05:27:01 -0000      1.9
  @@ -48,6 +48,7 @@
   package org.openejb;
   
   import java.lang.reflect.Method;
  +import java.io.Serializable;
   import javax.ejb.EJBHome;
   import javax.ejb.EJBLocalHome;
   import javax.ejb.EJBLocalObject;
  @@ -147,4 +148,8 @@
        * @see 
org.apache.geronimo.security.ContextManager#registerSubject(javax.security.auth.Subject)
        */
       Subject getDefaultSubject();
  +
  +    Serializable getHomeTxPolicyConfig();
  +
  +    Serializable getRemoteTxPolicyConfig();
   }
  
  
  
  1.46      +42 -19    
openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java
  
  Index: GenericEJBContainer.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- GenericEJBContainer.java  13 Mar 2005 15:11:55 -0000      1.45
  +++ GenericEJBContainer.java  15 Mar 2005 05:27:01 -0000      1.46
  @@ -54,6 +54,7 @@
   import java.util.Iterator;
   import java.util.Map;
   import java.util.Set;
  +import java.io.Serializable;
   import javax.ejb.EJBHome;
   import javax.ejb.EJBLocalHome;
   import javax.ejb.EJBLocalObject;
  @@ -125,27 +126,33 @@
       private final Subject defaultSubject;
       private final Subject runAsSubject;
       private final BasicTimerServiceImpl timerService;
  +    //corba tx import policies
  +    private final Serializable homeTxPolicyConfig;
  +    private final Serializable remoteTxPolicyConfig;
   
   
       public GenericEJBContainer(Object containerId,
  -            String ejbName,
  -            ProxyInfo proxyInfo,
  -            InterfaceMethodSignature[] signatures,
  -            InstanceContextFactory contextFactory,
  -            InterceptorBuilder interceptorBuilder,
  -            InstancePool pool,
  -            Map componentContext,
  -            UserTransactionImpl userTransaction,
  -            String[] jndiNames,
  -            String[] localJndiNames,
  -            TransactionContextManager transactionContextManager,
  -            TrackedConnectionAssociator trackedConnectionAssociator,
  -            ThreadPooledTimer timer,
  -            String objectName,
  -            Kernel kernel,
  -            SecurityConfiguration securityConfiguration,
  -            Subject defaultSubject,
  -            Subject runAsSubject, ClassLoader classLoader) throws Exception {
  +                               String ejbName,
  +                               ProxyInfo proxyInfo,
  +                               InterfaceMethodSignature[] signatures,
  +                               InstanceContextFactory contextFactory,
  +                               InterceptorBuilder interceptorBuilder,
  +                               InstancePool pool,
  +                               Map componentContext,
  +                               UserTransactionImpl userTransaction,
  +                               String[] jndiNames,
  +                               String[] localJndiNames,
  +                               TransactionContextManager 
transactionContextManager,
  +                               TrackedConnectionAssociator 
trackedConnectionAssociator,
  +                               ThreadPooledTimer timer,
  +                               String objectName,
  +                               Kernel kernel,
  +                               SecurityConfiguration securityConfiguration,
  +                               Subject defaultSubject,
  +                               Subject runAsSubject,
  +                               Serializable homeTxPolicyConfig,
  +                               Serializable remoteTxPolicyConfig,
  +                               ClassLoader classLoader) throws Exception {
   
           assert (containerId != null);
           assert (ejbName != null && ejbName.length() > 0);
  @@ -222,6 +229,9 @@
           // TODO maybe there is a more suitable place to do this.  Maybe not.
   
           setupJndi();
  +
  +        this.homeTxPolicyConfig = homeTxPolicyConfig;
  +        this.remoteTxPolicyConfig = remoteTxPolicyConfig;
       }
   
       public InvocationResult invoke(Invocation invocation) throws Throwable {
  @@ -322,6 +332,14 @@
           return defaultSubject;
       }
   
  +    public Serializable getHomeTxPolicyConfig() {
  +        return homeTxPolicyConfig;
  +    }
  +
  +    public Serializable getRemoteTxPolicyConfig() {
  +        return remoteTxPolicyConfig;
  +    }
  +
       public int getMethodIndex(Method method) {
           return proxyFactory.getMethodIndex(method);
       }
  @@ -497,6 +515,9 @@
           infoFactory.addAttribute("DefaultSubject", Subject.class, true);
           infoFactory.addAttribute("RunAsSubject", Subject.class, true);
   
  +        infoFactory.addAttribute("HomeTxPolicyConfig", Serializable.class, 
true);
  +        infoFactory.addAttribute("RemoteTxPolicyConfig", Serializable.class, 
true);
  +
           infoFactory.addAttribute("classLoader", ClassLoader.class, false);
   
           infoFactory.addOperation("getMethodIndex", new 
Class[]{Method.class});
  @@ -528,6 +549,8 @@
               "SecurityConfiguration",
               "DefaultSubject",
               "RunAsSubject",
  +            "HomeTxPolicyConfig",
  +            "RemoteTxPolicyConfig",
               "classLoader"});
   
           GBEAN_INFO = infoFactory.getBeanInfo();
  
  
  

Reply via email to