edu.internet2.middleware.grouper.hooks.examples
Class AssignReadonlyAdminPrivilegeGroupHook

java.lang.Object
  extended by edu.internet2.middleware.grouper.hooks.GroupHooks
      extended by edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeGroupHook

public class AssignReadonlyAdminPrivilegeGroupHook
extends GroupHooks

AssignReadOnlyAdminPrivilege adds the read privileges for the newly created groups to self (this group's subject)

 assign READ to an admins group based on attribute assignment to a parent folder
 
 configure in grouper.properties:
 
 hooks.group.class=edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeGroupHook
 hooks.membership.class=edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeVetoMembershipHook
 
 grouper.readonlyAdminEnforced.attributeDefName = a:b:c:reaodnlyAdmin
 grouper.readonlyAdminEnforced.groupName = c:d:readonlyAdmins
 
 setup objects in GSH:
 
 grouperSession = GrouperSession.startRootSession();
 String attributeFolderName = "a:b:c";
 attributeDef = new AttributeDefSave(grouperSession).assignName(attributeFolderName + ":readonlyAdminDef").assignToStem(true).assignAttributeDefType(AttributeDefType.attr).assignCreateParentStemsIfNotExist(true).assignValueType(AttributeDefValueType.marker).save();
 attributeDef.getAttributeDefActionDelegate().configureActionList("assign");
 attributeDefName = new AttributeDefNameSave(grouperSession, attributeDef).assignName(attributeFolderName + ":readonlyAdmin").assignCreateParentStemsIfNotExist(true).save();
 groupAdmin = new GroupSave(grouperSession).assignName("c:d:readonlyAdmins").assignCreateParentStemsIfNotExist(true).save();
 
 make a group to test:
 
 stem = new StemSave(grouperSession).assignName("l:m").assignCreateParentStemsIfNotExist(true).save();
 stem.getAttributeDelegate().assignAttribute(attributeDefName);
 groupSub = new GroupSave(grouperSession).assignName("l:m:n:o").assignCreateParentStemsIfNotExist(true).save();
 groupNotSub = new GroupSave(grouperSession).assignName("l:p").assignCreateParentStemsIfNotExist(true).save();
 
 


Field Summary
 
Fields inherited from class edu.internet2.middleware.grouper.hooks.GroupHooks
METHOD_GROUP_POST_COMMIT_DELETE, METHOD_GROUP_POST_COMMIT_INSERT, METHOD_GROUP_POST_COMMIT_UPDATE, METHOD_GROUP_POST_DELETE, METHOD_GROUP_POST_INSERT, METHOD_GROUP_POST_UPDATE, METHOD_GROUP_PRE_DELETE, METHOD_GROUP_PRE_INSERT, METHOD_GROUP_PRE_UPDATE
 
Constructor Summary
AssignReadonlyAdminPrivilegeGroupHook()
           
 
Method Summary
 void groupPostCommitInsert(HooksContext hooksContext, HooksGroupBean postCommitInsertBean)
          called right after the commit of a post insert commit.
 
Methods inherited from class edu.internet2.middleware.grouper.hooks.GroupHooks
groupPostCommitDelete, groupPostCommitUpdate, groupPostDelete, groupPostInsert, groupPostUpdate, groupPreDelete, groupPreInsert, groupPreUpdate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssignReadonlyAdminPrivilegeGroupHook

public AssignReadonlyAdminPrivilegeGroupHook()
Method Detail

groupPostCommitInsert

public void groupPostCommitInsert(HooksContext hooksContext,
                                  HooksGroupBean postCommitInsertBean)
Description copied from class: GroupHooks
called right after the commit of a post insert commit. Note, cant veto this or participate in the tx

Overrides:
groupPostCommitInsert in class GroupHooks
See Also:
GroupHooks.groupPostCommitInsert(edu.internet2.middleware.grouper.hooks.beans.HooksContext, edu.internet2.middleware.grouper.hooks.beans.HooksGroupBean)