Class AssignSelfOptOutMembershipPrivilegeRevocationVetoHook

java.lang.Object
edu.internet2.middleware.grouper.hooks.MembershipHooks
edu.internet2.middleware.grouper.hooks.examples.AssignSelfOptOutMembershipPrivilegeRevocationVetoHook

public class AssignSelfOptOutMembershipPrivilegeRevocationVetoHook extends MembershipHooks
 If you want the group or groups in a folder to allow opt out to anyone in group, 
 then configure this hook in grouper.properties:
 
 hooks.group.class=edu.internet2.middleware.grouper.hooks.examples.AssignSelfOptOutGroupPrivilegeHook
 hooks.membership.class=edu.internet2.middleware.grouper.hooks.examples.AssignSelfOptOutMembershipPrivilegeRevocationVetoHook
 
 configure an attribute to assign to groups or folders in grouper.properties
 
 grouper.optOutRequired.attributeDefName = a:b:c:assignOptOut
 
 https://bugs.internet2.edu/jira/browse/GRP-1197
 
 grouperSession = GrouperSession.startRootSession(); 
 String attributeFolderName = "a:b:c"; 
 attributeDef = new AttributeDefSave(grouperSession).assignName(attributeFolderName + ":assignOptOutDef").assignToStem(true).assignAttributeDefType(AttributeDefType.attr).assignCreateParentStemsIfNotExist(true).assignValueType(AttributeDefValueType.marker).save();
 attributeDef.getAttributeDefActionDelegate().configureActionList("assign"); 
 attributeDefName = new AttributeDefNameSave(grouperSession, attributeDef).assignName(attributeFolderName + ":assignOptOut").assignCreateParentStemsIfNotExist(true).save(); 
 
 Test it out
 
 stem = new StemSave(grouperSession).assignName("j:k").assignCreateParentStemsIfNotExist(true).save();
 stem.getAttributeDelegate().assignAttribute(attributeDefName);
 groupSub = new GroupSave(grouperSession).assignName("j:k:l:m").assignCreateParentStemsIfNotExist(true).save();