public ActionForward addDelegationMember( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { IdentityManagementRoleDocumentForm roleDocumentForm = (IdentityManagementRoleDocumentForm) form; RoleDocumentDelegationMember newDelegationMember = roleDocumentForm.getDelegationMember(); // See if possible to add with just Group Details filled in (not returned from lookup) if (StringUtils.isEmpty(newDelegationMember.getMemberId()) && StringUtils.isNotEmpty(newDelegationMember.getMemberName()) && StringUtils.isNotEmpty(newDelegationMember.getMemberNamespaceCode()) && StringUtils.equals( newDelegationMember.getMemberTypeCode(), KimConstants.KimGroupMemberTypes.GROUP_MEMBER_TYPE.getCode())) { Group tempGroup = KimApiServiceLocator.getGroupService() .getGroupByNamespaceCodeAndName( newDelegationMember.getMemberNamespaceCode(), newDelegationMember.getMemberName()); if (tempGroup != null) { newDelegationMember.setMemberId(tempGroup.getId()); } } // See if possible to grab details for Principal if (StringUtils.isEmpty(newDelegationMember.getMemberId()) && StringUtils.isNotEmpty(newDelegationMember.getMemberName()) && StringUtils.equals( newDelegationMember.getMemberTypeCode(), KimConstants.KimGroupMemberTypes.PRINCIPAL_MEMBER_TYPE.getCode())) { Principal principal = KimApiServiceLocator.getIdentityService() .getPrincipalByPrincipalName(newDelegationMember.getMemberName()); if (principal != null) { newDelegationMember.setMemberId(principal.getPrincipalId()); } } if (checkDelegationMember(newDelegationMember) && KRADServiceLocatorWeb.getKualiRuleService() .applyRules( new AddDelegationMemberEvent( "", roleDocumentForm.getRoleDocument(), newDelegationMember))) { newDelegationMember.setDocumentNumber(roleDocumentForm.getDocument().getDocumentNumber()); if (StringUtils.isEmpty(newDelegationMember.getDelegationTypeCode())) { newDelegationMember.setDelegationTypeCode(DelegationType.SECONDARY.getCode()); } roleDocumentForm.getRoleDocument().addDelegationMember(newDelegationMember); roleDocumentForm.setDelegationMember( roleDocumentForm.getRoleDocument().getBlankDelegationMember()); } return mapping.findForward(RiceConstants.MAPPING_BASIC); }
public ActionForward changeDelegationMemberTypeCode( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { IdentityManagementRoleDocumentForm roleDocumentForm = (IdentityManagementRoleDocumentForm) form; KimDocumentRoleMember roleMember = roleDocumentForm .getRoleDocument() .getMember(roleDocumentForm.getDelegationMember().getRoleMemberId()); if (roleMember != null) { RoleDocumentDelegationMemberQualifier delegationMemberQualifier; for (KimDocumentRoleQualifier roleQualifier : roleMember.getQualifiers()) { delegationMemberQualifier = roleDocumentForm.getDelegationMember().getQualifier(roleQualifier.getKimAttrDefnId()); delegationMemberQualifier.setAttrVal(roleQualifier.getAttrVal()); } } return refresh(mapping, roleDocumentForm, request, response); }