You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/06/19 14:24:09 UTC

svn commit: r956219 - in /incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security: BundlePermissionManager.java PermissionManager.java UserAwarePolicy.java

Author: reto
Date: Sat Jun 19 12:24:08 2010
New Revision: 956219

URL: http://svn.apache.org/viewvc?rev=956219&view=rev
Log:
CLEREZZA-242: SecurityActivator with no required dependecy takes care of setting a restricitive police when UserAwarePolicy is not available

Added:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java
      - copied, changed from r956129, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java
Removed:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java
Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/UserAwarePolicy.java

Copied: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java (from r956129, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.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/BundlePermissionManager.java?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java&p1=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java&r1=956129&r2=956219&rev=956219&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/PermissionManager.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/BundlePermissionManager.java Sat Jun 19 12:24:08 2010
@@ -63,10 +63,11 @@ import org.apache.clerezza.rdf.core.MGra
  */
 
 @Component
-public class PermissionManager implements BundleListener {
+public class BundlePermissionManager implements BundleListener {
 
-	final Logger logger = LoggerFactory.getLogger(PermissionManager.class);
+	final Logger logger = LoggerFactory.getLogger(BundlePermissionManager.class);
 
+	
 	@Reference
 	private ConditionalPermissionAdmin cpa;
 	private static final String ALL_EXCEPT_USER_BUNDLES_CPINAME = "allExceptUserBundles";
@@ -83,7 +84,7 @@ public class PermissionManager implement
 	}
 
 	private PermissionDefinitions permissionDefinitions;
-	private Policy originalPolicy;
+	
 
 	/**
 	 *
@@ -128,21 +129,13 @@ public class PermissionManager implement
 				updateFromSystemGraph(bundleLocation);
 			}
 		}
-		setUserAwarePolicy();
 	}
 
-	private void setUserAwarePolicy() {
-		logger.debug("Set user aware policy");
-		//keep the original policy for resetting it at deactivation()
-		originalPolicy = Policy.getPolicy();
 
-		Policy.setPolicy(new UserAwarePolicy(systemGraph));
-	}
 
 	protected void deactivate(final ComponentContext cCtx) throws Exception {
 		logger.debug("Permission manager being deactivated");
 		cCtx.getBundleContext().removeBundleListener(this);
-		Policy.setPolicy(originalPolicy);
 	}
 
 	/**

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=956219&r1=956218&r2=956219&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 Sat Jun 19 12:24:08 2010
@@ -34,6 +34,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import org.apache.clerezza.platform.config.SystemConfig;
 
 import org.osgi.service.permissionadmin.PermissionInfo;
 
@@ -50,14 +51,23 @@ import org.apache.clerezza.rdf.ontologie
 import org.apache.clerezza.rdf.ontologies.PLATFORM;
 import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.ontologies.SIOC;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 
 /**
  * 
  * @author mir
  */
+@Component
+@Service(UserAwarePolicy.class)
 public class UserAwarePolicy extends Policy {
 
 	final Logger logger = LoggerFactory.getLogger(UserAwarePolicy.class);
+	
+	@Reference(target=SystemConfig.SYSTEM_GRAPH_FILTER)
+	private MGraph systemGraph;
+	
 	/**
 	 * Stores the mapping between a String describing the permission and the
 	 * described <code>Permission</code> object.
@@ -69,12 +79,9 @@ public class UserAwarePolicy extends Pol
 	 */
 	private UserPermissionsCache cache = new UserPermissionsCache();
 
-	private MGraph systemGraph;
-
 	private Policy originalPolicy;
 
-	public UserAwarePolicy(MGraph systemGraph) {
-		this.systemGraph = systemGraph;
+	public UserAwarePolicy() {
 		this.originalPolicy = Policy.getPolicy();
 	}
 	
@@ -182,7 +189,7 @@ public class UserAwarePolicy extends Pol
 	 * are his/her own permissions and the permissions of his roles
 	 * 
 	 */
-	List<String> getAllPermissionsOfAUserByName(String userName)
+	private List<String> getAllPermissionsOfAUserByName(String userName)
 			throws UserUnregisteredException {
 
 		NonLiteral user = getUserByName(userName);