maguro 2004/07/26 22:28:51
Modified: modules/core/src/java/org/openejb/mdb
MDBContainerBuilder.java
Log:
Intermediate check-in of security deployment code, before I loose the work.
Revision Changes Path
1.7 +58 -23
openejb/modules/core/src/java/org/openejb/mdb/MDBContainerBuilder.java
Index: MDBContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/mdb/MDBContainerBuilder.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MDBContainerBuilder.java 20 Jul 2004 23:40:02 -0000 1.6
+++ MDBContainerBuilder.java 27 Jul 2004 02:28:51 -0000 1.7
@@ -47,46 +47,52 @@
*/
package org.openejb.mdb;
+import javax.ejb.TimedObject;
+import javax.ejb.Timer;
+import javax.management.ObjectName;
+import javax.security.auth.Subject;
import java.lang.reflect.Method;
+import java.util.HashMap;
import java.util.LinkedHashMap;
-import java.util.Set;
import java.util.Map;
-import java.util.HashMap;
-
-import javax.management.ObjectName;
-import javax.security.auth.Subject;
-import javax.ejb.TimedObject;
-import javax.ejb.Timer;
+import java.util.Set;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.naming.java.ReadOnlyContext;
import org.apache.geronimo.transaction.UserTransactionImpl;
-import org.apache.geronimo.timer.ThreadPooledTimer;
+
import org.openejb.ResourceEnvironmentBuilder;
-import org.openejb.timer.BasicTimerService;
-import org.openejb.mdb.dispatch.SetMessageDrivenContextOperation;
-import org.openejb.dispatch.EJBTimeoutOperation;
+import org.openejb.SecureBuilder;
import org.openejb.cache.InstancePool;
import org.openejb.deployment.TransactionPolicySource;
+import org.openejb.dispatch.EJBTimeoutOperation;
import org.openejb.dispatch.InterfaceMethodSignature;
+import org.openejb.dispatch.MethodHelper;
import org.openejb.dispatch.MethodSignature;
import org.openejb.dispatch.VirtualOperation;
-import org.openejb.dispatch.MethodHelper;
+import org.openejb.mdb.dispatch.SetMessageDrivenContextOperation;
+import org.openejb.security.SecurityConfiguration;
import org.openejb.slsb.CreateMethod;
import org.openejb.transaction.ContainerPolicy;
import org.openejb.transaction.TransactionPolicy;
import org.openejb.util.SoftLimitedInstancePool;
+
/**
* @version $Revision$ $Date$
*/
-public class MDBContainerBuilder implements ResourceEnvironmentBuilder {
+public class MDBContainerBuilder implements ResourceEnvironmentBuilder,
SecureBuilder {
+
private String containerId;
private String ejbName;
private ObjectName activationSpecName;
private String beanClassName;
private String endpointInterfaceName;
private Subject runAs;
+ private boolean doAsCurrentCaller = false;
+ private boolean securityEnabled = false;
+ private boolean useContextHandler = false;
+ private SecurityConfiguration securityConfiguration;
private ReadOnlyContext componentContext;
private Set unshareableResources;
private Set applicationManagedSecurityResources;
@@ -145,6 +151,38 @@
this.runAs = runAs;
}
+ public boolean isDoAsCurrentCaller() {
+ return doAsCurrentCaller;
+ }
+
+ public void setDoAsCurrentCaller(boolean doAsCurrentCaller) {
+ this.doAsCurrentCaller = doAsCurrentCaller;
+ }
+
+ public boolean isSecurityEnabled() {
+ return securityEnabled;
+ }
+
+ public void setSecurityEnabled(boolean securityEnabled) {
+ this.securityEnabled = securityEnabled;
+ }
+
+ public boolean isUseContextHandler() {
+ return useContextHandler;
+ }
+
+ public void setUseContextHandler(boolean useContextHandler) {
+ this.useContextHandler = useContextHandler;
+ }
+
+ public SecurityConfiguration getSecurityConfiguration() {
+ return securityConfiguration;
+ }
+
+ public void setSecurityConfiguration(SecurityConfiguration
securityConfiguration) {
+ this.securityConfiguration = securityConfiguration;
+ }
+
public ReadOnlyContext getComponentContext() {
return componentContext;
}
@@ -285,9 +323,8 @@
}
if (TimedObject.class.isAssignableFrom(beanClass)) {
MethodSignature signature = new MethodSignature("ejbTimeout", new
Class[]{Timer.class});
- vopMap.put(
- MethodHelper.translateToInterface(signature)
- , EJBTimeoutOperation.INSTANCE);
+ vopMap.put(MethodHelper.translateToInterface(signature)
+ , EJBTimeoutOperation.INSTANCE);
}
// add the create method
vopMap.put(new InterfaceMethodSignature("create", true), new
CreateMethod());
@@ -302,17 +339,15 @@
String name = beanMethod.getName();
MethodSignature signature = new MethodSignature(beanMethod);
if (setMessageDrivenContext.equals(beanMethod)) {
- vopMap.put(
- MethodHelper.translateToInterface(signature)
- , SetMessageDrivenContextOperation.INSTANCE);
+ vopMap.put(MethodHelper.translateToInterface(signature)
+ , SetMessageDrivenContextOperation.INSTANCE);
continue;
}
if (name.startsWith("ejb")) {
continue;
}
- vopMap.put(
- new InterfaceMethodSignature(signature, false),
- new BusinessMethod(beanClass, signature));
+ vopMap.put(new InterfaceMethodSignature(signature, false),
+ new BusinessMethod(beanClass, signature));
}
return vopMap;