use of org.kuali.kfs.kim.impl.type.KimTypeAttribute in project cu-kfs by CU-CommunityApps.
the class OrgReviewRoleServiceImpl method getAttributeDefinition.
protected KimAttribute getAttributeDefinition(String kimTypeId, String attributeName) {
// attempt to pull from cache
Map<String, KimAttribute> typeAttributes = ATTRIBUTE_CACHE.get(kimTypeId);
// if type has not been loaded, init
if (typeAttributes == null) {
KimType kimType = KimApiServiceLocator.getKimTypeInfoService().getKimType(kimTypeId);
if (kimType != null) {
List<KimTypeAttribute> attributes = kimType.getAttributeDefinitions();
typeAttributes = new HashMap<>();
if (attributes != null) {
// build the map and put it into the cache
for (KimTypeAttribute att : attributes) {
typeAttributes.put(att.getKimAttribute().getAttributeName(), att.getKimAttribute());
}
}
synchronized (ATTRIBUTE_CACHE) {
ATTRIBUTE_CACHE.put(kimTypeId, typeAttributes);
}
}
}
// now, see if the attribute is in there
if (typeAttributes != null) {
return typeAttributes.get(attributeName);
}
return null;
}
use of org.kuali.kfs.kim.impl.type.KimTypeAttribute in project cu-kfs by CU-CommunityApps.
the class SecurityRequestDocumentServiceImpl method buildRoleQualificationLine.
public SecurityRequestRoleQualification buildRoleQualificationLine(SecurityRequestRole requestRole, Map<String, String> qualification) {
SecurityRequestRoleQualification requestQualification = new SecurityRequestRoleQualification();
requestQualification.setDocumentNumber(requestRole.getDocumentNumber());
requestQualification.setRoleRequestId(requestRole.getRoleRequestId());
KimType typeInfo = KSRUtil.getTypeInfoForRoleRequest(requestRole);
List<KimTypeAttribute> typeAttributes = KSRUtil.getTypeAttributesForRoleRequest(requestRole);
for (KimTypeAttribute attributeInfo : typeAttributes) {
SecurityRequestRoleQualificationDetail requestQualificationDetail = new SecurityRequestRoleQualificationDetail();
requestQualificationDetail.setDocumentNumber(requestRole.getDocumentNumber());
requestQualificationDetail.setRoleRequestId(requestRole.getRoleRequestId());
requestQualificationDetail.setQualificationId(requestRole.getNextQualificationId());
requestQualificationDetail.setAttributeId(attributeInfo.getKimAttribute().getId());
requestQualificationDetail.setRoleTypeId(typeInfo.getId());
if ((qualification != null) && qualification.containsKey(attributeInfo.getKimAttribute().getAttributeName())) {
requestQualificationDetail.setAttributeValue(qualification.get(attributeInfo.getKimAttribute().getAttributeName()));
}
requestQualification.getRoleQualificationDetails().add(requestQualificationDetail);
}
requestQualification.setQualificationId(requestRole.getNextQualificationId());
requestRole.setNextQualificationId(requestRole.getNextQualificationId() + 1);
return requestQualification;
}
use of org.kuali.kfs.kim.impl.type.KimTypeAttribute in project cu-kfs by CU-CommunityApps.
the class KSRUtil method getTypeAttributesForRoleRequest.
@SuppressWarnings("unchecked")
public static List<KimTypeAttribute> getTypeAttributesForRoleRequest(SecurityRequestRole requestRole) {
List<KimTypeAttribute> typeAttributes = new ArrayList<KimTypeAttribute>();
KimType typeInfo = getTypeInfoForRoleRequest(requestRole);
if (requestRole.isQualifiedRole()) {
typeAttributes.addAll(typeInfo.getAttributeDefinitions());
List<String> typeSort = new ArrayList<String>();
typeSort.add("sortCode");
Collections.<KimTypeAttribute>sort(typeAttributes, new BeanPropertyComparator(typeSort));
}
return typeAttributes;
}
use of org.kuali.kfs.kim.impl.type.KimTypeAttribute in project cu-kfs by CU-CommunityApps.
the class SecurityRequestRoleQualification method getWrappedRoleQualificationDetails.
public List<WrappedRoleQualificationDetail> getWrappedRoleQualificationDetails() {
KimType kimType = getKimTypeFromQualificationDetails();
if (ObjectUtils.isNull(kimType)) {
return Collections.emptyList();
}
Map<String, KimTypeAttribute> typeAttributes = KSRUtil.getTypeAttributesMappedByAttributeId(kimType);
Stream.Builder<WrappedRoleQualificationDetail> wrappedDetails = Stream.builder();
int i = 0;
for (SecurityRequestRoleQualificationDetail roleQualificationDetail : roleQualificationDetails) {
KimTypeAttribute typeAttribute = typeAttributes.get(roleQualificationDetail.getAttributeId());
if (ObjectUtils.isNull(typeAttribute)) {
throw new IllegalStateException("Could not find attribute " + roleQualificationDetail.getAttributeId() + " for KIM type " + kimType.getNamespaceCode() + " " + kimType.getName());
}
wrappedDetails.add(new WrappedRoleQualificationDetail(roleQualificationDetail, i, typeAttribute.getSortCode()));
i++;
}
return wrappedDetails.build().sorted(Comparator.comparing(WrappedRoleQualificationDetail::getSortCode)).collect(Collectors.toUnmodifiableList());
}
use of org.kuali.kfs.kim.impl.type.KimTypeAttribute in project cu-kfs by CU-CommunityApps.
the class SecurityRequestRoleQualificationDetail method getGenericAttributeEntry.
protected Map<String, Object> getGenericAttributeEntry() {
Map<String, Object> attributeEntry = new HashMap<String, Object>();
KimTypeAttribute attributeInfo = getKimType().getAttributeDefinitionById(attributeId);
Map<String, Object> controlMap = new StringMap();
TextControlDefinition textControl = new TextControlDefinition();
textControl.setSize(15);
controlMap.put("text", "true");
controlMap.put("size", textControl.getSize().toString());
controlMap.put("datePicker", Boolean.valueOf(textControl.isDatePicker()).toString());
controlMap.put("ranged", Boolean.valueOf(textControl.isRanged()).toString());
attributeEntry.put("control", controlMap);
attributeEntry.put("name", attributeInfo.getKimAttribute().getAttributeName());
String label = attributeInfo.getKimAttribute().getAttributeLabel();
if (StringUtils.isBlank(label)) {
label = attributeInfo.getKimAttribute().getAttributeName();
}
attributeEntry.put("label", label);
attributeEntry.put("shortLabel", label);
return attributeEntry;
}
Aggregations