You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by dj...@apache.org on 2007/03/07 01:22:22 UTC

svn commit: r515390 - in /incubator/openejb/trunk/openejb2/modules: openejb-builder/src/main/java/org/apache/openejb/deployment/ openejb-core/src/main/java/org/apache/openejb/mdb/

Author: djencks
Date: Tue Mar  6 16:22:21 2007
New Revision: 515390

URL: http://svn.apache.org/viewvc?view=rev&rev=515390
Log:
GERONIMO-2868 Add default subject and run-as for mdbs

Modified:
    incubator/openejb/trunk/openejb2/modules/openejb-builder/src/main/java/org/apache/openejb/deployment/MdbBuilder.java
    incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/DefaultMdbContainer.java
    incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeployment.java
    incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeploymentGBean.java

Modified: incubator/openejb/trunk/openejb2/modules/openejb-builder/src/main/java/org/apache/openejb/deployment/MdbBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-builder/src/main/java/org/apache/openejb/deployment/MdbBuilder.java?view=diff&rev=515390&r1=515389&r2=515390
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-builder/src/main/java/org/apache/openejb/deployment/MdbBuilder.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-builder/src/main/java/org/apache/openejb/deployment/MdbBuilder.java Tue Mar  6 16:22:21 2007
@@ -47,6 +47,7 @@
     private String ejbContainerName;
 
     private String policyContextId;
+    private DefaultPrincipal defaultPrincipal;
     private Subject runAs;
 
     private boolean beanManagedTransactions = false;
@@ -86,11 +87,11 @@
     }
 
     public DefaultPrincipal getDefaultPrincipal() {
-        return null;  // RETURN NOTHING
+        return defaultPrincipal;
     }
 
     public void setDefaultPrincipal(DefaultPrincipal defaultPrincipal) {
-        // DO NOTHING
+        this.defaultPrincipal = defaultPrincipal;
     }
 
     public Subject getRunAs() {
@@ -167,6 +168,7 @@
         gbean.setReferencePattern("ejbContainer", ejbContainerQuery);
 
         gbean.setAttribute("policyContextId", policyContextId);
+        gbean.setAttribute("defaultPrincipal", defaultPrincipal);
         gbean.setAttribute("runAs", runAs);
 
         gbean.setAttribute("beanManagedTransactions", new Boolean(beanManagedTransactions));

Modified: incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/DefaultMdbContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/DefaultMdbContainer.java?view=diff&rev=515390&r1=515389&r2=515390
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/DefaultMdbContainer.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/DefaultMdbContainer.java Tue Mar  6 16:22:21 2007
@@ -38,7 +38,9 @@
 import org.apache.openejb.transaction.DefaultUserTransaction;
 import org.apache.openejb.dispatch.DispatchInterceptor;
 import org.apache.openejb.naming.ComponentContextInterceptor;
+import org.apache.openejb.security.DefaultSubjectInterceptor;
 import org.apache.openejb.security.EJBIdentityInterceptor;
+import org.apache.openejb.security.EjbRunAsInterceptor;
 
 import javax.ejb.Timer;
 import javax.transaction.TransactionManager;
@@ -84,6 +86,9 @@
             invocationChain = new EJBIdentityInterceptor(invocationChain);
         }
 
+        // Sets the run as subject which is used when this ejb calls another ejb
+        invocationChain = new EjbRunAsInterceptor(invocationChain);
+
         if (trackedConnectionAssociator != null) {
             invocationChain = new ConnectionTrackingInterceptor(invocationChain, trackedConnectionAssociator);
         }
@@ -102,6 +107,9 @@
 
         // logs system exceptions
         invocationChain = new SystemExceptionInterceptor(invocationChain);
+
+        // sets the invocation subject when the invocation has no subject associated
+        invocationChain = new DefaultSubjectInterceptor(invocationChain);
 
         this.invocationChain = invocationChain;
 

Modified: incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeployment.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeployment.java?view=diff&rev=515390&r1=515389&r2=515390
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeployment.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeployment.java Tue Mar  6 16:22:21 2007
@@ -19,6 +19,7 @@
 import org.apache.geronimo.connector.ActivationSpecWrapper;
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.security.deploy.DefaultPrincipal;
 import org.apache.geronimo.timer.PersistenceException;
 import org.apache.geronimo.transaction.manager.NamedXAResource;
 import org.apache.geronimo.transaction.manager.WrapperNamedXAResource;
@@ -87,6 +88,7 @@
                          MdbContainer ejbContainer,
 
                          String policyContextId,
+                         DefaultPrincipal defaultPrincipal,
                          Subject runAs,
 
                          boolean beanManagedTransactions,
@@ -106,6 +108,7 @@
                 activationSpecWrapper,
                 ejbContainer,
                 policyContextId,
+                defaultPrincipal,
                 runAs,
                 beanManagedTransactions,
                 transactionPolicies,
@@ -127,6 +130,7 @@
                          MdbContainer ejbContainer,
 
                          String policyContextId,
+                         DefaultPrincipal defaultPrincipal,
                          Subject runAs,
 
                          boolean beanManagedTransactions,
@@ -147,7 +151,7 @@
                 ejbContainer,
                 false,
                 policyContextId,
-                null,
+                defaultPrincipal,
                 runAs,
                 beanManagedTransactions,
                 transactionPolicies,

Modified: incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeploymentGBean.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeploymentGBean.java?view=diff&rev=515390&r1=515389&r2=515390
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeploymentGBean.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/mdb/MdbDeploymentGBean.java Tue Mar  6 16:22:21 2007
@@ -19,6 +19,7 @@
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.security.deploy.DefaultPrincipal;
 import org.apache.geronimo.connector.ActivationSpecWrapper;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.openejb.MdbContainer;
@@ -50,6 +51,7 @@
         infoFactory.addReference("ejbContainer", MdbContainer.class, "MdbContainer");
 
         infoFactory.addAttribute("policyContextId", String.class, true);
+        infoFactory.addAttribute("defaultPrincipal", DefaultPrincipal.class, true);
         infoFactory.addAttribute("runAs", Subject.class, true);
 
         infoFactory.addAttribute("beanManagedTransactions", boolean.class, true);
@@ -75,6 +77,7 @@
             "ejbContainer",
 
             "policyContextId",
+            "defaultPrincipal",
             "runAs",
 
             "beanManagedTransactions",