Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
LearningResultRecordService |
|
| 1.0;1 |
1 | /* | |
2 | * Copyright 2009 The Kuali Foundation | |
3 | * | |
4 | * Licensed under the Educational Community License, Version 1.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/ecl1.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.student.enrollment.lrr.service; | |
17 | ||
18 | import java.util.List; | |
19 | ||
20 | import javax.jws.WebParam; | |
21 | import javax.jws.WebService; | |
22 | import javax.jws.soap.SOAPBinding; | |
23 | ||
24 | import org.kuali.student.enrollment.lrr.dto.LearningResultRecordInfo; | |
25 | import org.kuali.student.enrollment.lrr.dto.ResultSourceInfo; | |
26 | import org.kuali.student.r2.common.dto.ContextInfo; | |
27 | import org.kuali.student.r2.common.dto.StatusInfo; | |
28 | import org.kuali.student.r2.common.dto.ValidationResultInfo; | |
29 | import org.kuali.student.r2.common.exceptions.AlreadyExistsException; | |
30 | import org.kuali.student.r2.common.exceptions.DataValidationErrorException; | |
31 | import org.kuali.student.r2.common.exceptions.DoesNotExistException; | |
32 | import org.kuali.student.r2.common.exceptions.InvalidParameterException; | |
33 | import org.kuali.student.r2.common.exceptions.MissingParameterException; | |
34 | import org.kuali.student.r2.common.exceptions.OperationFailedException; | |
35 | import org.kuali.student.r2.common.exceptions.PermissionDeniedException; | |
36 | import org.kuali.student.r2.common.exceptions.VersionMismatchException; | |
37 | import org.kuali.student.r2.common.util.constants.LrrServiceConstants; | |
38 | ||
39 | ||
40 | /** | |
41 | * | |
42 | * | |
43 | * The Learning Result Record Service supports the management of results earned through a person's participation in a learning unit instance. | |
44 | * | |
45 | * @Version: 1.0 (Dev) DRAFT - NOT READY FOR RELEASE. | |
46 | * @author Kuali Student Team (Kamal) | |
47 | */ | |
48 | @WebService(name = "LearningResultRecordService", targetNamespace = LrrServiceConstants.NAMESPACE) // TODO CHECK THESE VALUES | |
49 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
50 | public interface LearningResultRecordService { | |
51 | ||
52 | ||
53 | /** | |
54 | * Retrieves a learning result record by its identifier | |
55 | * | |
56 | * @param learningResultRecordId learning result record identifier | |
57 | * @param context Context information containing the principalId | |
58 | * and locale information about the caller of service | |
59 | * operation | |
60 | * @return learning result record information | |
61 | * @throws DoesNotExistException learning result record not found | |
62 | * @throws InvalidParameterException invalid learningResultRecordId | |
63 | * @throws MissingParameterException learningResultRecordId not specified | |
64 | * @throws OperationFailedException unable to complete request | |
65 | * @throws PermissionDeniedException authorization failure | |
66 | */ | |
67 | public LearningResultRecordInfo getLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
68 | ||
69 | /** | |
70 | * Retrieves a list of learning result records for a Lui Person Relation | |
71 | * @param lprId Lui person relation identifier | |
72 | * @param context Context information containing the principalId | |
73 | * and locale information about the caller of service | |
74 | * operation | |
75 | * @return list of learning result record information | |
76 | * @throws DoesNotExistException person not found | |
77 | * @throws InvalidParameterException invalid personId | |
78 | * @throws MissingParameterException personId not specified | |
79 | * @throws OperationFailedException unable to complete request | |
80 | */ | |
81 | public List<LearningResultRecordInfo> getLearningResultRecordsForLpr(@WebParam(name="lprId")String lprId) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
82 | ||
83 | ||
84 | /** | |
85 | * | |
86 | * Retrieves a list of learning result records based on LPR and the type of LRR | |
87 | * | |
88 | * @param lprId | |
89 | * @param lrrType | |
90 | * @return | |
91 | * @throws DoesNotExistException | |
92 | * @throws InvalidParameterException | |
93 | * @throws MissingParameterException | |
94 | * @throws OperationFailedException | |
95 | */ | |
96 | public List<LearningResultRecordInfo> getLearningResultRecordsForLprAndType(@WebParam(name="lprId")String lprId, @WebParam(name="lrrType")String lrrType) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
97 | ||
98 | ||
99 | /** | |
100 | * Retrieves a list of learning result records for Lui Person Relation Ids | |
101 | * @param lprIds List of Lui person relation identifier | |
102 | * @param context Context information containing the principalId | |
103 | * and locale information about the caller of service | |
104 | * operation | |
105 | * @return list of learning result record information | |
106 | * @throws DoesNotExistException person not found | |
107 | * @throws InvalidParameterException invalid personId | |
108 | * @throws MissingParameterException personId not specified | |
109 | * @throws OperationFailedException unable to complete request | |
110 | */ | |
111 | public List<LearningResultRecordInfo> getLearningResultRecordsForLprIds(@WebParam(name="lprIds")List<String> lprIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
112 | ||
113 | /** | |
114 | * Retrieves a list of learning result records by source Id | |
115 | * @param lprIds List of Lui person relation identifier | |
116 | * @param context Context information containing the principalId | |
117 | * and locale information about the caller of service | |
118 | * operation | |
119 | * @return list of learning result record information | |
120 | * @throws DoesNotExistException person not found | |
121 | * @throws InvalidParameterException invalid personId | |
122 | * @throws MissingParameterException personId not specified | |
123 | * @throws OperationFailedException unable to complete request | |
124 | */ | |
125 | public List<LearningResultRecordInfo> getLearningResultRecordsBySourceId(@WebParam(name="lprIds")List<String> sourceIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
126 | ||
127 | ||
128 | /** | |
129 | * Creates an learning result record. | |
130 | * @param learningResultRecordInfo information about the learning result record | |
131 | * @param context Context information containing the principalId | |
132 | * and locale information about the caller of service | |
133 | * operation | |
134 | * @return information about the newly created learning result record | |
135 | * @throws AlreadyExistsException Learning result record already exists | |
136 | * @throws DataValidationErrorException One or more values invalid for this operation | |
137 | * @throws InvalidParameterException one or more parameters invalid | |
138 | * @throws MissingParameterException one or more parameters missing | |
139 | * @throws OperationFailedException unable to complete request | |
140 | * @throws PermissionDeniedException authorization failure | |
141 | */ | |
142 | public LearningResultRecordInfo createLearningResultRecord(@WebParam(name="learningResultRecord")LearningResultRecordInfo learningResultRecord, @WebParam(name = "context") ContextInfo context) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
143 | ||
144 | /** | |
145 | * Updates an learning result record | |
146 | * @param learningResultRecordId identifier of the learning result record to be updated | |
147 | * @param learningResultRecordInfo information about the learningResultRecord to be updated | |
148 | * @param context Context information containing the principalId | |
149 | * and locale information about the caller of service | |
150 | * operation | |
151 | * @return the updated learning result record information | |
152 | * @throws DataValidationErrorException One or more values invalid for this operation | |
153 | * @throws DoesNotExistException learning result record not found | |
154 | * @throws InvalidParameterException one or more parameters invalid | |
155 | * @throws MissingParameterException one or more parameters missing | |
156 | * @throws OperationFailedException unable to complete request | |
157 | * @throws PermissionDeniedException authorization failure | |
158 | * @throws VersionMismatchException The action was attempted on an out of date version. | |
159 | */ | |
160 | public LearningResultRecordInfo updateLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name="learningResultRecordInfo")LearningResultRecordInfo learningResultRecordInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException; | |
161 | ||
162 | /** | |
163 | * Deletes an learning result record | |
164 | * @param learningResultRecordId identifier of the learning result record to delete | |
165 | * @param context Context information containing the principalId | |
166 | * and locale information about the caller of service | |
167 | * operation | |
168 | * @return status of the operation (success or failure) | |
169 | * @throws DoesNotExistException learning result record not found | |
170 | * @throws InvalidParameterException invalid learningResultRecordId | |
171 | * @throws MissingParameterException missing learningResultRecordId | |
172 | * @throws OperationFailedException unable to complete request | |
173 | * @throws PermissionDeniedException authorization failure | |
174 | */ | |
175 | public StatusInfo deleteLearningResultRecord(@WebParam(name="learningResultRecordId")String learningResultRecordId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
176 | ||
177 | ||
178 | /** | |
179 | * Validates an learning result record. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained sub-objects or expanded to perform all tests related to this object. If an identifier is present for the learning result record (and/or one of its contained sub-objects) and a record is found for that identifier, the validation checks if the learning result record can be shifted to the new values. If an identifier is not present or a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object. | |
180 | * @param validationType identifier of the extent of validation | |
181 | * @param learningResultRecordInfo learning result record information to be tested. | |
182 | * @param context Context information containing the principalId | |
183 | * and locale information about the caller of service | |
184 | * operation | |
185 | * @return results from performing the validation | |
186 | * @throws DoesNotExistException validationTypeKey not found | |
187 | * @throws InvalidParameterException invalid validationTypeKey, learningResultRecordInfo | |
188 | * @throws MissingParameterException missing validationTypeKey, learningResultRecordInfo | |
189 | * @throws OperationFailedException unable to complete request | |
190 | */ | |
191 | public List<ValidationResultInfo> validateLearningResultRecord(@WebParam(name="validationType")String validationType, @WebParam(name="learningResultRecordInfo")LearningResultRecordInfo learningResultRecordInfo, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
192 | ||
193 | /** | |
194 | * Retrieves a result source for a given identifier | |
195 | * | |
196 | * @param resultSourceId result source id | |
197 | * @param context Context information containing the principalId | |
198 | * and locale information about the caller of service | |
199 | * operation | |
200 | * @return learning result record information | |
201 | * @throws DoesNotExistException result source not found | |
202 | * @throws InvalidParameterException invalid resultSourceId | |
203 | * @throws MissingParameterException resultSourceId not specified | |
204 | * @throws OperationFailedException unable to complete request | |
205 | * @throws PermissionDeniedException authorization failure | |
206 | */ | |
207 | public ResultSourceInfo getResultSource(@WebParam(name="resultSourceId")String resultSourceId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
208 | ||
209 | ||
210 | /** | |
211 | * Retrieves a list of result sources for a list of Ids | |
212 | * | |
213 | * @param resultSourceIds result source Id list | |
214 | * @param context Context information containing the principalId | |
215 | * and locale information about the caller of service | |
216 | * operation | |
217 | * @return list of result sources | |
218 | * @throws DoesNotExistException result source not found | |
219 | * @throws InvalidParameterException invalid resultSourceIds | |
220 | * @throws MissingParameterException resultSourceIds not specified | |
221 | * @throws OperationFailedException unable to complete request | |
222 | * @throws PermissionDeniedException authorization failure | |
223 | */ | |
224 | public List<ResultSourceInfo> getResultSourcesByIds(@WebParam(name="resultSourceIds")List <String> resultSourceIds, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
225 | ||
226 | /** | |
227 | * Retrieves a list of result sources by type | |
228 | * | |
229 | * @param resultSourceTypeKey result source type key | |
230 | * @param context Context information containing the principalId | |
231 | * and locale information about the caller of service | |
232 | * operation | |
233 | * @return list of result sources | |
234 | * @throws DoesNotExistException result source not found | |
235 | * @throws InvalidParameterException invalid resultSourceTypeKey | |
236 | * @throws MissingParameterException resultSourceTypeKey not specified | |
237 | * @throws OperationFailedException unable to complete request | |
238 | * @throws PermissionDeniedException authorization failure | |
239 | */ | |
240 | public List<ResultSourceInfo> getResultSourcesByType(@WebParam(name="resultSourceTypeKey")String resultSourceTypeKey, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
241 | ||
242 | ||
243 | /** | |
244 | * Create a new result source | |
245 | * @param learningResultRecordId learning result record identifier | |
246 | * @param sourceInfo source information | |
247 | * @param context Context information containing the principalId | |
248 | * and locale information about the caller of service | |
249 | * operation | |
250 | * @throws AlreadyExistsException the result source being created already exists | |
251 | * @throws DataValidationErrorException One or more values invalid for this operation | |
252 | * @throws InvalidParameterException One or more parameters invalid | |
253 | * @throws MissingParameterException One or more parameters missing | |
254 | * @throws OperationFailedException unable to complete request | |
255 | * @throws PermissionDeniedException authorization failure | |
256 | */ | |
257 | public ResultSourceInfo createResultSource(@WebParam(name="resultSourceInfo")ResultSourceInfo sourceInfo, @WebParam(name = "context") ContextInfo context) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
258 | ||
259 | /** | |
260 | * Updates a result source | |
261 | * @param resultSourceId source identifier | |
262 | * @param resultSourceInfo source information | |
263 | * @param context Context information containing the principalId | |
264 | * and locale information about the caller of service | |
265 | * operation | |
266 | * @return updated result source information | |
267 | * @throws DataValidationErrorException One or more values invalid for this operation | |
268 | * @throws DoesNotExistException result source not found | |
269 | * @throws InvalidParameterException invalid resultSourceId or resultSourceInfo | |
270 | * @throws MissingParameterException resultSourceId or resultSourceInfo not specified | |
271 | * @throws OperationFailedException unable to complete request | |
272 | * @throws PermissionDeniedException authorization failure | |
273 | * @throws VersionMismatchException The action was attempted on an out of date version | |
274 | */ | |
275 | public ResultSourceInfo updateResultSource(@WebParam(name="resultSourceId")String resultSourceId, @WebParam(name="resultSourceInfo")ResultSourceInfo resultSourceInfo, @WebParam(name = "context") ContextInfo context) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, VersionMismatchException; | |
276 | ||
277 | /** | |
278 | * Delete a result source. The result source should not be deleteable if it is still being referenced by any LRR | |
279 | * @param sourceId source information identifier | |
280 | * @param context Context information containing the principalId | |
281 | * and locale information about the caller of service | |
282 | * operation | |
283 | * @return status | |
284 | * @throws DoesNotExistException the result source does not exist | |
285 | * @throws InvalidParameterException One or more parameters invalid | |
286 | * @throws MissingParameterException One or more parameters missing | |
287 | * @throws OperationFailedException unable to complete request | |
288 | * @throws PermissionDeniedException authorization failure | |
289 | */ | |
290 | public StatusInfo deleteResultSource(@WebParam(name="deleteResultSourceId")String resultSourceId, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
291 | ||
292 | /** | |
293 | * Validates a result source | |
294 | * @param validationType identifier of the extent of validation | |
295 | * @param resultSourceInfo result source information to be tested. | |
296 | * @param context Context information containing the principalId | |
297 | * and locale information about the caller of service | |
298 | * operation | |
299 | * @return results from performing the validation | |
300 | * @throws DoesNotExistException validationTypeKey not found | |
301 | * @throws InvalidParameterException invalid validationTypeKey, resultSourceInfo | |
302 | * @throws MissingParameterException missing validationTypeKey, resultSourceInfo | |
303 | * @throws OperationFailedException unable to complete request | |
304 | */ | |
305 | public List<ValidationResultInfo> validateResultSource(@WebParam(name="validationType")String validationType, @WebParam(name="resultSourceInfo")ResultSourceInfo resultSourceInfo, @WebParam(name = "context") ContextInfo context) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException; | |
306 | ||
307 | } |