You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2003/12/11 00:20:24 UTC

cvs commit: jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine AccessControlListAdapter.java

epugh       2003/12/10 15:20:24

  Modified:    security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine
                        AccessControlListAdapter.java
  Log:
  Allow the Turbine ACL hasRole(string) to work!
  
  Revision  Changes    Path
  1.2       +17 -6     jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdapter.java
  
  Index: AccessControlListAdapter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AccessControlListAdapter.java	5 Dec 2003 23:33:16 -0000	1.1
  +++ AccessControlListAdapter.java	10 Dec 2003 23:20:24 -0000	1.2
  @@ -58,6 +58,7 @@
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +import org.apache.fulcrum.security.model.basic.BasicAccessControlList;
   import org.apache.fulcrum.security.model.dynamic.DynamicAccessControlList;
   import org.apache.turbine.om.security.Group;
   import org.apache.turbine.om.security.Permission;
  @@ -77,7 +78,7 @@
   public class AccessControlListAdapter implements AccessControlList
   {
       private static Log log = LogFactory.getLog(AccessControlListAdapter.class);
  -    private DynamicAccessControlList acl;
  +    private org.apache.fulcrum.security.acl.AccessControlList acl;
       /**
        *
        */
  @@ -85,7 +86,7 @@
       {
           super();
       }
  -    public AccessControlListAdapter(DynamicAccessControlList acl)
  +    public AccessControlListAdapter(org.apache.fulcrum.security.acl.AccessControlList acl)
       {
           super();
           this.acl = acl;
  @@ -120,8 +121,11 @@
        */
       public PermissionSet getPermissions()
       {
  +        if (!(acl instanceof DynamicAccessControlList)){
  +			throw new RuntimeException("ACL doesn't support this opperation");
  +        }
           PermissionSet turbinePS = new PermissionSet();
  -        org.apache.fulcrum.security.util.PermissionSet fulcrumPS = acl.getPermissions();
  +        org.apache.fulcrum.security.util.PermissionSet fulcrumPS = ((DynamicAccessControlList)acl).getPermissions();
           for (Iterator i = fulcrumPS.iterator(); i.hasNext();)
           {
               org.apache.fulcrum.security.entity.Permission fulcrumPermission =
  @@ -166,11 +170,18 @@
       {
   		throw new RuntimeException("Unsupported operation");
       }
  -    /* (non-Javadoc)
  +    /* For a DynamicACL, checks the role.  But, for a BasicACL, it maps
  +     * roles onto BasicGroup's.
        * @see org.apache.turbine.util.security.AccessControlList#hasRole(java.lang.String)
        */
  -    public boolean hasRole(String arg0)
  +    public boolean hasRole(String roleName)
       {
  +		if (acl instanceof DynamicAccessControlList){
  +			return ((DynamicAccessControlList)acl).hasRole(roleName);
  +		}
  +		else if (acl instanceof BasicAccessControlList){
  +		    return ((BasicAccessControlList)acl).hasGroup(roleName);
  +		}
   		throw new RuntimeException("Unsupported operation");
       }
       /* (non-Javadoc)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org