1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.ole.coa.identity;
17
18 import java.util.Collections;
19 import java.util.Map;
20 import java.util.Properties;
21
22 import org.apache.commons.lang.StringUtils;
23 import org.kuali.ole.coa.service.OrgReviewRoleService;
24 import org.kuali.ole.sys.OLEConstants;
25 import org.kuali.ole.sys.businessobject.inquiry.KfsInquirableImpl;
26 import org.kuali.ole.sys.context.SpringContext;
27 import org.kuali.rice.kns.lookup.HtmlData;
28 import org.kuali.rice.krad.bo.BusinessObject;
29 import org.kuali.rice.krad.util.KRADConstants;
30 import org.kuali.rice.krad.util.UrlFactory;
31
32 public class OrgReviewRoleInquirableImpl extends KfsInquirableImpl {
33
34 protected static final String ORG_REVIEW_ROLE_INQUIRY_TITLE = "orgReviewRoleInquiryTitle";
35 protected static final String ORG_REVIEW_ROLE_MEMBER_ID = "orgReviewRoleMemberId";
36
37 private static OrgReviewRoleService orgReviewRoleService;
38
39 @Override
40 public BusinessObject getBusinessObject(Map fieldValues) {
41 OrgReviewRole orr = new OrgReviewRole();
42 String roleMemberId = (String) fieldValues.get(ORG_REVIEW_ROLE_MEMBER_ID);
43 if ( StringUtils.isNotBlank( roleMemberId ) ) {
44 if ( Boolean.valueOf( (String)fieldValues.get(OrgReviewRole.DELEGATE_FIELD_NAME) ) ) {
45 getOrgReviewRoleService().populateOrgReviewRoleFromDelegationMember(orr, null, roleMemberId );
46 } else {
47 getOrgReviewRoleService().populateOrgReviewRoleFromRoleMember(orr, roleMemberId );
48 }
49 }
50 return orr;
51 }
52
53 @Override
54 public HtmlData getInquiryUrl(BusinessObject businessObject, String attributeName, boolean forceInquiry) {
55 if ( StringUtils.equals( attributeName, ORG_REVIEW_ROLE_INQUIRY_TITLE) ) {
56 Properties parameters = new Properties();
57 parameters.put(KRADConstants.DISPATCH_REQUEST_PARAMETER, OLEConstants.START_METHOD);
58 parameters.put(KRADConstants.BUSINESS_OBJECT_CLASS_ATTRIBUTE, OrgReviewRole.class.getName());
59 if ( StringUtils.isNotBlank(((OrgReviewRole)businessObject).getDelegationMemberId()) ) {
60 parameters.put(ORG_REVIEW_ROLE_MEMBER_ID, ((OrgReviewRole)businessObject).getDelegationMemberId() );
61 parameters.put(OrgReviewRole.DELEGATE_FIELD_NAME, "true" );
62 } else if ( StringUtils.isNotBlank(((OrgReviewRole)businessObject).getRoleMemberId()) ) {
63 parameters.put(ORG_REVIEW_ROLE_MEMBER_ID, ((OrgReviewRole)businessObject).getRoleMemberId() );
64 parameters.put(OrgReviewRole.DELEGATE_FIELD_NAME, "false" );
65 }
66 return getHyperLink(OrgReviewRole.class, Collections.EMPTY_MAP, UrlFactory.parameterizeUrl(KRADConstants.INQUIRY_ACTION, parameters));
67 } else {
68 return super.getInquiryUrl(businessObject, attributeName, forceInquiry);
69 }
70 }
71
72 protected OrgReviewRoleService getOrgReviewRoleService() {
73 if ( orgReviewRoleService == null ) {
74 orgReviewRoleService = SpringContext.getBean( OrgReviewRoleService.class );
75 }
76 return orgReviewRoleService;
77 }
78 }