You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/05 13:08:38 UTC

svn commit: r1240707 - in /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/DelegatePermissionCollection.java assembler/classic/JaccPermissionsBuilder.java core/security/jacc/BasicJaccProvider.java

Author: rmannibucau
Date: Sun Feb  5 12:08:37 2012
New Revision: 1240707

URL: http://svn.apache.org/viewvc?rev=1240707&view=rev
Log:
using our factory for all instance of Permissions needed. Using java security permissions by default. Our impl needs to be enhanced to be fast and to get a good behavior

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DelegatePermissionCollection.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JaccPermissionsBuilder.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DelegatePermissionCollection.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DelegatePermissionCollection.java?rev=1240707&r1=1240706&r2=1240707&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DelegatePermissionCollection.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DelegatePermissionCollection.java Sun Feb  5 12:08:37 2012
@@ -34,7 +34,7 @@ public class DelegatePermissionCollectio
             return (PermissionCollection) DelegatePermissionCollection.class.getClassLoader()
                     .loadClass(
                             System.getProperty(PERMISSION_COLLECTION_CLASS,
-                                    FastPermissionCollection.class.getName()))
+                                    Permissions.class.getName()))
                     .newInstance();
         } catch (Exception cnfe) {
             return new Permissions();

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JaccPermissionsBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JaccPermissionsBuilder.java?rev=1240707&r1=1240706&r2=1240707&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JaccPermissionsBuilder.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JaccPermissionsBuilder.java Sun Feb  5 12:08:37 2012
@@ -31,7 +31,6 @@ import javax.security.jacc.PolicyContext
 import java.lang.reflect.Method;
 import java.security.Permission;
 import java.security.PermissionCollection;
-import java.security.Permissions;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
@@ -138,7 +137,7 @@ public class JaccPermissionsBuilder {
         for (EnterpriseBeanInfo enterpriseBean : ejbJar.enterpriseBeans) {
             BeanContext beanContext = deployments.get(enterpriseBean.ejbDeploymentId);
 
-            Permissions permissions = new Permissions();
+            PermissionCollection permissions = DelegatePermissionCollection.getPermissionCollection();
 
             String ejbName = enterpriseBean.ejbName;
 
@@ -158,7 +157,7 @@ public class JaccPermissionsBuilder {
         return policyContext;
     }
 
-    private void addDeclaredEjbPermissions(EjbJarInfo ejbJar, EnterpriseBeanInfo beanInfo, String defaultRole, Permissions notAssigned, PolicyContext policyContext) throws OpenEJBException {
+    private void addDeclaredEjbPermissions(EjbJarInfo ejbJar, EnterpriseBeanInfo beanInfo, String defaultRole, PermissionCollection notAssigned, PolicyContext policyContext) throws OpenEJBException {
 
         PermissionCollection uncheckedPermissions = policyContext.getUncheckedPermissions();
         PermissionCollection excludedPermissions = policyContext.getExcludedPermissions();
@@ -215,9 +214,9 @@ public class JaccPermissionsBuilder {
                     excludedPermissions.add(permission);
                 } else {
                     for (String roleName : roleNames) {
-                        Permissions permissions = (Permissions) rolePermissions.get(roleName);
+                        PermissionCollection permissions = rolePermissions.get(roleName);
                         if (permissions == null) {
-                            permissions = new Permissions();
+                            permissions = DelegatePermissionCollection.getPermissionCollection();
                             rolePermissions.put(roleName, permissions);
                         }
                         permissions.add(permission);
@@ -240,7 +239,7 @@ public class JaccPermissionsBuilder {
 
             PermissionCollection roleLinks = rolePermissions.get(roleLink);
             if (roleLinks == null) {
-                roleLinks = new Permissions();
+                roleLinks = DelegatePermissionCollection.getPermissionCollection();
                 rolePermissions.put(roleLink, roleLinks);
 
             }
@@ -262,7 +261,7 @@ public class JaccPermissionsBuilder {
         } else {
             permissions = rolePermissions.get(defaultRole);
             if (permissions == null) {
-                permissions = new Permissions();
+                permissions = DelegatePermissionCollection.getPermissionCollection();
                 rolePermissions.put(defaultRole, permissions);
             }
         }
@@ -288,11 +287,12 @@ public class JaccPermissionsBuilder {
      * @param permissions     the permission set to be extended
      * @param ejbName         the name of the EJB
      * @param methodInterface the EJB method interface
+     * @param clazz clazz
      *
      * @throws org.apache.openejb.OpenEJBException
      *          in case a class could not be found
      */
-    public void addPossibleEjbMethodPermissions(Permissions permissions, String ejbName, String methodInterface, Class clazz) throws OpenEJBException {
+    public void addPossibleEjbMethodPermissions(PermissionCollection permissions, String ejbName, String methodInterface, Class clazz) throws OpenEJBException {
         if (clazz == null) return;
         for (java.lang.reflect.Method method : clazz.getMethods()) {
             String methodIface = ("LocalBean".equals(methodInterface) || "LocalBeanHome".equals(methodInterface)) ? null : methodInterface;
@@ -308,8 +308,8 @@ public class JaccPermissionsBuilder {
      * @param permission  the permission that is to be used for culling
      * @return the culled set of permissions that are not implied by <code>permission</code>
      */
-    private Permissions cullPermissions(Permissions toBeChecked, Permission permission) {
-        Permissions result = new Permissions();
+    private PermissionCollection cullPermissions(PermissionCollection toBeChecked, Permission permission) {
+        PermissionCollection result = DelegatePermissionCollection.getPermissionCollection();
 
         for (Enumeration e = toBeChecked.elements(); e.hasMoreElements();) {
             Permission test = (Permission) e.nextElement();

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java?rev=1240707&r1=1240706&r2=1240707&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java Sun Feb  5 12:08:37 2012
@@ -19,15 +19,14 @@ package org.apache.openejb.core.security
 import org.apache.openejb.core.security.JaccProvider;
 
 import javax.security.jacc.PolicyConfiguration;
-import javax.security.jacc.PolicyContextException;
 import javax.security.jacc.PolicyContext;
-import java.security.PermissionCollection;
+import javax.security.jacc.PolicyContextException;
 import java.security.CodeSource;
-import java.security.Policy;
-import java.security.ProtectionDomain;
 import java.security.Permission;
-import java.util.Map;
+import java.security.PermissionCollection;
+import java.security.ProtectionDomain;
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @version $Rev$ $Date$
@@ -43,7 +42,7 @@ public class BasicJaccProvider extends J
     }
 
     public PolicyConfiguration getPolicyConfiguration(String contextID, boolean remove) throws PolicyContextException {
-        BasicPolicyConfiguration configuration = (BasicPolicyConfiguration) configurations.get(contextID);
+        BasicPolicyConfiguration configuration = configurations.get(contextID);
 
         if (configuration == null) {
             configuration = createPolicyConfiguration(contextID);