...
Code Block |
---|
String groupName = "penn:apps:ngss:knowledgeLink:prod:ngssProdHasTakenTrainingReprieve"; String expireAfterDays = "7"; grouperSession = GrouperSession.startRootSession(); group = GroupFinder.findByName(grouperSession, groupName); AttributeAssign attributeAssign = group.getAttributeDelegate().addAttribute(RuleUtils.ruleAttributeDefName()).getAttributeAssign(); AttributeValueDelegate attributeValueDelegate = attributeAssign.getAttributeValueDelegate(); attributeValueDelegate.assignValue(RuleUtils.ruleActAsSubjectSourceIdName(), SubjectFinder.findRootSubject().getSourceId()); attributeValueDelegate.assignValue(RuleUtils.ruleActAsSubjectIdName(), SubjectFinder.findRootSubject().getId()); attributeValueDelegate.assignValue(RuleUtils.ruleCheckTypeName(),RuleCheckType.membershipAdd.name()); attributeValueDelegate.assignValue(RuleUtils.ruleThenEnumName(), RuleThenEnum.assignMembershipDisabledDaysForOwnerGroupId.name()); attributeValueDelegate.assignValue(RuleUtils.ruleThenEnumArg0Name(), expireAfterDays); attributeValueDelegate.assignValue(RuleUtils.ruleThenEnumArg1Name(), "F"); attributeValueDelegate.assignValue(RuleUtils.ruleValidName(), "T"); String isValidString = attributeValueDelegate.retrieveValueString(RuleUtils.ruleValidName()); if (!"T".equals(isValidString)) {throw new RuntimeException("Not valid! " + isValidString);} group.addMember(SubjectFinder.findRootSubject()); Member member = MemberFinder.findBySubject(grouperSession, SubjectFinder.findRootSubject(), true); Membership membership = group.getImmediateMembership(Group.getDefaultList(), member, true, true); java.sql.Timestamp disabledTime = membership.getDisabledTime(); group.deleteMember(SubjectFinder.findRootSubject()); if (disabledTime == null) {throw new RuntimeException("Rule didnt set the disabled time");} |