dain        2005/03/07 22:11:27

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

  Register RunAsSubject on container startup and shutdown
  
  Revision  Changes    Path
  1.44      +27 -21    
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.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- GenericEJBContainer.java  6 Mar 2005 02:49:24 -0000       1.43
  +++ GenericEJBContainer.java  8 Mar 2005 03:11:27 -0000       1.44
  @@ -121,30 +121,31 @@
       private final String[] localJndiNames;
   
       private final SecurityConfiguration securityConfiguration;
  -    private transient PolicyConfiguration policyConfiguration;
  -    private transient Subject defaultSubject;
  +    private PolicyConfiguration policyConfiguration;
  +    private final Subject defaultSubject;
  +    private final Subject runAsSubject;
       private final BasicTimerServiceImpl timerService;
   
   
       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,
  -                               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, ClassLoader classLoader) throws Exception {
   
           assert (containerId != null);
           assert (ejbName != null && ejbName.length() > 0);
  @@ -216,6 +217,7 @@
   
           this.securityConfiguration = securityConfiguration;
           this.defaultSubject = defaultSubject;
  +        this.runAsSubject = runAsSubject;
   
           // TODO maybe there is a more suitable place to do this.  Maybe not.
   
  @@ -374,6 +376,7 @@
           }
   
           if (defaultSubject != null) 
ContextManager.registerSubject(defaultSubject);
  +        if (runAsSubject != null) 
ContextManager.registerSubject(runAsSubject);
   
           if (securityConfiguration != null) {
               /**
  @@ -432,6 +435,7 @@
           }
   
           if (defaultSubject != null) 
ContextManager.unregisterSubject(defaultSubject);
  +        if (runAsSubject != null) 
ContextManager.unregisterSubject(runAsSubject);
   
           if (this.securityConfiguration != null) {
               /**
  @@ -491,6 +495,7 @@
   
           infoFactory.addAttribute("SecurityConfiguration", 
SecurityConfiguration.class, true);
           infoFactory.addAttribute("DefaultSubject", Subject.class, true);
  +        infoFactory.addAttribute("RunAsSubject", Subject.class, true);
   
           infoFactory.addAttribute("classLoader", ClassLoader.class, false);
   
  @@ -522,6 +527,7 @@
               "kernel",
               "SecurityConfiguration",
               "DefaultSubject",
  +            "RunAsSubject",
               "classLoader"});
   
           GBEAN_INFO = infoFactory.getBeanInfo();
  
  
  

Reply via email to