View Javadoc

1   /**
2    * Copyright 2005-2013 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  	// temporary default value in lieu of optimistic locking
68  	@Column(name="VER_NBR")
69  	protected Long versionNumber = (long) 0;
70  	@Transient
71  	protected ResponsibilityBo kimResponsibility;
72  	@Transient
73  	protected RoleResponsibilityBo roleResponsibility;
74  
75  
76  	
77  	/*{
78  		roleResponsibility = new RoleResponsibilityImpl();
79  		roleResponsibility.setKimResponsibility(new KimResponsibilityImpl());
80  		roleResponsibility.getKimResponsibility().setTemplate(new KimResponsibilityTemplateImpl());
81  	}*/
82  	
83  	/**
84  	 * @return the kimResponsibility
85  	 */
86  	public ResponsibilityBo getKimResponsibility() {
87  			if ( ObjectUtils.isNull( kimResponsibility ) && ObjectUtils.isNotNull( getRoleResponsibility() ) ) {
88  			//TODO: this needs to be changed to use the KimResponsibilityInfo object
89  			// but the changes are involved in the UiDocumentService based on the copyProperties method used
90  			// to move the data to/from the document/real objects
91              Responsibility info = KimApiServiceLocator.getResponsibilityService().getResponsibility(getRoleResponsibility().getResponsibilityId());
92              kimResponsibility = ResponsibilityBo.from(info);
93  			}
94  		return kimResponsibility;
95  	}
96  	/**
97  	 * @param kimResponsibility the kimResponsibility to set
98  	 */
99  	public void setKimResponsibility(ResponsibilityBo kimResponsibility) {
100 		this.kimResponsibility = kimResponsibility;
101 	}
102 	public String getRoleResponsibilityActionId() {
103 		return this.roleResponsibilityActionId;
104 	}
105 	public void setRoleResponsibilityActionId(String roleResponsibilityResolutionId) {
106 		this.roleResponsibilityActionId = roleResponsibilityResolutionId;
107 	}
108 	public String getRoleResponsibilityId() {
109 		return this.roleResponsibilityId;
110 	}
111 	public void setRoleResponsibilityId(String roleResponsibilityId) {
112 		this.roleResponsibilityId = roleResponsibilityId;
113 	}
114 	public String getActionTypeCode() {
115 		return this.actionTypeCode;
116 	}
117 	public void setActionTypeCode(String actionTypeCode) {
118 		this.actionTypeCode = actionTypeCode;
119 	}
120 	public Integer getPriorityNumber() {
121 		return this.priorityNumber;
122 	}
123 	public void setPriorityNumber(Integer priorityNumber) {
124 		this.priorityNumber = priorityNumber;
125 	}
126 
127 	public String getActionPolicyCode() {
128 		return this.actionPolicyCode;
129 	}
130 	public void setActionPolicyCode(String actionPolicyCode) {
131 		this.actionPolicyCode = actionPolicyCode;
132 	}
133 	public String getRoleMemberId() {
134 		return this.roleMemberId;
135 	}
136 	public void setRoleMemberId(String roleMemberId) {
137 		this.roleMemberId = roleMemberId;
138 	}
139 	
140 	/**
141 	 * 
142 	 * This method fore readonlyalterdisplay
143 	 * 
144 	 * @return
145 	 */
146 	public String getActionPolicyDescription() {
147 		return (String)CodeTranslator.approvePolicyLabels.get(this.actionPolicyCode);
148 	}
149 
150 	/**
151 	 * 
152 	 * This method fore readonlyalterdisplay
153 	 * 
154 	 * @return
155 	 */
156 	public String getActionTypeDescription() {
157 		return (String) CodeTranslator.arLabels.get(this.actionTypeCode);
158 	}
159 	/**
160 	 * @return the roleResponsibility
161 	 */
162 	public RoleResponsibilityBo getRoleResponsibility() {
163 		if ( ObjectUtils.isNull( roleResponsibility ) && roleResponsibilityId != null ) {
164 			//TODO: this needs to be changed to use the KimResponsibilityInfo object
165 			// but the changes are involved in the UiDocumentService based on the copyProperties method used
166 			// to move the data to/from the document/real objects
167 			roleResponsibility = KRADServiceLocator.getBusinessObjectService().findBySinglePrimaryKey(RoleResponsibilityBo.class, getRoleResponsibilityId());
168 		}
169 		return roleResponsibility;
170 	}
171 	/**
172 	 * @param roleResponsibility the roleResponsibility to set
173 	 */
174 	public void setRoleResponsibility(RoleResponsibilityBo roleResponsibility) {
175 		this.roleResponsibility = roleResponsibility;
176 	}
177 
178 	/**
179 	 * @return the forceAction
180 	 */
181 	public boolean isForceAction() {
182 		return this.forceAction;
183 	}
184 	/**
185 	 * @param forceAction the forceAction to set
186 	 */
187 	public void setForceAction(boolean forceAction) {
188 		this.forceAction = forceAction;
189 	}
190 
191 }