Search in sources :

Example 1 with KimTypeService

use of org.kuali.kfs.kim.framework.type.KimTypeService in project cu-kfs by CU-CommunityApps.

the class RoleServiceImpl method getDelegationTypeService.

protected DelegationTypeService getDelegationTypeService(String delegationId) {
    DelegationTypeService service = null;
    DelegateType delegateType = getKimDelegationImpl(delegationId);
    KimType kimType = KimApiServiceLocator.getKimTypeInfoService().getKimType(delegateType.getKimTypeId());
    if (kimType != null) {
        KimTypeService tempService = KimFrameworkServiceLocator.getKimTypeService(kimType);
        if (tempService instanceof DelegationTypeService) {
            service = (DelegationTypeService) tempService;
        } else {
            LOG.error("Service returned for type " + kimType + "(" + kimType.getName() + ") was not a DelegationTypeService.  Was a " + (tempService != null ? tempService.getClass() : "(null)"));
        }
    } else {
        // delegateType has no type - default to role type if possible
        RoleTypeService roleTypeService = getRoleTypeService(delegateType.getRoleId());
        if (roleTypeService instanceof DelegationTypeService) {
            service = (DelegationTypeService) roleTypeService;
        }
    }
    return service;
}
Also used : KimType(org.kuali.kfs.kim.impl.type.KimType) RoleTypeService(org.kuali.kfs.kim.framework.role.RoleTypeService) KimTypeService(org.kuali.kfs.kim.framework.type.KimTypeService) DelegationTypeService(org.kuali.kfs.kim.framework.common.delegate.DelegationTypeService) DelegateType(org.kuali.kfs.kim.impl.common.delegate.DelegateType)

Example 2 with KimTypeService

use of org.kuali.kfs.kim.framework.type.KimTypeService in project cu-kfs by CU-CommunityApps.

the class SecurityRequestDocumentRule method validateQualification.

protected boolean validateQualification(KimType typeInfo, SecurityRequestRoleQualification requestRoleQualification, String fieldKeyPrefix) {
    boolean success = true;
    KimTypeService kimTypeService = KimFrameworkServiceLocator.getKimTypeService(typeInfo);
    try {
        List<AttributeError> attributeErrors = kimTypeService.validateAttributes(typeInfo.getId(), requestRoleQualification.buildQualificationAttributeSet());
        if (!attributeErrors.isEmpty()) {
            success = false;
        }
        for (AttributeError entry : attributeErrors) {
            String attributeName = entry.getAttributeName();
            int qualificationDetailIndex = findQualificationRecordForAttribute(requestRoleQualification.getRoleQualificationDetails(), attributeName);
            String fieldKey = fieldKeyPrefix + KSRPropertyConstants.SECURITY_REQUEST_DOC_ROLE_QUAL_DETAILS + "[" + qualificationDetailIndex + "]." + KSRPropertyConstants.SECURITY_REQUEST_DOC_ROLE_ATTR_VALUE;
            String attributeError = entry.getMessage();
            String messageKey = StringUtils.substringBefore(attributeError, ":");
            String messageParameter = StringUtils.substringAfter(attributeError, ":");
            GlobalVariables.getMessageMap().putError(fieldKey, messageKey, messageParameter);
        }
    } catch (Exception e) {
        String input = KRADConstants.DOCUMENT_PROPERTY_NAME + "." + KRADConstants.DOCUMENT_HEADER_PROPERTY_NAME;
        GlobalVariables.getMessageMap().putInfo(input, KSRKeyConstants.ERROR_SECURITY_REQUEST_DOC_SERVICE_EXCEPTION, new String[] { "SOME FILLER TEXT" });
    }
    return success;
}
Also used : KimTypeService(org.kuali.kfs.kim.framework.type.KimTypeService) AttributeError(org.kuali.kfs.core.api.uif.AttributeError)

Example 3 with KimTypeService

use of org.kuali.kfs.kim.framework.type.KimTypeService in project cu-kfs by CU-CommunityApps.

the class SecurityProvisioningGroupRule method validateSecurityProvisioningGroup.

