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