djencks     2005/06/01 22:57:00

  Modified:    modules/core/src/java/org/openejb EJBContainer.java
                        GenericEJBContainer.java
  Log:

  GERONIMO-659 Make the ejb container point to the TSS gbean, not the TSS to 
the ejb container.  Also GERONIMO-658, use nice short config to find the TSS 
bean
  
  Revision  Changes    Path
  1.11      +9 -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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- EJBContainer.java 8 May 2005 19:37:04 -0000       1.10
  +++ EJBContainer.java 2 Jun 2005 02:56:59 -0000       1.11
  @@ -148,7 +148,15 @@
        */
       Subject getDefaultSubject();
   
  +    /**
  +     * CORBA home transaction import policy configuration
  +     * @return 
  +     */
       Serializable getHomeTxPolicyConfig();
   
  +    /**
  +     * CORBA remote transaction import policy configuration
  +     * @return
  +     */
       Serializable getRemoteTxPolicyConfig();
   }
  
  
  
  1.50      +31 -11    
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.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- GenericEJBContainer.java  8 May 2005 19:37:04 -0000       1.49
  +++ GenericEJBContainer.java  2 Jun 2005 02:56:59 -0000       1.50
  @@ -90,6 +90,7 @@
   import org.openejb.proxy.EJBProxyFactory;
   import org.openejb.proxy.ProxyInfo;
   import org.openejb.timer.BasicTimerServiceImpl;
  +import org.openejb.corba.TSSBean;
   
   
   /**
  @@ -114,6 +115,9 @@
       private final Subject defaultSubject;
       private final Subject runAsSubject;
       private final BasicTimerServiceImpl timerService;
  +
  +    //corba security configuration
  +    private final TSSBean tssBean;
       //corba tx import policies
       private final Serializable homeTxPolicyConfig;
       private final Serializable remoteTxPolicyConfig;
  @@ -137,7 +141,7 @@
                                  Kernel kernel,
                                  DefaultPrincipal defaultPrincipal,
                                  Subject runAsSubject,
  -                               Serializable homeTxPolicyConfig,
  +                               TSSBean tssBean, Serializable 
homeTxPolicyConfig,
                                  Serializable remoteTxPolicyConfig,
                                  ClassLoader classLoader) throws Exception {
   
  @@ -220,6 +224,8 @@
   
           setupJndi();
   
  +        this.tssBean = tssBean;
  +
           this.homeTxPolicyConfig = homeTxPolicyConfig;
           this.remoteTxPolicyConfig = remoteTxPolicyConfig;
       }
  @@ -379,13 +385,24 @@
               timerService.doStart();
           }
   
  -        if (defaultSubject != null) 
ContextManager.registerSubject(defaultSubject);
  -        if (runAsSubject != null) 
ContextManager.registerSubject(runAsSubject);
  +        if (defaultSubject != null) {
  +            ContextManager.registerSubject(defaultSubject);
  +        }
  +        if (runAsSubject != null) {
  +            ContextManager.registerSubject(runAsSubject);
  +        }
  +        //TODO we are giving out a direct reference, not a proxy
  +        if (tssBean != null) {
  +            tssBean.registerContainer(this);
  +        }
   
           log.info("GenericEJBContainer '" + containerId + "' started");
       }
   
       public void doStop() throws Exception {
  +        if (tssBean != null) {
  +            tssBean.unregisterContainer(this);
  +        }
           if (timerService != null) {
               timerService.doStop();
           }
  @@ -423,11 +440,18 @@
           infoFactory.addAttribute("UserTransaction", 
UserTransactionImpl.class, true);
           infoFactory.addAttribute("JndiNames", String[].class, true);
           infoFactory.addAttribute("LocalJndiNames", String[].class, true);
  +        infoFactory.addAttribute("DefaultPrincipal", DefaultPrincipal.class, 
true);
  +        infoFactory.addAttribute("RunAsSubject", Subject.class, true);
  +
  +        infoFactory.addAttribute("homeTxPolicyConfig", Serializable.class, 
true);
  +        infoFactory.addAttribute("remoteTxPolicyConfig", Serializable.class, 
true);
   
           infoFactory.addReference("TransactionContextManager", 
TransactionContextManager.class, NameFactory.JTA_RESOURCE);
           infoFactory.addReference("TrackedConnectionAssociator", 
TrackedConnectionAssociator.class, NameFactory.JCA_RESOURCE);
           infoFactory.addReference("Timer", ThreadPooledTimer.class, 
NameFactory.GERONIMO_SERVICE);
   
  +        infoFactory.addReference("TSSBean", TSSBean.class);
  +
           infoFactory.addAttribute("objectName", String.class, false);
           infoFactory.addAttribute("kernel", Kernel.class, false);
   
  @@ -436,11 +460,6 @@
           infoFactory.addAttribute("ejbLocalHome", EJBLocalHome.class, false);
           infoFactory.addAttribute("unmanagedReference", EJBContainer.class, 
false);
   
  -        infoFactory.addAttribute("DefaultPrincipal", DefaultPrincipal.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);
   
  @@ -472,8 +491,9 @@
               "kernel",
               "DefaultPrincipal",
               "RunAsSubject",
  -            "HomeTxPolicyConfig",
  -            "RemoteTxPolicyConfig",
  +            "TSSBean",
  +            "homeTxPolicyConfig",
  +            "remoteTxPolicyConfig",
               "classLoader"});
   
           GBEAN_INFO = infoFactory.getBeanInfo();
  
  
  

Reply via email to