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


Reply via email to