You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2010/08/02 16:32:02 UTC

svn commit: r981524 - /incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java

Author: peter_firmstone
Date: Mon Aug  2 14:32:02 2010
New Revision: 981524

URL: http://svn.apache.org/viewvc?rev=981524&view=rev
Log:
Minor bug fix.

Modified:
    incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java

Modified: incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java
URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java?rev=981524&r1=981523&r2=981524&view=diff
==============================================================================
--- incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java (original)
+++ incubator/river/jtsk/trunk/src/org/apache/river/imp/security/policy/se/DynamicConcurrentPolicyProvider.java Mon Aug  2 14:32:02 2010
@@ -381,17 +381,6 @@ public class DynamicConcurrentPolicyProv
 	    PermissionGrant[] remaining = new PermissionGrant[grantHolder.size()];
 	    pGrants = grantHolder.toArray(remaining); // Volatile reference update.
 	}
-	
-//        try {
-//            wl.lock();
-//            Iterator<PermissionGrant> it = dynamicGrants.iterator();
-//            while (it.hasNext()){
-//                PermissionGrant pe = it.next();
-//                if ( pe.isVoid()){
-//                    it.remove();
-//                }
-//            }
-//        } finally {wl.unlock();}
         ensureDependenciesResolved();
     }
 
@@ -441,6 +430,9 @@ public class DynamicConcurrentPolicyProv
     // documentation inherited from DynamicPolicy.getGrants
     public Permission[] getGrants(Class cl, Principal[] principals) {
         if (initialized == false) throw new RuntimeException("Object not initialized");
+	if (basePolicyIsDynamic){
+	    return ((DynamicPolicy)basePolicy).getGrants(cl, principals);
+	}
         ClassLoader loader = null;
         if( cl != null ) {
             loader = cl.getClassLoader();
@@ -479,7 +471,7 @@ public class DynamicConcurrentPolicyProv
         // because PermissionGrant's are given references to ProtectionDomain's
         // we must check the caller has this permission.
         AccessController.checkPermission(new RuntimePermission("getProtectionDomain"));
-        if (revokeable){
+        if ( basePolicyIsDynamic && revokeable){
             RevokeableDynamicPolicy bp = (RevokeableDynamicPolicy) basePolicy;
             bp.grant(grants);
             return;
@@ -574,7 +566,7 @@ public class DynamicConcurrentPolicyProv
 
     public List<PermissionGrant> getPermissionGrants() {
         if (initialized == false) throw new RuntimeException("Object not initialized");
-        if (revokeable){
+        if ( basePolicyIsDynamic && revokeable){
             RevokeableDynamicPolicy bp = (RevokeableDynamicPolicy) basePolicy;
             return bp.getPermissionGrants();
         }