[jboss-cvs] jboss-seam/src/main/org/jboss/seam/security/acl ...

Shane Bryzak Shane_Bryzak at symantec.com
Sun Oct 22 05:59:22 EDT 2006


  User: sbryzak2
  Date: 06/10/22 05:59:22

  Modified:    src/main/org/jboss/seam/security/acl   AclImpl.java
  Added:       src/main/org/jboss/seam/security/acl  
                        AbstractAclProvider.java
  Log:
  added abstract acl provider base class
  
  Revision  Changes    Path
  1.2       +1 -1      jboss-seam/src/main/org/jboss/seam/security/acl/AclImpl.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AclImpl.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/acl/AclImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- AclImpl.java	18 Oct 2006 05:16:33 -0000	1.1
  +++ AclImpl.java	22 Oct 2006 09:59:22 -0000	1.2
  @@ -108,7 +108,7 @@
     private String name;
   
     /**
  -   *
  +   * Each Principal in this Acl can have at most one positive and one negative entry
      */
     private Map<Principal,AclPair> entries = new HashMap<Principal,AclPair>();
   
  
  
  
  1.1      date: 2006/10/22 09:59:22;  author: sbryzak2;  state: Exp;jboss-seam/src/main/org/jboss/seam/security/acl/AbstractAclProvider.java
  
  Index: AbstractAclProvider.java
  ===================================================================
  package org.jboss.seam.security.acl;
  
  import java.security.Principal;
  import java.security.acl.Acl;
  import java.security.acl.AclEntry;
  import java.security.acl.NotOwnerException;
  import java.security.acl.Permission;
  import java.util.Map;
  import java.util.Set;
  
  import org.jboss.seam.security.Authentication;
  
  /**
   * Abstract base implementation of AclProvider
   *
   * @author Shane Bryzak
   */
  public abstract class AbstractAclProvider implements AclProvider
  {
    public Acl getAcls(Object obj)
    {
      return internalGetAcls(obj, null);
    }
  
    public Acl getAcls(Object obj, Principal principal)
    {
      if (principal == null)
        throw new IllegalArgumentException("Principal cannot be null");
  
      return internalGetAcls(obj, principal);
    }
  
    protected Acl internalGetAcls(Object obj, Principal principal)
    {
      Principal owner = Authentication.instance();
  
      Acl acl = new AclImpl(owner);
  
      AclEntry entry = new AclEntryImpl();
  
      if (principal != null)
      {
        entry.setPrincipal(principal);
  
        for (Permission p : getPermissions(obj, principal))
        {
          entry.addPermission(p);
        }
      }
  
      try
      {
        acl.addEntry(owner, entry);
      }
      catch (NotOwnerException ex) { } // caller is owner
  
      return acl;
    }
  
    protected abstract Set<Permission> getPermissions(Object obj, Principal principal);
    protected abstract Map<Principal,Set<Permission>> getPermissions(Object obj);
  }
  
  
  



More information about the jboss-cvs-commits mailing list