[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