debugMap.put("assignValue", true); attributeAssign.getAttributeValueDelegate().assignValue(attributeName, value);
@Override public Boolean callback(GrouperSession grouperSession) throws GrouperSessionException { String date = new SimpleDateFormat("yyyy/MM/dd").format(new Date()); AttributeDefName attributeDefName = GrouperAttestationJob.retrieveAttributeDefNameValueDef(); // go through all the child groups and certify if they have attestation attributes for (Group group: childGroups) { AttributeAssign attributeAssign = group.getAttributeDelegate().retrieveAssignment(null, attributeDefName, false, false); if (attributeAssign != null) { if (onlyIfNeverCertified && attributeAssign.getAttributeValueDelegate().retrieveValueString(GrouperAttestationJob.retrieveAttributeDefNameDateCertified().getName()) == null) { attributeAssign.getAttributeValueDelegate().assignValue(GrouperAttestationJob.retrieveAttributeDefNameDateCertified().getName(), date); } else if (!onlyIfNeverCertified) { attributeAssign.getAttributeValueDelegate().assignValue(GrouperAttestationJob.retrieveAttributeDefNameDateCertified().getName(), date); } } } return null; } });
/** * assign an attribute value * @param group * @param attributeDefName * @param value */ private static void assignGroupLdapAttribute(Group group, AttributeDefName attributeDefName, String value) { AttributeDefName grouperLoaderAttributeDefName = AttributeDefNameFinder.findByName(LoaderLdapUtils.grouperLoaderLdapName(), false); AttributeAssign attributeAssign = group.getAttributeDelegate().retrieveAssignment(null, grouperLoaderAttributeDefName, false, false); if (attributeAssign == null) { if (StringUtils.isBlank(value)) { return; } throw new RuntimeException("Cant find ldap loader attribute assign (" + attributeDefName.getName() + ") on group (" + group.getName() + ")"); } if (StringUtils.isBlank(value)) { attributeAssign.getAttributeDelegate().removeAttribute(attributeDefName); } else { attributeAssign.getAttributeValueDelegate().assignValue(attributeDefName.getName(), value); } }
/** * @param group */ private void updateAttestationLastCertifiedDate(Group group) { if (!group.getAttributeDelegate().hasAttributeByName(GrouperAttestationJob.retrieveAttributeDefNameValueDef().getName())) { group.getAttributeDelegate().assignAttribute(GrouperAttestationJob.retrieveAttributeDefNameValueDef()); } AttributeAssign attributeAssign = group.getAttributeDelegate().retrieveAssignment(null, GrouperAttestationJob.retrieveAttributeDefNameValueDef(), false, false); String date = new SimpleDateFormat("yyyy/MM/dd").format(new Date()); attributeAssign.getAttributeValueDelegate().assignValue(GrouperAttestationJob.retrieveAttributeDefNameDateCertified().getName(), date); // add/update the directAssignment attribute String attestationDirectAssignment = attributeAssign.getAttributeValueDelegate().retrieveValueString(GrouperAttestationJob.retrieveAttributeDefNameDirectAssignment().getName()); if (attestationDirectAssignment == null) { attributeAssign.getAttributeValueDelegate().assignValue(GrouperAttestationJob.retrieveAttributeDefNameDirectAssignment().getName(), "false"); } //reset number of days GrouperAttestationJob.updateCalculatedDaysUntilRecertify(group, attributeAssign); }
@Override public Boolean callback(GrouperSession grouperSession) throws GrouperSessionException { AttributeAssign attributeAssign = GROUP.getAttributeDelegate().retrieveAssignment(null, GrouperAttestationJob.retrieveAttributeDefNameValueDef(), false, false); if (attributeAssign == null) { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.error, TextContainer.retrieveFromRequest().getText().get("noDirectAttestationAttributeOnGroupError"))); return true; } attributeAssign.getAttributeValueDelegate().assignValue(GrouperAttestationJob.retrieveAttributeDefNameDateCertified().getName(), null); GrouperAttestationJob.updateCalculatedDaysUntilRecertify(GROUP, attributeAssign); AuditEntry auditEntry = new AuditEntry(AuditTypeBuiltin.GROUP_ATTESTATION_CLEAR_LAST_CERTIFIED_DATE, "groupId", GROUP.getId(), "groupName", GROUP.getName()); auditEntry.setDescription("Clear last certified date attribute of group: " + GROUP.getName()); attestationSaveAudit(auditEntry); setupAttestation(GROUP); guiResponseJs.addAction(GuiScreenAction.newInnerHtmlFromJsp("#groupAttestation", "/WEB-INF/grouperUi2/group/groupAttestationView.jsp")); guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.success, TextContainer.retrieveFromRequest().getText().get("groupAttestationSuccessClearedAttestationDate"))); return false; } });