Author: mir
Date: Tue Oct 19 09:47:06 2010
New Revision: 1024192

URL: http://svn.apache.org/viewvc?rev=1024192&view=rev
Log:
CLEREZZA-335: synchronized permissionProviders set

Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java?rev=1024192&r1=1024191&r2=1024192&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java
 Tue Oct 19 09:47:06 2010
@@ -18,8 +18,6 @@
  */
 package org.apache.clerezza.platform.security;
 
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
 import java.security.AccessController;
 import java.security.Permission;
 import java.security.PermissionCollection;
@@ -30,6 +28,7 @@ import java.security.PrivilegedAction;
 import java.security.ProtectionDomain;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -38,7 +37,6 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.clerezza.platform.config.SystemConfig;
 
-import org.osgi.service.permissionadmin.PermissionInfo;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -90,7 +88,7 @@ public class UserAwarePolicy extends Pol
 
        private Policy originalPolicy;
        private Set<WebIdBasedPermissionProvider> permissionProviders = 
-                       new HashSet<WebIdBasedPermissionProvider>();
+                       Collections.synchronizedSet(new 
HashSet<WebIdBasedPermissionProvider>());
 
        public UserAwarePolicy() {
                this.originalPolicy = Policy.getPolicy();
@@ -209,8 +207,10 @@ public class UserAwarePolicy extends Pol
        private List<String> getPermissionEntriesOfAUser(NonLiteral user, 
String userName) {
                List<String> result = getPermissionEntriesOfARole(user, 
userName, user);
                if (user instanceof UriRef) {
-                       for (WebIdBasedPermissionProvider p : 
permissionProviders) {
-                               result.addAll(p.getPermissions((UriRef)user));
+                       synchronized(permissionProviders) {
+                               for (WebIdBasedPermissionProvider p : 
permissionProviders) {
+                                       
result.addAll(p.getPermissions((UriRef)user));
+                               }
                        }
                }
                return result;


Reply via email to