maguro      2005/03/09 00:01:01

  Modified:    modules/core/src/java/org/openejb EJBContextImpl.java
                        EJBInstanceContext.java
  Log:

  Fixed getCallerPrincipal()
  
  Revision  Changes    Path
  1.9       +14 -4     
openejb/modules/core/src/java/org/openejb/EJBContextImpl.java
  
  Index: EJBContextImpl.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBContextImpl.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- EJBContextImpl.java       1 Mar 2005 23:34:04 -0000       1.8
  +++ EJBContextImpl.java       9 Mar 2005 05:01:01 -0000       1.9
  @@ -58,6 +58,7 @@
   import javax.ejb.TimerService;
   import javax.transaction.SystemException;
   import javax.transaction.UserTransaction;
  +import javax.security.auth.Subject;
   
   import org.apache.geronimo.security.ContextManager;
   import org.apache.geronimo.transaction.context.TransactionContext;
  @@ -74,6 +75,7 @@
       protected final EJBInstanceContext context;
       protected final UserTransactionImpl userTransaction;
       private final TransactionContextManager transactionContextManager;
  +    private Subject callerSubject;
       protected EJBContextState state;
   
       public EJBContextImpl(EJBInstanceContext context, 
TransactionContextManager transactionContextManager, UserTransactionImpl 
userTransaction) {
  @@ -82,6 +84,14 @@
           this.transactionContextManager = transactionContextManager;
       }
   
  +    public Subject getCallerSubject() {
  +        return callerSubject;
  +    }
  +
  +    public void setCallerSubject(Subject callerSubject) {
  +        this.callerSubject = callerSubject;
  +    }
  +
       public EJBHome getEJBHome() {
           return state.getEJBHome(context);
       }
  @@ -99,7 +109,7 @@
       }
   
       public Principal getCallerPrincipal() {
  -        return state.getCallerPrincipal();
  +        return state.getCallerPrincipal(callerSubject);
       }
   
       public boolean isCallerInRole(String s) {
  @@ -177,8 +187,8 @@
               throw new IllegalStateException("getEJBLocalObject is not 
allowed if no local interface is defined");
           }
   
  -        public Principal getCallerPrincipal() {
  -            return ContextManager.getCurrentPrincipal();
  +        public Principal getCallerPrincipal(Subject callerSubject) {
  +            return ContextManager.getCurrentPrincipal(callerSubject);
           }
   
           public boolean isCallerInRole(String s, EJBInstanceContext context) {
  
  
  
  1.7       +3 -1      
openejb/modules/core/src/java/org/openejb/EJBInstanceContext.java
  
  Index: EJBInstanceContext.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBInstanceContext.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- EJBInstanceContext.java   25 Feb 2005 23:06:09 -0000      1.6
  +++ EJBInstanceContext.java   9 Mar 2005 05:01:01 -0000       1.7
  @@ -73,4 +73,6 @@
   
       //sets timer method availability based on operation, returns old 
availability
       boolean setTimerState(EJBOperation operation);
  +
  +    EJBContextImpl getEJBContextImpl();
   }
  
  
  

Reply via email to