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