@SuppressWarnings("deprecation")
private boolean validateSecurityProvisioningGroup(MaintenanceDocument document, SecurityProvisioningGroup securityProvisioningGroup, int index) {
    boolean success = true;
    RoleLite role = StringUtils.isBlank(securityProvisioningGroup.getRoleId()) ? null : getRoleService().getRoleWithoutMembers(securityProvisioningGroup.getRoleId());
    if (role != null) {
        KimType kimType = getKimTypeInfoService().getKimType(role.getKimTypeId());
        KimTypeService kimTypeService = getKimTypeService(kimType);
        if (kimTypeService != null && kimTypeService instanceof org.kuali.kfs.kns.kim.role.DerivedRoleTypeServiceBase) {
            success = false;
            String errorPath = (index < 0) ? KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_ROLE_NAME : buildPropertyPath(buildIndexedProperty(KSRConstants.SECURITY_PROVISIONING_GROUPS, index), KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_ROLE_NAME);
            GlobalVariables.getMessageMap().putError(errorPath, KSRKeyConstants.ERROR_SECURITY_PROVISIONING_GROUP_ROLE_DERIVED, getRoleNameForErrorMessage(securityProvisioningGroup.getRole()));
        }
    }
    if (success) {
        // check second against last.
        if (StringUtils.isNotBlank(securityProvisioningGroup.getDistributedAuthorizerRoleId())) {
            if (StringUtils.isNotBlank(securityProvisioningGroup.getAdditionalAuthorizerRoleId())) {
                if (securityProvisioningGroup.getDistributedAuthorizerRoleId().equals(securityProvisioningGroup.getAdditionalAuthorizerRoleId())) {
                    success = false;
                    String errorPath = (index < 0) ? KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_ADD_AUTH_ROLE_ID : buildPropertyPath(buildIndexedProperty(KSRConstants.SECURITY_PROVISIONING_GROUPS, index), KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_ADD_AUTH_ROLE_ID);
                    GlobalVariables.getMessageMap().putError(errorPath, KSRKeyConstants.ERROR_SECURITY_PROVISIONING_GROUP_AUTH_UNIQUE, new String[] { KSRConstants.SECURITY_PROVISIONING_GROUP_ADD_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_DIST_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_LBL });
                }
            }
            if (StringUtils.isNotBlank(securityProvisioningGroup.getCentralAuthorizerRoleId())) {
                if (securityProvisioningGroup.getDistributedAuthorizerRoleId().equals(securityProvisioningGroup.getCentralAuthorizerRoleId())) {
                    success = false;
                    String errorPath = (index < 0) ? KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_ROLE_ID : buildPropertyPath(buildIndexedProperty(KSRConstants.SECURITY_PROVISIONING_GROUPS, index), KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_ROLE_ID);
                    GlobalVariables.getMessageMap().putError(errorPath, KSRKeyConstants.ERROR_SECURITY_PROVISIONING_GROUP_AUTH_UNIQUE, new String[] { KSRConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_DIST_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_ADD_AUTH_LBL });
                }
            }
        }
        if (StringUtils.isNotBlank(securityProvisioningGroup.getAdditionalAuthorizerRoleId())) {
            if (StringUtils.isNotBlank(securityProvisioningGroup.getCentralAuthorizerRoleId())) {
                if (securityProvisioningGroup.getAdditionalAuthorizerRoleId().equals(securityProvisioningGroup.getCentralAuthorizerRoleId())) {
                    success = false;
                    String errorPath = (index < 0) ? KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_ROLE_ID : buildPropertyPath(buildIndexedProperty(KSRConstants.SECURITY_PROVISIONING_GROUPS, index), KSRPropertyConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_ROLE_ID);
                    GlobalVariables.getMessageMap().putError(errorPath, KSRKeyConstants.ERROR_SECURITY_PROVISIONING_GROUP_AUTH_UNIQUE, new String[] { KSRConstants.SECURITY_PROVISIONING_GROUP_CENT_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_DIST_AUTH_LBL, KSRConstants.SECURITY_PROVISIONING_GROUP_ADD_AUTH_LBL });
                }
            }
        }
    }
    SecurityProvisioning securityProvisioning = (SecurityProvisioning) document.getDocumentDataObject();
    List<SecurityProvisioningGroup> securityProvisioningGroupList = securityProvisioning.getSecurityProvisioningGroups();
    for (int i = 0; i < securityProvisioningGroupList.size(); i++) {
        if (i == index) {
            continue;
        }
        if (securityProvisioningGroup.getTabId() == null) {
            break;
        }
        if (securityProvisioningGroup.getTabId().equals(securityProvisioningGroupList.get(i).getTabId())) {
            if (securityProvisioningGroup.getRoleTabOrder() != null && securityProvisioningGroup.getRoleTabOrder().equals(securityProvisioningGroupList.get(i).getRoleTabOrder())) {
                success = false;
                String errorPath = (index < 0) ? KSRPropertyConstants.PROVISIONING_ROLE_TAB_ORDER : buildPropertyPath(buildIndexedProperty(KSRConstants.SECURITY_PROVISIONING_GROUPS, index), KSRPropertyConstants.PROVISIONING_ROLE_TAB_ORDER);
                GlobalVariables.getMessageMap().putError(errorPath, KSRKeyConstants.ERROR_SECURITY_PROVISIONING_GROUP_TAB_ORDER_UNIQUE, getRoleNameForErrorMessage(securityProvisioningGroup.getRole()));
            }
        }
    }
    return success;
}
Also used : KimType(org.kuali.kfs.kim.impl.type.KimType) SecurityProvisioning(edu.cornell.kfs.ksr.businessobject.SecurityProvisioning) SecurityProvisioningGroup(edu.cornell.kfs.ksr.businessobject.SecurityProvisioningGroup) KimTypeService(org.kuali.kfs.kim.framework.type.KimTypeService) RoleLite(org.kuali.kfs.kim.impl.role.RoleLite)

Aggregations

KimTypeService (org.kuali.kfs.kim.framework.type.KimTypeService)3 KimType (org.kuali.kfs.kim.impl.type.KimType)2 SecurityProvisioning (edu.cornell.kfs.ksr.businessobject.SecurityProvisioning)1 SecurityProvisioningGroup (edu.cornell.kfs.ksr.businessobject.SecurityProvisioningGroup)1 AttributeError (org.kuali.kfs.core.api.uif.AttributeError)1 DelegationTypeService (org.kuali.kfs.kim.framework.common.delegate.DelegationTypeService)1 RoleTypeService (org.kuali.kfs.kim.framework.role.RoleTypeService)1 DelegateType (org.kuali.kfs.kim.impl.common.delegate.DelegateType)1 RoleLite (org.kuali.kfs.kim.impl.role.RoleLite)1