Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
ProcessService |
|
| 1.0;1 |
1 | /** | |
2 | * Copyright 2011 The Kuali Foundation | |
3 | * | |
4 | * Licensed under the Educational Community License, Version 2.0 (the | |
5 | * "License"); you may not use this file except in compliance with the | |
6 | * License. You may obtain a copy of the License at | |
7 | * | |
8 | * http://www.osedu.org/licenses/ECL-2.0 | |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, | |
11 | * software distributed under the License is distributed on an "AS IS" | |
12 | * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
13 | * or implied. See the License for the specific language governing | |
14 | * permissions and limitations under the License. | |
15 | */ | |
16 | ||
17 | package org.kuali.student.r2.core.process.service; | |
18 | ||
19 | import org.kuali.rice.core.api.criteria.QueryByCriteria; | |
20 | import org.kuali.student.r2.common.dto.ContextInfo; | |
21 | import org.kuali.student.r2.common.dto.StatusInfo; | |
22 | import org.kuali.student.r2.common.dto.ValidationResultInfo; | |
23 | import org.kuali.student.r2.common.exceptions.AlreadyExistsException; | |
24 | import org.kuali.student.r2.common.exceptions.DataValidationErrorException; | |
25 | import org.kuali.student.r2.common.exceptions.DependentObjectsExistException; | |
26 | import org.kuali.student.r2.common.exceptions.DoesNotExistException; | |
27 | import org.kuali.student.r2.common.exceptions.InvalidParameterException; | |
28 | import org.kuali.student.r2.common.exceptions.MissingParameterException; | |
29 | import org.kuali.student.r2.common.exceptions.OperationFailedException; | |
30 | import org.kuali.student.r2.common.exceptions.PermissionDeniedException; | |
31 | import org.kuali.student.r2.common.exceptions.ReadOnlyException; | |
32 | import org.kuali.student.r2.common.exceptions.VersionMismatchException; | |
33 | import org.kuali.student.r2.common.util.constants.ProcessServiceConstants; | |
34 | import org.kuali.student.r2.core.process.dto.CheckInfo; | |
35 | import org.kuali.student.r2.core.process.dto.InstructionInfo; | |
36 | import org.kuali.student.r2.core.process.dto.ProcessCategoryInfo; | |
37 | import org.kuali.student.r2.core.process.dto.ProcessInfo; | |
38 | ||
39 | import javax.jws.WebParam; | |
40 | import javax.jws.WebService; | |
41 | import javax.jws.soap.SOAPBinding; | |
42 | import java.util.List; | |
43 | ||
44 | /** | |
45 | * Process Service Description and Assumptions. | |
46 | * | |
47 | * This service supports the management of Checks. | |
48 | * | |
49 | */ | |
50 | ||
51 | @WebService(name = "ProcessService", serviceName = "ProcessService", portName = "ProcessService", targetNamespace = ProcessServiceConstants.NAMESPACE) | |
52 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
53 | ||
54 | public interface ProcessService { | |
55 | ||
56 | /** | |
57 | * Retrieves a ProcessCategory. | |
58 | * | |
59 | * @param processCategoryId a unique Id of a ProcessCategory | |
60 | * @param contextInfo Context information containing the | |
61 | * principalId and locale information about the caller of | |
62 | * service operation | |
63 | * @return a ProcessCategory | |
64 | * @throws DoesNotExistException processCategoryId not found | |
65 | * @throws InvalidParameterException invalid processCategoryId or | |
66 | * contextInfo | |
67 | * @throws MissingParameterException missing processCategoryId or | |
68 | * contextInfo | |
69 | * @throws OperationFailedException unable to complete request | |
70 | * @throws PermissionDeniedException authorization failure | |
71 | */ | |
72 | public ProcessCategoryInfo getProcessCategory(@WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
73 | ||
74 | /** | |
75 | * Retrieves a list of ProcessCategoryes corresponding to the | |
76 | * given list of ProcessCategory Ids. | |
77 | * | |
78 | * @param processCategoryIds list of ProcessCategories to be retrieved | |
79 | * @param contextInfo Context information containing the | |
80 | * principalId and locale information about the caller of | |
81 | * service operation | |
82 | * @return a list of ProcessCategory Ids of the given type | |
83 | * @throws DoesNotExistException an processCategoryId in list not found | |
84 | * @throws InvalidParameterException invalid processCategoryId or | |
85 | * contextInfo | |
86 | * @throws MissingParameterException missing processCategoryId or | |
87 | * contextInfo | |
88 | * @throws OperationFailedException unable to complete request | |
89 | * @throws PermissionDeniedException authorization failure | |
90 | */ | |
91 | public List<ProcessCategoryInfo> getProcessCategoriesByIds(@WebParam(name = "processCategoryIds") List<String> processCategoryIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
92 | ||
93 | /** | |
94 | * Retrieves a list of ProcessCategory Ids of the specified type. | |
95 | * | |
96 | * @param processTypeKey a ProcessCategory type to be retrieved | |
97 | * @param contextInfo Context information containing the | |
98 | * principalId and locale information about the caller of | |
99 | * service operation | |
100 | * @return a list of ProcessCategory Ids | |
101 | * @throws InvalidParameterException invalid processTypeKey or contextInfo | |
102 | * @throws MissingParameterException missing processTypeKey or contextInfo | |
103 | * @throws OperationFailedException unable to complete request | |
104 | * @throws PermissionDeniedException authorization failure | |
105 | */ | |
106 | public List<String> getProcessCategoryIdsByType(@WebParam(name = "processTypeKey") String processTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
107 | ||
108 | /** | |
109 | * Retrieves a list of ProcessCategories in which the given | |
110 | * Process is related. | |
111 | * | |
112 | * @param processKey a Process key | |
113 | * @param contextInfo Context information containing the | |
114 | * principalId and locale information about the caller of | |
115 | * service operation | |
116 | * @return a list of ProcessCategories | |
117 | * @throws InvalidParameterException invalid processKey or contextInfo | |
118 | * @throws MissingParameterException missing processKey or contextInfo | |
119 | * @throws OperationFailedException unable to complete request | |
120 | * @throws PermissionDeniedException authorization failure | |
121 | */ | |
122 | public List<ProcessCategoryInfo> getProcessCategoriesForProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
123 | ||
124 | /** | |
125 | * Searches for ProcessCategories based on the criteria and | |
126 | * returns a list of ProcessCategory identifiers which match the | |
127 | * search criteria. | |
128 | * | |
129 | * @param criteria the search criteria | |
130 | * @param contextInfo Context information containing the | |
131 | * principalId and locale information about the caller of | |
132 | * service operation | |
133 | * @return list of ProcessCategory Ids | |
134 | * @throws InvalidParameterException invalid criteria or contextInfo | |
135 | * @throws MissingParameterException missing criteria or contextInfo | |
136 | * @throws OperationFailedException unable to complete request | |
137 | * @throws PermissionDeniedException authorization failure | |
138 | */ | |
139 | public List<String> searchForProcessCategoryIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
140 | ||
141 | /** | |
142 | * Searches for ProcessCategories based on the criteria and | |
143 | * returns a list of ProcessCategories which match the search | |
144 | * criteria. | |
145 | * | |
146 | * @param criteria the search criteria | |
147 | * @param contextInfo Context information containing the | |
148 | * principalId and locale information about the caller of | |
149 | * service operation | |
150 | * @return list of ProcessCategories | |
151 | * @throws InvalidParameterException invalid criteria or contextInfo | |
152 | * @throws MissingParameterException missing criteria or contextInfo | |
153 | * @throws OperationFailedException unable to complete request | |
154 | * @throws PermissionDeniedException authorization failure | |
155 | */ | |
156 | public List<ProcessCategoryInfo> searchForProcessCategories(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
157 | ||
158 | /** | |
159 | * Validates a ProcessCategory. Depending on the value of | |
160 | * validationType, this validation could be limited to tests on | |
161 | * just the current object and its directly contained sub-objects | |
162 | * or expanded to perform all tests related to this object. If an | |
163 | * identifier is present for the ProcessCategory and a record is | |
164 | * found for that identifier, the validation checks if the | |
165 | * ProcessCategory can be shifted to the new values. If a record | |
166 | * cannot be found for the identifier, it is assumed that the | |
167 | * record does not exist and as such, the checks performed will be | |
168 | * much shallower, typically mimicking those performed by setting | |
169 | * the validationType to the current object. This is a slightly | |
170 | * different pattern from the standard validation as the caller | |
171 | * provides the identifier in the create statement instead of the | |
172 | * server assigning an identifier. | |
173 | * | |
174 | * @param validationTypeKey the identifier of the extent of validation | |
175 | * @param processCategoryInfo the ProcessCategory information to be tested | |
176 | * @param contextInfo Context information containing the | |
177 | * principalId and locale information about the caller of | |
178 | * service operation | |
179 | * @return Results from performing the validation | |
180 | * @throws DoesNotExistException validationTypeKey not found | |
181 | * @throws InvalidParameterException invalid validationTypeKey, | |
182 | * processInfo, or contextInfo | |
183 | * @throws MissingParameterException missing validationTypeKey, | |
184 | * processInfo, or contextInfo | |
185 | * @throws OperationFailedException unable to complete request | |
186 | * @throws PermissionDeniedException authorization failure | |
187 | */ | |
188 | public List<ValidationResultInfo> validateProcessCategory(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processCategoryTypeKey") String processCategoryTypeKey, @WebParam(name = "processCategoryInfo") ProcessCategoryInfo processCategoryInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
189 | ||
190 | /** | |
191 | * Creates a new ProcessCategory. | |
192 | * | |
193 | * @param processCategoryInfo the details of ProcessCategory to be created | |
194 | * @param contextInfo Context information containing the | |
195 | * principalId and locale information about the caller of | |
196 | * service operation | |
197 | * @return the ProcessCategory just created | |
198 | * @throws DataValidationErrorException one or more values invalid | |
199 | * for this operation | |
200 | * @throws InvalidParameterException invalid processInfo or | |
201 | * contextInfo | |
202 | * @throws MissingParameterException missing processInfo or | |
203 | * contextInfo | |
204 | * @throws OperationFailedException unable to complete request | |
205 | * @throws PermissionDeniedException authorization failure | |
206 | * @throws ReadOnlyException an attempt at supplying information | |
207 | * designated as read-only | |
208 | */ | |
209 | public ProcessCategoryInfo createProcessCategory(@WebParam(name = "processCategoryTypeKey") String processCategoryTypeKey, @WebParam(name = "processCategoryInfo") ProcessCategoryInfo processCategoryInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
210 | ||
211 | /** | |
212 | * Updates an existing ProcessCategory. | |
213 | * | |
214 | * @param processCategoryId the Id of ProcessCategory to be updated | |
215 | * @param processInfo the details of updates to ProcessCategory | |
216 | * being updated | |
217 | * @param contextInfo Context information containing the | |
218 | * principalId and locale information about the caller of | |
219 | * service operation | |
220 | * @return the details of ProcessCategory just updated | |
221 | * @throws DataValidationErrorException One or more values invalid | |
222 | * for this operation | |
223 | * @throws DoesNotExistException processCategoryId not found | |
224 | * @throws InvalidParameterException invalid processCategoryId, | |
225 | * processInfo, or contextInfo | |
226 | * @throws MissingParameterException missing processCategoryId, | |
227 | * processInfo, or contextInfo | |
228 | * @throws OperationFailedException unable to complete request | |
229 | * @throws PermissionDeniedException authorization failure | |
230 | * @throws ReadOnlyException an attempt at supplying information | |
231 | * designated as read-only | |
232 | * @throws VersionMismatchException The action was attempted on an out | |
233 | * of date version. | |
234 | */ | |
235 | public ProcessCategoryInfo updateProcessCategory(@WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "processInfo") ProcessCategoryInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException; | |
236 | ||
237 | /** | |
238 | * Deletes an existing ProcessCategory. | |
239 | * | |
240 | * @param processCategoryId the Id of the ProcessCategory to be deleted | |
241 | * @param contextInfo Context information containing the | |
242 | * principalId and locale information about the caller of | |
243 | * service operation | |
244 | * @return status of the operation (success, failed) | |
245 | * @throws DoesNotExistException processCategoryId not found | |
246 | * @throws InvalidParameterException invalid processCategoryId or | |
247 | * contextInfo | |
248 | * @throws MissingParameterException missing processCategoryId or | |
249 | * contextInfo | |
250 | * @throws OperationFailedException unable to complete request | |
251 | * @throws PermissionDeniedException authorization failure | |
252 | */ | |
253 | public StatusInfo deleteProcessCategory(@WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
254 | ||
255 | /** | |
256 | * Adds Process to a ProcessCategory. | |
257 | * | |
258 | * @param processKey a unique identifier for a Process | |
259 | * @param processCategoryId a unique identifier for a ProcessCategory | |
260 | * @param contextInfo Context information containing the | |
261 | * principalId and locale information about the caller of | |
262 | * service operation | |
263 | * @return status | |
264 | * @throws AlreadyExistsException processKey already related to | |
265 | * processCategoryId | |
266 | * @throws DoesNotExistException processKey or | |
267 | * processCategoryId not found | |
268 | * @throws InvalidParameterException invalid processKey, | |
269 | * processCategoryId, or contextInfo | |
270 | * @throws MissingParameterException missing processKey, | |
271 | * processCategoryId, or contextInfo | |
272 | * @throws OperationFailedException unable to complete request | |
273 | * @throws PermissionDeniedException authorization failure | |
274 | */ | |
275 | public StatusInfo addProcessToProcessCategory(@WebParam(name = "processKey") String processKey, @WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
276 | ||
277 | /** | |
278 | * Removes Process from a ProcessCategory. | |
279 | * | |
280 | * @param processKey a unique identifier for a Process | |
281 | * @param processCategoryId a unique identifier for a ProcessCategory | |
282 | * @param contextInfo Context information containing the | |
283 | * principalId and locale information about the caller of | |
284 | * service operation | |
285 | * @return status | |
286 | * @throws DoesNotExistException processKey or | |
287 | * processCategoryId not found or unrelated | |
288 | * @throws InvalidParameterException invalid processKey, | |
289 | * processCategoryId, or contextInfo | |
290 | * @throws MissingParameterException missing processKey, | |
291 | * processCategoryId, or contextInfo | |
292 | * @throws OperationFailedException unable to complete request | |
293 | * @throws PermissionDeniedException authorization failure | |
294 | */ | |
295 | public StatusInfo removeProcessFromProcessCategory(@WebParam(name = "processKey") String processKey, @WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
296 | ||
297 | /** | |
298 | * Retrieves a Process. | |
299 | * | |
300 | * @param processKey a unique key of a Process | |
301 | * @param contextInfo Context information containing the | |
302 | * principalId and locale information about the caller of | |
303 | * service operation | |
304 | * @return a Process | |
305 | * @throws DoesNotExistException processKey not found | |
306 | * @throws InvalidParameterException invalid processKey or contextInfo | |
307 | * @throws MissingParameterException missing processKey or contextInfo | |
308 | * @throws OperationFailedException unable to complete request | |
309 | * @throws PermissionDeniedException authorization failure | |
310 | */ | |
311 | public ProcessInfo getProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
312 | ||
313 | /** | |
314 | * Retrieves a list of Processes corresponding to the given list | |
315 | * of Process keys. | |
316 | * | |
317 | * @param processKeys list of Processess to be retrieved | |
318 | * @param contextInfo Context information containing the | |
319 | * principalId and locale information about the caller of | |
320 | * service operation | |
321 | * @return a list of Process keys of the given type | |
322 | * @throws DoesNotExistException an processKey in list not found | |
323 | * @throws InvalidParameterException invalid processKey or contextInfo | |
324 | * @throws MissingParameterException missing processKey or contextInfo | |
325 | * @throws OperationFailedException unable to complete request | |
326 | * @throws PermissionDeniedException authorization failure | |
327 | */ | |
328 | public List<ProcessInfo> getProcessesByKeys(@WebParam(name = "processKeys") List<String> processKeys, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
329 | ||
330 | /** | |
331 | * Retrieves a list of Process keys of the specified type. | |
332 | * | |
333 | * @param processTypeKey a Process type to be retrieved | |
334 | * @param contextInfo Context information containing the | |
335 | * principalId and locale information about the caller of | |
336 | * service operation | |
337 | * @return a list of Process keys | |
338 | * @throws InvalidParameterException invalid processTypeKey or contextInfo | |
339 | * @throws MissingParameterException missing processTypeKey or contextInfo | |
340 | * @throws OperationFailedException unable to complete request | |
341 | * @throws PermissionDeniedException authorization failure | |
342 | */ | |
343 | public List<String> getProcessKeysByType(@WebParam(name = "processTypeKey") String processTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
344 | ||
345 | /** | |
346 | * Retrieves a list of Processes in which the given | |
347 | * ProcessCategory is related. | |
348 | * | |
349 | * @param processCategoryId a ProcessCategory Id | |
350 | * @param contextInfo Context information containing the | |
351 | * principalId and locale information about the caller of | |
352 | * service operation | |
353 | * @return a list of Processes | |
354 | * @throws InvalidParameterException invalid processCategoryId or | |
355 | * contextInfo | |
356 | * @throws MissingParameterException missing processCategoryId or | |
357 | * contextInfo | |
358 | * @throws OperationFailedException unable to complete request | |
359 | * @throws PermissionDeniedException authorization failure | |
360 | */ | |
361 | public List<ProcessInfo> getProcessesForProcessCategory(@WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
362 | ||
363 | /** | |
364 | * Searches for Processs based on the criteria and returns a list | |
365 | * of Process identifiers which match the search criteria. | |
366 | * | |
367 | * @param criteria the search criteria | |
368 | * @param contextInfo Context information containing the | |
369 | * principalId and locale information about the caller of | |
370 | * service operation | |
371 | * @return list of Process Ids | |
372 | * @throws InvalidParameterException invalid criteria or contextInfo | |
373 | * @throws MissingParameterException missing criteria or contextInfo | |
374 | * @throws OperationFailedException unable to complete request | |
375 | * @throws PermissionDeniedException authorization failure | |
376 | */ | |
377 | public List<String> searchForProcessKeys(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
378 | ||
379 | /** | |
380 | * Searches for Processs based on the criteria and returns a list of | |
381 | * Processs which match the search criteria. | |
382 | * | |
383 | * @param criteria the search criteria | |
384 | * @param contextInfo Context information containing the | |
385 | * principalId and locale information about the caller of | |
386 | * service operation | |
387 | * @return list of Processs | |
388 | * @throws InvalidParameterException invalid criteria or contextInfo | |
389 | * @throws MissingParameterException missing criteria or contextInfo | |
390 | * @throws OperationFailedException unable to complete request | |
391 | * @throws PermissionDeniedException authorization failure | |
392 | */ | |
393 | public List<ProcessInfo> searchForProcesss(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
394 | ||
395 | /** | |
396 | * Validates a Process. Depending on the value of validationType, | |
397 | * this validation could be limited to tests on just the current | |
398 | * object and its directly contained sub-objects or expanded to | |
399 | * perform all tests related to this object. If an identifier is | |
400 | * present for the Process and a record is found for that | |
401 | * identifier, the validation checks if the Process can be shifted | |
402 | * to the new values. If a record cannot be found for the | |
403 | * identifier, it is assumed that the record does not exist and as | |
404 | * such, the checks performed will be much shallower, typically | |
405 | * mimicking those performed by setting the validationType to the | |
406 | * current object. This is a slightly different pattern from the | |
407 | * standard validation as the caller provides the identifier in | |
408 | * the create statement instead of the server assigning an | |
409 | * identifier. | |
410 | * | |
411 | * @param validationTypeKey the identifier of the extent of validation | |
412 | * @param processTypeKey the identifier for the Process Type | |
413 | * @param processInfo the Process information to be tested | |
414 | * @param contextInfo Context information containing the | |
415 | * principalId and locale information about the caller of | |
416 | * service operation | |
417 | * @return Results from performing the validation | |
418 | * @throws DoesNotExistException validationTypeKey not found | |
419 | * @throws InvalidParameterException invalid validationTypeKey, | |
420 | * processInfo, or contextInfo | |
421 | * @throws MissingParameterException missing validationTypeKey, | |
422 | * processInfo, or contextInfo | |
423 | * @throws OperationFailedException unable to complete request | |
424 | * @throws PermissionDeniedException authorization failure | |
425 | */ | |
426 | public List<ValidationResultInfo> validateProcess(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processTypeKey") String processTypeKey, @WebParam(name = "processInfo") ProcessInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
427 | ||
428 | /** | |
429 | * Creates a new Process. | |
430 | * | |
431 | * @param processKey the key of Process to be created | |
432 | * @param processTypeKey the identifier for the Process Type | |
433 | * @param processInfo the details of Process to be created | |
434 | * @param contextInfo Context information containing the | |
435 | * principalId and locale information about the caller of | |
436 | * service operation | |
437 | * @return the Process just created | |
438 | * @throws AlreadyExistsException the Process being created already exists | |
439 | * @throws DataValidationErrorException one or more values invalid | |
440 | * for this operation | |
441 | * @throws InvalidParameterException invalid processKey, | |
442 | * processInfo, or contextInfo | |
443 | * @throws MissingParameterException missing processKey, | |
444 | * processInfo, or contextInfo | |
445 | * @throws OperationFailedException unable to complete request | |
446 | * @throws PermissionDeniedException authorization failure | |
447 | * @throws ReadOnlyException an attempt at supplying information | |
448 | * designated as read-only | |
449 | */ | |
450 | public ProcessInfo createProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "processTypeKey") String processTypeKey, @WebParam(name = "processInfo") ProcessInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
451 | ||
452 | /** | |
453 | * Updates an existing Process. | |
454 | * | |
455 | * @param processKey the key of Process to be updated | |
456 | * @param processInfo the details of updates to Process being updated | |
457 | * @param contextInfo Context information containing the | |
458 | * principalId and locale information about the caller of | |
459 | * service operation | |
460 | * @return the details of Process just updated | |
461 | * @throws DataValidationErrorException One or more values invalid | |
462 | * for this operation | |
463 | * @throws DoesNotExistException processKey not found | |
464 | * @throws InvalidParameterException invalid processKey, | |
465 | * processInfo, or contextInfo | |
466 | * @throws MissingParameterException missing processKey, | |
467 | * processInfo, or contextInfo | |
468 | * @throws OperationFailedException unable to complete request | |
469 | * @throws PermissionDeniedException authorization failure | |
470 | * @throws ReadOnlyException an attempt at supplying information | |
471 | * designated as read-only | |
472 | * @throws VersionMismatchException The action was attempted on an out | |
473 | * of date version. | |
474 | */ | |
475 | public ProcessInfo updateProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "processInfo") ProcessInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException; | |
476 | ||
477 | /** | |
478 | * Deletes an existing Process. | |
479 | * | |
480 | * @param processKey the key of the Process to be deleted | |
481 | * @param contextInfo Context information containing the | |
482 | * principalId and locale information about the caller of | |
483 | * service operation | |
484 | * @return status of the operation (success, failed) | |
485 | * @throws DependentObjectsExistException Instructions related to | |
486 | * this Process | |
487 | * @throws DoesNotExistException processKey not found | |
488 | * @throws InvalidParameterException invalid processKey or contextInfo | |
489 | * @throws MissingParameterException missing processKey or contextInfo | |
490 | * @throws OperationFailedException unable to complete request | |
491 | * @throws PermissionDeniedException authorization failure | |
492 | */ | |
493 | public StatusInfo deleteProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
494 | ||
495 | /** | |
496 | * Retrieves a Check. | |
497 | * | |
498 | * @param checkId a unique Id of a Check | |
499 | * @param contextInfo Context information containing the | |
500 | * principalId and locale information about the caller of | |
501 | * service operation | |
502 | * @return a Check | |
503 | * @throws DoesNotExistException checkId not found | |
504 | * @throws InvalidParameterException contextInfo is not | |
505 | * valid | |
506 | * @throws MissingParameterException checkId or contextInfo is | |
507 | * missing or null | |
508 | * @throws OperationFailedException unable to complete request | |
509 | * @throws PermissionDeniedException an authorization failure occurred | |
510 | */ | |
511 | public CheckInfo getCheck(@WebParam(name = "checkId") String checkId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
512 | ||
513 | /** | |
514 | * Retrieves a list of Checks corresponding to the | |
515 | * given list of Check Ids. | |
516 | * | |
517 | * @param checkIdss list of Checks to be retrieved | |
518 | * @param contextInfo information containing the | |
519 | * principalId and locale information about the caller of | |
520 | * service operation | |
521 | * @return a list of Check Ids of the given type | |
522 | * @throws DoesNotExistException a checkId in list not found | |
523 | * @throws InvalidParameterException contextInfo is not valid | |
524 | * @throws MissingParameterException checkId or contextInfo is | |
525 | * missing or null | |
526 | * @throws OperationFailedException unable to complete request | |
527 | * @throws PermissionDeniedException authorization failure | |
528 | */ | |
529 | public List<CheckInfo> getChecksByIds(@WebParam(name = "checkIds") List<String> checkIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
530 | ||
531 | /** | |
532 | * Retrieves a list of Check Ids of the specified type. | |
533 | * | |
534 | * @param checkTypeKey a Check type to be retrieved | |
535 | * @param contextInfo Context information containing the | |
536 | * principalId and locale information about the caller of | |
537 | * service operation | |
538 | * @return a list of Check Ids | |
539 | * @throws InvalidParameterException invalid checkTypeKey or contextInfo | |
540 | * @throws MissingParameterException missing checkTypeKey or contextInfo | |
541 | * @throws OperationFailedException unable to complete request | |
542 | * @throws PermissionDeniedException authorization failure | |
543 | */ | |
544 | public List<String> getCheckKeysByType(@WebParam(name = "checkTypeKey") String checkTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
545 | ||
546 | /** | |
547 | * Searches for Checks based on the criteria and returns a list of | |
548 | * Check identifiers which match the search criteria. | |
549 | * | |
550 | * @param criteria the search criteria | |
551 | * @param contextInfo Context information containing the | |
552 | * principalId and locale information about the caller of | |
553 | * service operation | |
554 | * @return list of Check Ids | |
555 | * @throws InvalidParameterException invalid criteria or contextInfo | |
556 | * @throws MissingParameterException missing criteria or contextInfo | |
557 | * @throws OperationFailedException unable to complete request | |
558 | * @throws PermissionDeniedException authorization failure | |
559 | */ | |
560 | public List<String> searchForCheckKeys(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
561 | ||
562 | /** | |
563 | * Searches for Checks based on the criteria and returns a list of | |
564 | * Checks which match the search criteria. | |
565 | * | |
566 | * @param criteria the search criteria | |
567 | * @param contextInfo Context information containing the | |
568 | * principalId and locale information about the caller of | |
569 | * service operation | |
570 | * @return list of Checks | |
571 | * @throws InvalidParameterException invalid criteria or contextInfo | |
572 | * @throws MissingParameterException missing criteria or contextInfo | |
573 | * @throws OperationFailedException unable to complete request | |
574 | * @throws PermissionDeniedException authorization failure | |
575 | */ | |
576 | public List<CheckInfo> searchForChecks(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
577 | ||
578 | /** | |
579 | * Validates a Check. Depending on the value of | |
580 | * validationType, this validation could be limited to tests on | |
581 | * just the current object and its directly contained sub-objects | |
582 | * or expanded to perform all tests related to this object. If an | |
583 | * identifier is present for the Check and a record is | |
584 | * found for that identifier, the validation checks if the | |
585 | * Check can be shifted to the new values. If a record | |
586 | * cannot be found for the identifier, it is assumed that the | |
587 | * record does not exist and as such, the checks performed will be | |
588 | * much shallower, typically mimicking those performed by setting | |
589 | * the validationType to the current object. This is a slightly | |
590 | * different pattern from the standard validation as the caller | |
591 | * provides the identifier in the create statement instead of the | |
592 | * server assigning an identifier. | |
593 | * | |
594 | * @param validationTypeKey the identifier of the extent of validation | |
595 | * @param checkInfo the Check information to be tested | |
596 | * @param contextInfo Context information containing the | |
597 | * principalId and locale information about the caller of | |
598 | * service operation | |
599 | * @return Results from performing the validation | |
600 | * @throws DoesNotExistException validationTypeKey not found | |
601 | * @throws InvalidParameterException invalid validationTypeKey, | |
602 | * checkInfo, or contextInfo | |
603 | * @throws MissingParameterException missing validationTypeKey, | |
604 | * checkInfo, or contextInfo | |
605 | * @throws OperationFailedException unable to complete request | |
606 | * @throws PermissionDeniedException authorization failure | |
607 | */ | |
608 | public List<ValidationResultInfo> validateCheck(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "checkTypeKey") String checkTypeKey, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
609 | ||
610 | /** | |
611 | * Creates a new Check. | |
612 | * | |
613 | * @param chekTypeKey an identifier for the Check Type | |
614 | * @param checkInfo the details of Check to be created | |
615 | * @param contextInfo Context information containing the | |
616 | * principalId and locale information about the caller of | |
617 | * service operation | |
618 | * @return the Check just created | |
619 | * @throws DataValidationErrorException one or more values invalid | |
620 | * for this operation | |
621 | * @throws InvalidParameterException checkInfo or | |
622 | * contextInfo is not valid | |
623 | * @throws MissingParameterException checkTypeKey, checkInfo or | |
624 | * contextInfo is missing or null | |
625 | * @throws OperationFailedException unable to complete request | |
626 | * @throws PermissionDeniedException an authorization failure occurred | |
627 | * @throws ReadOnlyException an attempt at supplying information | |
628 | * designated as read-only | |
629 | */ | |
630 | public CheckInfo createCheck(@WebParam(name = "checkTypeKey") String checkTypeKey, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
631 | ||
632 | /** | |
633 | * Updates an existing Check. | |
634 | * | |
635 | * @param checkId the Id of Check to be updated | |
636 | * @param checkInfo the details of updates to Check | |
637 | * being updated | |
638 | * @param contextInfo Context information containing the | |
639 | * principalId and locale information about the caller of | |
640 | * service operation | |
641 | * @return the details of Check just updated | |
642 | * @throws DataValidationErrorException One or more values invalid | |
643 | * for this operation | |
644 | * @throws DoesNotExistException checkId not found | |
645 | * @throws InvalidParameterException checkInfo or contextInfo is | |
646 | * not valid | |
647 | * @throws MissingParameterException checkId, checkInfo, or | |
648 | * contextInfo is missing or null | |
649 | * @throws OperationFailedException unable to complete request | |
650 | * @throws PermissionDeniedException an authorization failure occurred | |
651 | * @throws ReadOnlyException an attempt at supplying information | |
652 | * designated as read-only | |
653 | * @throws VersionMismatchException The action was attempted on an out | |
654 | * of date version. | |
655 | */ | |
656 | public CheckInfo updateCheck(@WebParam(name = "checkId") String checkId, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException; | |
657 | ||
658 | /** | |
659 | * Deletes an existing Check. | |
660 | * | |
661 | * @param checkId the Id of the Check to be deleted | |
662 | * @param contextInfo Context information containing the | |
663 | * principalId and locale information about the caller of | |
664 | * service operation | |
665 | * @return status of the operation (success, failed) | |
666 | * @throws DependentObjectsExistException Instructions related to | |
667 | * this Check | |
668 | * @throws DoesNotExistException checkIs not found | |
669 | * @throws InvalidParameterException contextInfo is not valid | |
670 | * @throws MissingParameterException checkId or contextInfo is | |
671 | * missing or null | |
672 | * @throws OperationFailedException unable to complete request | |
673 | * @throws PermissionDeniedException authorization failure | |
674 | */ | |
675 | public StatusInfo deleteCheck(@WebParam(name = "checkId") String checkId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DependentObjectsExistException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
676 | ||
677 | /** | |
678 | * Retrieves an Instruction. | |
679 | * | |
680 | * @param instructionId a unique Id of an Instruction | |
681 | * @param contextInfo Context information containing the | |
682 | * principalId and locale information about the caller of | |
683 | * service operation | |
684 | * @return an Instruction | |
685 | * @throws DoesNotExistException instructionId not found | |
686 | * @throws InvalidParameterException invalid instructionId or | |
687 | * contextInfo | |
688 | * @throws MissingParameterException missing instructionId or | |
689 | * contextInfo | |
690 | * @throws OperationFailedException unable to complete request | |
691 | * @throws PermissionDeniedException authorization failure | |
692 | */ | |
693 | public InstructionInfo getInstruction(@WebParam(name = "instructionId") String instructionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
694 | ||
695 | /** | |
696 | * Retrieves a list of Instructions corresponding to the | |
697 | * given list of Instruction Ids. | |
698 | * | |
699 | * @param instructionIds list of Instructioness to be retrieved | |
700 | * @param contextInfo Context information containing the | |
701 | * principalId and locale information about the caller of | |
702 | * service operation | |
703 | * @return a list of Instruction Ids of the given type | |
704 | * @throws DoesNotExistException an instructionId in list not found | |
705 | * @throws InvalidParameterException invalid instructionId or | |
706 | * contextInfo | |
707 | * @throws MissingParameterException missing instructionId or | |
708 | * contextInfo | |
709 | * @throws OperationFailedException unable to complete request | |
710 | * @throws PermissionDeniedException authorization failure | |
711 | */ | |
712 | public List<InstructionInfo> getInstructionsByIds(@WebParam(name = "instructionIds") List<String> instructionIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
713 | ||
714 | /** | |
715 | * Retrieves a list of Instruction Ids of the specified type. | |
716 | * | |
717 | * @param instructionTypeKey an Instruction type to be retrieved | |
718 | * @param contextInfo Context information containing the | |
719 | * principalId and locale information about the caller of | |
720 | * service operation | |
721 | * @return a list of Instruction Ids | |
722 | * @throws InvalidParameterException invalid instructionTypeKey or | |
723 | * contextInfo | |
724 | * @throws MissingParameterException missing instructionTypeKey or | |
725 | * contextInfo | |
726 | * @throws OperationFailedException unable to complete request | |
727 | * @throws PermissionDeniedException authorization failure | |
728 | */ | |
729 | public List<String> getInstructionIdsByType(@WebParam(name = "instructionTypeKey") String instructionTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
730 | ||
731 | /** | |
732 | * Retrieves a list of all Instructions relating to the given | |
733 | * Process. This returns a list of Instructions ordered by | |
734 | * position. | |
735 | * | |
736 | * @param processKey a unique identfiier for a Process | |
737 | * @param contextInfo Context information containing the | |
738 | * principalId and locale information about the caller of | |
739 | * service operation | |
740 | * @return a list of Instructions | |
741 | * @throws InvalidParameterException invalid processKey or | |
742 | * contextInfo | |
743 | * @throws MissingParameterException missing processKey or | |
744 | * contextInfo | |
745 | * @throws OperationFailedException unable to complete request | |
746 | * @throws PermissionDeniedException authorization failure | |
747 | */ | |
748 | public List<InstructionInfo> getInstructionsByProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
749 | ||
750 | /** | |
751 | * Retrieves a list of Instructions relating to the given | |
752 | * Check. | |
753 | * | |
754 | * @param checkId a unique identfiier for a Check | |
755 | * @param contextInfo Context information containing the | |
756 | * principalId and locale information about the caller of | |
757 | * service operation | |
758 | * @return a list of Instructions | |
759 | * @throws InvalidParameterException contextInfo is not valie | |
760 | * @throws MissingParameterException checkId or contextInfo is | |
761 | * misisng or null | |
762 | * @throws OperationFailedException unable to complete request | |
763 | * @throws PermissionDeniedException an authorization failure occurred | |
764 | */ | |
765 | public List<InstructionInfo> getInstructionsByCheck(@WebParam(name = "checkId") String checkId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
766 | ||
767 | /** | |
768 | * Retrieves a list of Instructions relating to the given | |
769 | * Process and Check. | |
770 | * | |
771 | * @param processKey a unique identfiier for a Process | |
772 | * @param checkId a unique identfiier for a Check | |
773 | * @param contextInfo Context information containing the | |
774 | * principalId and locale information about the caller of | |
775 | * service operation | |
776 | * @return a list of Instructions | |
777 | * @throws InvalidParameterException contextInfo is not valid | |
778 | * @throws MissingParameterException processKey, checkId, or | |
779 | * contextInfo is missing or null | |
780 | * @throws OperationFailedException unable to complete request | |
781 | * @throws PermissionDeniedException an authorization failure occuured | |
782 | */ | |
783 | public List<InstructionInfo> getInstructionsByProcessAndCheck(@WebParam(name = "processKey") String processKey, @WebParam(name = "checkId") String checkId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
784 | ||
785 | /** | |
786 | * Searches for Instructions based on the criteria and returns a list of | |
787 | * Instruction identifiers which match the search criteria. | |
788 | * | |
789 | * @param criteria the search criteria | |
790 | * @param contextInfo Context information containing the | |
791 | * principalId and locale information about the caller of | |
792 | * service operation | |
793 | * @return list of Instruction Ids | |
794 | * @throws InvalidParameterException invalid criteria or contextInfo | |
795 | * @throws MissingParameterException missing criteria or contextInfo | |
796 | * @throws OperationFailedException unable to complete request | |
797 | * @throws PermissionDeniedException authorization failure | |
798 | */ | |
799 | public List<String> searchForInstructionIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
800 | ||
801 | /** | |
802 | * Searches for Instructions based on the criteria and returns a list of | |
803 | * Instructions which match the search criteria. | |
804 | * | |
805 | * @param criteria the search criteria | |
806 | * @param contextInfo Context information containing the | |
807 | * principalId and locale information about the caller of | |
808 | * service operation | |
809 | * @return list of Instructions | |
810 | * @throws InvalidParameterException invalid criteria or contextInfo | |
811 | * @throws MissingParameterException missing criteria or contextInfo | |
812 | * @throws OperationFailedException unable to complete request | |
813 | * @throws PermissionDeniedException authorization failure | |
814 | */ | |
815 | public List<InstructionInfo> searchForInstructions(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
816 | ||
817 | /** | |
818 | * Validates an Instruction. Depending on the value of | |
819 | * validationType, this validation could be limited to tests on | |
820 | * just the current object and its directly contained sub-objects | |
821 | * or expanded to perform all tests related to this object. If an | |
822 | * identifier is present for the Instruction and a record is found | |
823 | * for that identifier, the validation instructions if the | |
824 | * Instruction can be shifted to the new values. If a record | |
825 | * cannot be found for the identifier, it is assumed that the | |
826 | * record does not exist and as such, the instructions performed | |
827 | * will be much shallower, typically mimicking those performed by | |
828 | * setting the validationType to the current object. This is a | |
829 | * slightly different pattern from the standard validation as the | |
830 | * caller provides the identifier in the create statement instead | |
831 | * of the server assigning an identifier. | |
832 | * | |
833 | * @param validationTypeKey the identifier of the extent of validation | |
834 | * @param processKey the identifier of the related Process | |
835 | * @param checkId the identifier of the related Check | |
836 | * @param instructionTypeKey the identifier of an Instruction Type | |
837 | * @param instructionInfo the Instruction information to be tested | |
838 | * @param contextInfo information containing the | |
839 | * principalId and locale information about the caller of | |
840 | * service operation | |
841 | * @return Results from performing the validation | |
842 | * @throws DoesNotExistException validationTypeKey, processKey, or | |
843 | * checkId not found | |
844 | * @throws InvalidParameterException instructionInfo or | |
845 | * contextInfo is invalid | |
846 | * @throws MissingParameterException missing validationTypeKey, | |
847 | * processKey, checkId, instructionTypeKey | |
848 | * instructionInfo, or contextInfo | |
849 | * @throws OperationFailedException unable to complete request | |
850 | * @throws PermissionDeniedException an authorization failure occured | |
851 | */ | |
852 | public List<ValidationResultInfo> validateInstruction(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processKey") String processKey, @WebParam(name = "checkId") String checkId, @WebParam(name = "instructionTypeKey") String instructionTypeKey, @WebParam(name = "instructionInfo") InstructionInfo instructionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
853 | ||
854 | /** | |
855 | * Creates a new Instruction. | |
856 | * | |
857 | * @param processKey the identifier of the related Process | |
858 | * @param checkId the identifier of the related Check | |
859 | * @param instructionTypeKey the identifier of an Instruction Type | |
860 | * @param instructionInfo the details of Instruction to be created | |
861 | * @param contextInfo information containing the | |
862 | * principalId and locale information about the caller of | |
863 | * service operation | |
864 | * @return the Instruction just created | |
865 | * @throws DataValidationErrorException one or more values invalid | |
866 | * for this operation | |
867 | * @throws InvalidParameterException instructionInfo or | |
868 | * contextInfo is invalid | |
869 | * @throws MissingParameterException checkId, instructionInfo, or | |
870 | * contextInfo is missing or null | |
871 | * @throws OperationFailedException unable to complete request | |
872 | * @throws PermissionDeniedException an authorization failure occurred | |
873 | * @throws ReadOnlyException an attempt at supplying information | |
874 | * designated as read-only | |
875 | */ | |
876 | public InstructionInfo createInstruction(@WebParam(name = "processKey") String processKey, @WebParam(name = "checkId") String checkId, @WebParam(name = "instructionTypeKey") String instructionTypeKey, @WebParam(name = "instructionInfo") InstructionInfo instructionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
877 | ||
878 | /** | |
879 | * Updates an existing Instruction. | |
880 | * | |
881 | * @param instructionId the Id of Instruction to be updated | |
882 | * @param instructionInfo the details of updates to Instruction | |
883 | * being updated | |
884 | * @param contextInfo Context information containing the | |
885 | * principalId and locale information about the caller of | |
886 | * service operation | |
887 | * @return the details of Instruction just updated | |
888 | * @throws DataValidationErrorException One or more values invalid | |
889 | * for this operation | |
890 | * @throws DoesNotExistException instructionId not found | |
891 | * @throws InvalidParameterException invalid instructionId, | |
892 | * instructionInfo, or contextInfo | |
893 | * @throws MissingParameterException missing instructionId, | |
894 | * instructionInfo, or contextInfo | |
895 | * @throws OperationFailedException unable to complete request | |
896 | * @throws PermissionDeniedException authorization failure | |
897 | * @throws ReadOnlyException an attempt at supplying information | |
898 | * designated as read-only | |
899 | * @throws VersionMismatchException The action was attempted on an out | |
900 | * of date version. | |
901 | */ | |
902 | public InstructionInfo updateInstruction(@WebParam(name = "instructionId") String instructionId, @WebParam(name = "instructionInfo") InstructionInfo instructionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException; | |
903 | ||
904 | /** | |
905 | * Deletes an existing Instruction. | |
906 | * | |
907 | * @param instructionId the Id of the Instruction to be deleted | |
908 | * @param contextInfo Context information containing the | |
909 | * principalId and locale information about the caller of | |
910 | * service operation | |
911 | * @return status of the operation (success, failed) | |
912 | * @throws DoesNotExistException instructionId not found | |
913 | * @throws InvalidParameterException invalid instructionId or | |
914 | * contextInfo | |
915 | * @throws MissingParameterException missing instructionId or | |
916 | * contextInfo | |
917 | * @throws OperationFailedException unable to complete request | |
918 | * @throws PermissionDeniedException authorization failure | |
919 | */ | |
920 | public StatusInfo deleteInstruction(@WebParam(name = "instructionId") String instructionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
921 | ||
922 | /** | |
923 | * Retrieves a list of all Instructions ready to be | |
924 | * evaluated in order. This method: | |
925 | * 1. orders the Instructions for a Process | |
926 | * 2. filters out Instructions whose state is not "active" | |
927 | * 3. filters out Instructions whose effective dates are not current | |
928 | * or the current context date does not apply (?) | |
929 | * | |
930 | * @param processKey a unique identfiier for a Process | |
931 | * @param contextInfo Context information containing the | |
932 | * principalId and locale information about the caller of | |
933 | * service operation | |
934 | * @return a list of Instructions | |
935 | * @throws InvalidParameterException invalid processKey or | |
936 | * contextInfo | |
937 | * @throws MissingParameterException missing processKey or | |
938 | * contextInfo | |
939 | * @throws OperationFailedException unable to complete request | |
940 | * @throws PermissionDeniedException authorization failure | |
941 | */ | |
942 | public List<InstructionInfo> getInstructionsForEvaluation(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
943 | } |