Class AttributeAssignActionSet

java.lang.Object
edu.internet2.middleware.grouper.GrouperAPI
edu.internet2.middleware.grouper.attr.assign.AttributeAssignActionSet
All Implemented Interfaces:
GrouperSet, HibGrouperLifecycle, Hib3GrouperVersioned, GrouperCloneable, GrouperUtil.FieldValuable, XmlImportable<AttributeAssignActionSet>, XmlImportableBase<AttributeAssignActionSet>, Serializable, org.hibernate.classic.Lifecycle

public class AttributeAssignActionSet extends GrouperAPI implements Hib3GrouperVersioned, GrouperSet, XmlImportable<AttributeAssignActionSet>
 Make a directed graph of attribute assign actions.  e.g. "admin" implies "read" and "write".
 
 RegistryReset.internal_resetRegistryAndAddTestSubjects();
 exit;
 
 grouperSession = GrouperSession.startRootSession();
 root = StemFinder.findRootStem(this.grouperSession);
 
 top = this.root.addChildStem("top", "top display name");
 -or-
 top = StemFinder.findByName(grouperSession, "top");
 
 role = top.addChildRole("role", "role");
 
 //make a permission definition 
 permissionDef = top.addChildAttributeDef("permissionDef", AttributeDefType.perm);
 //make a permission name
 permissionName = top.addChildAttributeDefName(permissionDef, "permission", "permission");
 
 //set the list of allowed actions for this permission definition
 permissionDef.getAttributeDefActionDelegate().configureActionList("admin,read,write");
 admin = permissionDef.getAttributeDefActionDelegate().allowedAction("admin", true);
 read = permissionDef.getAttributeDefActionDelegate().allowedAction("read", true);
 write = permissionDef.getAttributeDefActionDelegate().allowedAction("write", true);
 
 //if someone has admin, then they have read or write
 admin.getAttributeAssignActionSetDelegate().addToAttributeAssignActionSet(read);
 admin.getAttributeAssignActionSetDelegate().addToAttributeAssignActionSet(write);
 
 //assign admin permission to a role
 role.getPermissionRoleDelegate().assignRolePermission("admin", permissionName);
 
 //assign the role to a user
 role.addMember(SubjectFinder.findById("test.subject.0"));
 
 //see what permissions that user has (true is returned to all)
 GrouperDAOFactory.getFactory().getPermissionEntry().hasPermissionBySubjectIdSourceIdActionAttributeDefName("test.subject.0", "jdbc", "admin", "top:permission");
 GrouperDAOFactory.getFactory().getPermissionEntry().hasPermissionBySubjectIdSourceIdActionAttributeDefName("test.subject.0", "jdbc", "read", "top:permission");
 GrouperDAOFactory.getFactory().getPermissionEntry().hasPermissionBySubjectIdSourceIdActionAttributeDefName("test.subject.0", "jdbc", "write", "top:permission");
 
 
See Also: