View Javadoc

1   /**
2    * Copyright 2005-2012 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kim.bo.ui;
17  
18  import org.hibernate.annotations.GenericGenerator;
19  import org.hibernate.annotations.Parameter;
20  import org.kuali.rice.kew.api.util.CodeTranslator;
21  import org.kuali.rice.kim.api.responsibility.Responsibility;
22  import org.kuali.rice.kim.api.services.KimApiServiceLocator;
23  import org.kuali.rice.kim.impl.responsibility.ResponsibilityBo;
24  import org.kuali.rice.kim.impl.role.RoleResponsibilityBo;
25  import org.kuali.rice.krad.service.KRADServiceLocator;
26  import org.kuali.rice.krad.util.ObjectUtils;
27  
28  import javax.persistence.Column;
29  import javax.persistence.Entity;
30  import javax.persistence.GeneratedValue;
31  import javax.persistence.Id;
32  import javax.persistence.IdClass;
33  import javax.persistence.Table;
34  import javax.persistence.Transient;
35  
36  /**
37   * This is a description of what this class does - shyu don't forget to fill this in. 
38   * 
39   * @author Kuali Rice Team (rice.collab@kuali.org)
40   *
41   */
42  @IdClass(KimDocumentRoleResponsibilityActionId.class)
43  @Entity
44  @Table(name="KRIM_PND_ROLE_RSP_ACTN_MT")
45  public class KimDocumentRoleResponsibilityAction extends KimDocumentBoEditableBase {
46  	private static final long serialVersionUID = 696663543888096105L;
47  	@Id
48  	@GeneratedValue(generator="KRIM_ROLE_RSP_ACTN_ID_S")
49  	@GenericGenerator(name="KRIM_ROLE_RSP_ACTN_ID_S",strategy="org.kuali.rice.core.jpa.spring.RiceNumericStringSequenceStyleGenerator",parameters={
50  			@Parameter(name="sequence_name",value="KRIM_ROLE_RSP_ACTN_ID_S"),
51  			@Parameter(name="value_column",value="id")
52  		})
53  	@Column(name="ROLE_RSP_ACTN_ID")
54  	protected String roleResponsibilityActionId;
55  	@Column(name="ROLE_RSP_ID")
56  	protected String roleResponsibilityId;
57  	@Column(name="ROLE_MBR_ID")
58  	protected String roleMemberId;
59  	@Column(name="ACTN_TYP_CD")
60  	protected String actionTypeCode;
61  	@Column(name="ACTN_PLCY_CD")
62  	protected String actionPolicyCode;
63  	@Column(name="PRIORITY_NBR")
64  	protected Integer priorityNumber;
65  	@Column(name="FRC_ACTN")
66  	protected boolean forceAction;
67  	@Transient
68  	protected ResponsibilityBo kimResponsibility;
69  	@Transient
70  	protected RoleResponsibilityBo roleResponsibility;
71  
72  
73  	
74  	/*{
75  		roleResponsibility = new RoleResponsibilityImpl();
76  		roleResponsibility.setKimResponsibility(new KimResponsibilityImpl());
77  		roleResponsibility.getKimResponsibility().setTemplate(new KimResponsibilityTemplateImpl());
78  	}*/
79  	
80  	/**
81  	 * @return the kimResponsibility
82  	 */
83  	public ResponsibilityBo getKimResponsibility() {
84  			if ( ObjectUtils.isNull( kimResponsibility ) && ObjectUtils.isNotNull( getRoleResponsibility() ) ) {
85  			//TODO: this needs to be changed to use the KimResponsibilityInfo object
86  			// but the changes are involved in the UiDocumentService based on the copyProperties method used
87  			// to move the data to/from the document/real objects
88              Responsibility info = KimApiServiceLocator.getResponsibilityService().getResponsibility(getRoleResponsibility().getResponsibilityId());
89              kimResponsibility = ResponsibilityBo.from(info);
90  			}
91  		return kimResponsibility;
92  	}
93  	/**
94  	 * @param kimResponsibility the kimResponsibility to set
95  	 */
96  	public void setKimResponsibility(ResponsibilityBo kimResponsibility) {
97  		this.kimResponsibility = kimResponsibility;
98  	}
99  	public String getRoleResponsibilityActionId() {
100 		return this.roleResponsibilityActionId;
101 	}
102 	public void setRoleResponsibilityActionId(String roleResponsibilityResolutionId) {
103 		this.roleResponsibilityActionId = roleResponsibilityResolutionId;
104 	}
105 	public String getRoleResponsibilityId() {
106 		return this.roleResponsibilityId;
107 	}
108 	public void setRoleResponsibilityId(String roleResponsibilityId) {
109 		this.roleResponsibilityId = roleResponsibilityId;
110 	}
111 	public String getActionTypeCode() {
112 		return this.actionTypeCode;
113 	}
114 	public void setActionTypeCode(String actionTypeCode) {
115 		this.actionTypeCode = actionTypeCode;
116 	}
117 	public Integer getPriorityNumber() {
118 		return this.priorityNumber;
119 	}
120 	public void setPriorityNumber(Integer priorityNumber) {
121 		this.priorityNumber = priorityNumber;
122 	}
123 
124 	public String getActionPolicyCode() {
125 		return this.actionPolicyCode;
126 	}
127 	public void setActionPolicyCode(String actionPolicyCode) {
128 		this.actionPolicyCode = actionPolicyCode;
129 	}
130 	public String getRoleMemberId() {
131 		return this.roleMemberId;
132 	}
133 	public void setRoleMemberId(String roleMemberId) {
134 		this.roleMemberId = roleMemberId;
135 	}
136 	
137 	/**
138 	 * 
139 	 * This method fore readonlyalterdisplay
140 	 * 
141 	 * @return
142 	 */
143 	public String getActionPolicyDescription() {
144 		return (String)CodeTranslator.approvePolicyLabels.get(this.actionPolicyCode);
145 	}
146 
147 	/**
148 	 * 
149 	 * This method fore readonlyalterdisplay
150 	 * 
151 	 * @return
152 	 */
153 	public String getActionTypeDescription() {
154 		return (String) CodeTranslator.arLabels.get(this.actionTypeCode);
155 	}
156 	/**
157 	 * @return the roleResponsibility
158 	 */
159 	public RoleResponsibilityBo getRoleResponsibility() {
160 		if ( ObjectUtils.isNull( roleResponsibility ) && roleResponsibilityId != null ) {
161 			//TODO: this needs to be changed to use the KimResponsibilityInfo object
162 			// but the changes are involved in the UiDocumentService based on the copyProperties method used
163 			// to move the data to/from the document/real objects
164 			roleResponsibility = KRADServiceLocator.getBusinessObjectService().findBySinglePrimaryKey(RoleResponsibilityBo.class, getRoleResponsibilityId());
165 		}
166 		return roleResponsibility;
167 	}
168 	/**
169 	 * @param roleResponsibility the roleResponsibility to set
170 	 */
171 	public void setRoleResponsibility(RoleResponsibilityBo roleResponsibility) {
172 		this.roleResponsibility = roleResponsibility;
173 	}
174 
175 	/**
176 	 * @return the forceAction
177 	 */
178 	public boolean isForceAction() {
179 		return this.forceAction;
180 	}
181 	/**
182 	 * @param forceAction the forceAction to set
183 	 */
184 	public void setForceAction(boolean forceAction) {
185 		this.forceAction = forceAction;
186 	}
187 
188 }