Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
ProcessService |
|
| 1.0;1 |
1 | /** | |
2 | * Copyright 2011 The Kuali Foundation Licensed under the | |
3 | * Educational Community License, Version 2.0 (the "License"); you may | |
4 | * not use this file except in compliance with the License. You may | |
5 | * obtain a copy of the License at | |
6 | * | |
7 | * http://www.osedu.org/licenses/ECL-2.0 | |
8 | * | |
9 | * Unless required by applicable law or agreed to in writing, | |
10 | * software distributed under the License is distributed on an "AS IS" | |
11 | * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
12 | * or implied. See the License for the specific language governing | |
13 | * permissions and limitations under the License. | |
14 | */ | |
15 | ||
16 | package org.kuali.student.r2.core.process.service; | |
17 | ||
18 | import org.kuali.rice.core.api.criteria.QueryByCriteria; | |
19 | import org.kuali.student.r2.common.dto.ContextInfo; | |
20 | import org.kuali.student.r2.common.dto.StatusInfo; | |
21 | import org.kuali.student.r2.common.dto.ValidationResultInfo; | |
22 | import org.kuali.student.r2.common.exceptions.AlreadyExistsException; | |
23 | import org.kuali.student.r2.common.exceptions.DataValidationErrorException; | |
24 | import org.kuali.student.r2.common.exceptions.DoesNotExistException; | |
25 | import org.kuali.student.r2.common.exceptions.InvalidParameterException; | |
26 | import org.kuali.student.r2.common.exceptions.MissingParameterException; | |
27 | import org.kuali.student.r2.common.exceptions.OperationFailedException; | |
28 | import org.kuali.student.r2.common.exceptions.PermissionDeniedException; | |
29 | import org.kuali.student.r2.common.exceptions.ReadOnlyException; | |
30 | import org.kuali.student.r2.common.exceptions.VersionMismatchException; | |
31 | import org.kuali.student.r2.common.util.constants.ProcessServiceConstants; | |
32 | import org.kuali.student.r2.core.process.dto.CheckInfo; | |
33 | import org.kuali.student.r2.core.process.dto.InstructionInfo; | |
34 | import org.kuali.student.r2.core.process.dto.ProcessCategoryInfo; | |
35 | import org.kuali.student.r2.core.process.dto.ProcessInfo; | |
36 | ||
37 | import javax.jws.WebParam; | |
38 | import javax.jws.WebService; | |
39 | import javax.jws.soap.SOAPBinding; | |
40 | import java.util.List; | |
41 | ||
42 | /** | |
43 | * Process Service Description and Assumptions. | |
44 | * | |
45 | * This service supports the management of Checks. | |
46 | * | |
47 | */ | |
48 | ||
49 | @WebService(name = "ProcessService", serviceName = "ProcessService", portName = "ProcessService", targetNamespace = ProcessServiceConstants.NAMESPACE) | |
50 | @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | |
51 | ||
52 | public interface ProcessService { | |
53 | ||
54 | /** | |
55 | * Retrieves a ProcessCategory. | |
56 | * | |
57 | * @param processCategoryId a unique Id of a ProcessCategory | |
58 | * @param contextInfo Context information containing the | |
59 | * principalId and locale information about the caller of | |
60 | * service operation | |
61 | * @return a ProcessCategory | |
62 | * @throws DoesNotExistException processCategoryId not found | |
63 | * @throws InvalidParameterException invalid processCategoryId or | |
64 | * contextInfo | |
65 | * @throws MissingParameterException missing processCategoryId or | |
66 | * contextInfo | |
67 | * @throws OperationFailedException unable to complete request | |
68 | * @throws PermissionDeniedException authorization failure | |
69 | */ | |
70 | public ProcessCategoryInfo getProcessCategory(@WebParam(name = "processCategoryId") String processCategoryId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
71 | ||
72 | /** | |
73 | * Retrieves a list of ProcessCategoryes corresponding to the | |
74 | * given list of ProcessCategory Ids. | |
75 | * | |
76 | * @param processCategoryIds list of ProcessCategories to be retrieved | |
77 | * @param contextInfo Context information containing the | |
78 | * principalId and locale information about the caller of | |
79 | * service operation | |
80 | * @return a list of ProcessCategory Ids of the given type | |
81 | * @throws DoesNotExistException an processCategoryId in list not found | |
82 | * @throws InvalidParameterException invalid processCategoryId or | |
83 | * contextInfo | |
84 | * @throws MissingParameterException missing processCategoryId or | |
85 | * contextInfo | |
86 | * @throws OperationFailedException unable to complete request | |
87 | * @throws PermissionDeniedException authorization failure | |
88 | */ | |
89 | public List<ProcessCategoryInfo> getProcessCategoriesByIds(@WebParam(name = "processCategoryIds") List<String> processCategoryIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
90 | ||
91 | /** | |
92 | * Retrieves a list of ProcessCategory Ids of the specified type. | |
93 | * | |
94 | * @param processTypeKey a ProcessCategory type to be retrieved | |
95 | * @param contextInfo Context information containing the | |
96 | * principalId and locale information about the caller of | |
97 | * service operation | |
98 | * @return a list of ProcessCategory Ids | |
99 | * @throws InvalidParameterException invalid processTypeKey or contextInfo | |
100 | * @throws MissingParameterException missing processTypeKey or contextInfo | |
101 | * @throws OperationFailedException unable to complete request | |
102 | * @throws PermissionDeniedException authorization failure | |
103 | */ | |
104 | public List<String> getProcessCategoryIdsByType(@WebParam(name = "processTypeKey") String processTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
105 | ||
106 | /** | |
107 | * Retrieves a list of ProcessCategories in which the given | |
108 | * Process is related. | |
109 | * | |
110 | * @param processKey a Process key | |
111 | * @param contextInfo Context information containing the | |
112 | * principalId and locale information about the caller of | |
113 | * service operation | |
114 | * @return a list of ProcessCategories | |
115 | * @throws InvalidParameterException invalid processKey or contextInfo | |
116 | * @throws MissingParameterException missing processKey or contextInfo | |
117 | * @throws OperationFailedException unable to complete request | |
118 | * @throws PermissionDeniedException authorization failure | |
119 | */ | |
120 | public List<ProcessCategoryInfo> getProcessCategoriesForProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
121 | ||
122 | /** | |
123 | * Searches for ProcessCategories based on the criteria and | |
124 | * returns a list of ProcessCategory identifiers which match the | |
125 | * search criteria. | |
126 | * | |
127 | * @param criteria the search criteria | |
128 | * @param contextInfo Context information containing the | |
129 | * principalId and locale information about the caller of | |
130 | * service operation | |
131 | * @return list of ProcessCategory Ids | |
132 | * @throws InvalidParameterException invalid criteria or contextInfo | |
133 | * @throws MissingParameterException missing criteria or contextInfo | |
134 | * @throws OperationFailedException unable to complete request | |
135 | * @throws PermissionDeniedException authorization failure | |
136 | */ | |
137 | public List<String> searchForProcessCategoryIds(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
138 | ||
139 | /** | |
140 | * Searches for ProcessCategories based on the criteria and | |
141 | * returns a list of ProcessCategories which match the search | |
142 | * criteria. | |
143 | * | |
144 | * @param criteria the search criteria | |
145 | * @param contextInfo Context information containing the | |
146 | * principalId and locale information about the caller of | |
147 | * service operation | |
148 | * @return list of ProcessCategories | |
149 | * @throws InvalidParameterException invalid criteria or contextInfo | |
150 | * @throws MissingParameterException missing criteria or contextInfo | |
151 | * @throws OperationFailedException unable to complete request | |
152 | * @throws PermissionDeniedException authorization failure | |
153 | */ | |
154 | public List<ProcessCategoryInfo> searchForProcessCategories(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
155 | ||
156 | /** | |
157 | * Validates a ProcessCategory. Depending on the value of | |
158 | * validationType, this validation could be limited to tests on | |
159 | * just the current object and its directly contained sub-objects | |
160 | * or expanded to perform all tests related to this object. If an | |
161 | * identifier is present for the ProcessCategory and a record is | |
162 | * found for that identifier, the validation checks if the | |
163 | * ProcessCategory can be shifted to the new values. If a record | |
164 | * cannot be found for the identifier, it is assumed that the | |
165 | * record does not exist and as such, the checks performed will be | |
166 | * much shallower, typically mimicking those performed by setting | |
167 | * the validationType to the current object. This is a slightly | |
168 | * different pattern from the standard validation as the caller | |
169 | * provides the identifier in the create statement instead of the | |
170 | * server assigning an identifier. | |
171 | * | |
172 | * @param validationTypeKey the identifier of the extent of validation | |
173 | * @param processCategoryInfo the ProcessCategory information to be tested | |
174 | * @param contextInfo Context information containing the | |
175 | * principalId and locale information about the caller of | |
176 | * service operation | |
177 | * @return Results from performing the validation | |
178 | * @throws DoesNotExistException validationTypeKey not found | |
179 | * @throws InvalidParameterException invalid validationTypeKey, | |
180 | * processInfo, or contextInfo | |
181 | * @throws MissingParameterException missing validationTypeKey, | |
182 | * processInfo, or contextInfo | |
183 | * @throws OperationFailedException unable to complete request | |
184 | * @throws PermissionDeniedException authorization failure | |
185 | */ | |
186 | public List<ValidationResultInfo> validateProcessCategory(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processCategoryInfo") ProcessCategoryInfo processCategoryInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
187 | ||
188 | /** | |
189 | * Creates a new ProcessCategory. | |
190 | * | |
191 | * @param processCategoryInfo the details of ProcessCategory to be created | |
192 | * @param contextInfo Context information containing the | |
193 | * principalId and locale information about the caller of | |
194 | * service operation | |
195 | * @return the ProcessCategory just created | |
196 | * @throws AlreadyExistsException the ProcessCategory being | |
197 | * created already exists | |
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 = "processCategoryInfo") ProcessCategoryInfo processCategoryInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, 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 AlreadyExistsException, 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 processInfo the Process information to be tested | |
413 | * @param contextInfo Context information containing the | |
414 | * principalId and locale information about the caller of | |
415 | * service operation | |
416 | * @return Results from performing the validation | |
417 | * @throws DoesNotExistException validationTypeKey not found | |
418 | * @throws InvalidParameterException invalid validationTypeKey, | |
419 | * processInfo, or contextInfo | |
420 | * @throws MissingParameterException missing validationTypeKey, | |
421 | * processInfo, or contextInfo | |
422 | * @throws OperationFailedException unable to complete request | |
423 | * @throws PermissionDeniedException authorization failure | |
424 | */ | |
425 | public List<ValidationResultInfo> validateProcess(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processInfo") ProcessInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
426 | ||
427 | /** | |
428 | * Creates a new Process. | |
429 | * | |
430 | * @param processKey the key of Process to be created | |
431 | * @param processInfo the details of Process to be created | |
432 | * @param contextInfo Context information containing the | |
433 | * principalId and locale information about the caller of | |
434 | * service operation | |
435 | * @return the Process just created | |
436 | * @throws AlreadyExistsException the Process being created already exists | |
437 | * @throws DataValidationErrorException one or more values invalid | |
438 | * for this operation | |
439 | * @throws InvalidParameterException invalid processKey, | |
440 | * processInfo, or contextInfo | |
441 | * @throws MissingParameterException missing processKey, | |
442 | * processInfo, or contextInfo | |
443 | * @throws OperationFailedException unable to complete request | |
444 | * @throws PermissionDeniedException authorization failure | |
445 | * @throws ReadOnlyException an attempt at supplying information | |
446 | * designated as read-only | |
447 | */ | |
448 | public ProcessInfo createProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "processInfo") ProcessInfo processInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
449 | ||
450 | /** | |
451 | * Updates an existing Process. | |
452 | * | |
453 | * @param processKey the key of Process to be updated | |
454 | * @param processInfo the details of updates to Process being updated | |
455 | * @param contextInfo Context information containing the | |
456 | * principalId and locale information about the caller of | |
457 | * service operation | |
458 | * @return the details of Process just updated | |
459 | * @throws DataValidationErrorException One or more values invalid | |
460 | * for this operation | |
461 | * @throws DoesNotExistException processKey not found | |
462 | * @throws InvalidParameterException invalid processKey, | |
463 | * processInfo, or contextInfo | |
464 | * @throws MissingParameterException missing processKey, | |
465 | * processInfo, or contextInfo | |
466 | * @throws OperationFailedException unable to complete request | |
467 | * @throws PermissionDeniedException authorization failure | |
468 | * @throws ReadOnlyException an attempt at supplying information | |
469 | * designated as read-only | |
470 | * @throws VersionMismatchException The action was attempted on an out | |
471 | * of date version. | |
472 | */ | |
473 | 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; | |
474 | ||
475 | /** | |
476 | * Deletes an existing Process. | |
477 | * | |
478 | * @param processKey the key of the Process to be deleted | |
479 | * @param contextInfo Context information containing the | |
480 | * principalId and locale information about the caller of | |
481 | * service operation | |
482 | * @return status of the operation (success, failed) | |
483 | * @throws DoesNotExistException processKey not found | |
484 | * @throws InvalidParameterException invalid processKey or contextInfo | |
485 | * @throws MissingParameterException missing processKey or contextInfo | |
486 | * @throws OperationFailedException unable to complete request | |
487 | * @throws PermissionDeniedException authorization failure | |
488 | */ | |
489 | public StatusInfo deleteProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
490 | ||
491 | /** | |
492 | * Retrieves a Check. | |
493 | * | |
494 | * @param checkKey a unique Id of a Check | |
495 | * @param contextInfo Context information containing the | |
496 | * principalId and locale information about the caller of | |
497 | * service operation | |
498 | * @return a Check | |
499 | * @throws DoesNotExistException checkKey not found | |
500 | * @throws InvalidParameterException invalid checkKey or | |
501 | * contextInfo | |
502 | * @throws MissingParameterException missing checkKey or | |
503 | * contextInfo | |
504 | * @throws OperationFailedException unable to complete request | |
505 | * @throws PermissionDeniedException authorization failure | |
506 | */ | |
507 | public CheckInfo getCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
508 | ||
509 | /** | |
510 | * Retrieves a list of Checks corresponding to the | |
511 | * given list of Check Ids. | |
512 | * | |
513 | * @param checkKeys list of Checkess to be retrieved | |
514 | * @param contextInfo Context information containing the | |
515 | * principalId and locale information about the caller of | |
516 | * service operation | |
517 | * @return a list of Check Ids of the given type | |
518 | * @throws DoesNotExistException an checkKey in list not found | |
519 | * @throws InvalidParameterException invalid checkKey or | |
520 | * contextInfo | |
521 | * @throws MissingParameterException missing checkKey or | |
522 | * contextInfo | |
523 | * @throws OperationFailedException unable to complete request | |
524 | * @throws PermissionDeniedException authorization failure | |
525 | */ | |
526 | public List<CheckInfo> getChecksByIds(@WebParam(name = "checkKeys") List<String> checkKeys, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
527 | ||
528 | /** | |
529 | * Retrieves a list of Check Ids of the specified type. | |
530 | * | |
531 | * @param checkTypeKey a Check type to be retrieved | |
532 | * @param contextInfo Context information containing the | |
533 | * principalId and locale information about the caller of | |
534 | * service operation | |
535 | * @return a list of Check Ids | |
536 | * @throws InvalidParameterException invalid checkTypeKey or contextInfo | |
537 | * @throws MissingParameterException missing checkTypeKey or contextInfo | |
538 | * @throws OperationFailedException unable to complete request | |
539 | * @throws PermissionDeniedException authorization failure | |
540 | */ | |
541 | public List<String> getCheckKeysByType(@WebParam(name = "checkTypeKey") String checkTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
542 | ||
543 | /** | |
544 | * Searches for Checks based on the criteria and returns a list of | |
545 | * Check identifiers which match the search criteria. | |
546 | * | |
547 | * @param criteria the search criteria | |
548 | * @param contextInfo Context information containing the | |
549 | * principalId and locale information about the caller of | |
550 | * service operation | |
551 | * @return list of Check Ids | |
552 | * @throws InvalidParameterException invalid criteria or contextInfo | |
553 | * @throws MissingParameterException missing criteria or contextInfo | |
554 | * @throws OperationFailedException unable to complete request | |
555 | * @throws PermissionDeniedException authorization failure | |
556 | */ | |
557 | public List<String> searchForCheckKeys(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
558 | ||
559 | /** | |
560 | * Searches for Checks based on the criteria and returns a list of | |
561 | * Checks which match the search criteria. | |
562 | * | |
563 | * @param criteria the search criteria | |
564 | * @param contextInfo Context information containing the | |
565 | * principalId and locale information about the caller of | |
566 | * service operation | |
567 | * @return list of Checks | |
568 | * @throws InvalidParameterException invalid criteria or contextInfo | |
569 | * @throws MissingParameterException missing criteria or contextInfo | |
570 | * @throws OperationFailedException unable to complete request | |
571 | * @throws PermissionDeniedException authorization failure | |
572 | */ | |
573 | public List<CheckInfo> searchForChecks(@WebParam(name = "criteria") QueryByCriteria criteria, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
574 | ||
575 | /** | |
576 | * Validates a Check. Depending on the value of | |
577 | * validationType, this validation could be limited to tests on | |
578 | * just the current object and its directly contained sub-objects | |
579 | * or expanded to perform all tests related to this object. If an | |
580 | * identifier is present for the Check and a record is | |
581 | * found for that identifier, the validation checks if the | |
582 | * Check can be shifted to the new values. If a record | |
583 | * cannot be found for the identifier, it is assumed that the | |
584 | * record does not exist and as such, the checks performed will be | |
585 | * much shallower, typically mimicking those performed by setting | |
586 | * the validationType to the current object. This is a slightly | |
587 | * different pattern from the standard validation as the caller | |
588 | * provides the identifier in the create statement instead of the | |
589 | * server assigning an identifier. | |
590 | * | |
591 | * @param validationTypeKey the identifier of the extent of validation | |
592 | * @param checkInfo the Check information to be tested | |
593 | * @param contextInfo Context information containing the | |
594 | * principalId and locale information about the caller of | |
595 | * service operation | |
596 | * @return Results from performing the validation | |
597 | * @throws DoesNotExistException validationTypeKey not found | |
598 | * @throws InvalidParameterException invalid validationTypeKey, | |
599 | * checkInfo, or contextInfo | |
600 | * @throws MissingParameterException missing validationTypeKey, | |
601 | * checkInfo, or contextInfo | |
602 | * @throws OperationFailedException unable to complete request | |
603 | * @throws PermissionDeniedException authorization failure | |
604 | */ | |
605 | public List<ValidationResultInfo> validateCheck(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
606 | ||
607 | /** | |
608 | * Creates a new Check. | |
609 | * | |
610 | * @param checkInfo the details of Check to be created | |
611 | * @param contextInfo Context information containing the | |
612 | * principalId and locale information about the caller of | |
613 | * service operation | |
614 | * @return the Check just created | |
615 | * @throws AlreadyExistsException the Check being | |
616 | * created already exists | |
617 | * @throws DataValidationErrorException one or more values invalid | |
618 | * for this operation | |
619 | * @throws InvalidParameterException invalid checkInfo or | |
620 | * contextInfo | |
621 | * @throws MissingParameterException missing checkInfo or | |
622 | * contextInfo | |
623 | * @throws OperationFailedException unable to complete request | |
624 | * @throws PermissionDeniedException authorization failure | |
625 | * @throws ReadOnlyException an attempt at supplying information | |
626 | * designated as read-only | |
627 | */ | |
628 | public CheckInfo createCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws AlreadyExistsException, DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException;; | |
629 | ||
630 | /** | |
631 | * Updates an existing Check. | |
632 | * | |
633 | * @param checkKey the Id of Check to be updated | |
634 | * @param checkInfo the details of updates to Check | |
635 | * being updated | |
636 | * @param contextInfo Context information containing the | |
637 | * principalId and locale information about the caller of | |
638 | * service operation | |
639 | * @return the details of Check just updated | |
640 | * @throws DataValidationErrorException One or more values invalid | |
641 | * for this operation | |
642 | * @throws DoesNotExistException checkKey not found | |
643 | * @throws InvalidParameterException invalid checkKey, | |
644 | * checkInfo, or contextInfo | |
645 | * @throws MissingParameterException missing checkKey, | |
646 | * checkInfo, or contextInfo | |
647 | * @throws OperationFailedException unable to complete request | |
648 | * @throws PermissionDeniedException authorization failure | |
649 | * @throws ReadOnlyException an attempt at supplying information | |
650 | * designated as read-only | |
651 | * @throws VersionMismatchException The action was attempted on an out | |
652 | * of date version. | |
653 | */ | |
654 | public CheckInfo updateCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "checkInfo") CheckInfo checkInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException, VersionMismatchException; | |
655 | ||
656 | /** | |
657 | * Deletes an existing Check. | |
658 | * | |
659 | * @param checkKey the Id of the Check to be deleted | |
660 | * @param contextInfo Context information containing the | |
661 | * principalId and locale information about the caller of | |
662 | * service operation | |
663 | * @return status of the operation (success, failed) | |
664 | * @throws DoesNotExistException checkKey not found | |
665 | * @throws InvalidParameterException invalid checkKey or | |
666 | * contextInfo | |
667 | * @throws MissingParameterException missing checkKey or | |
668 | * contextInfo | |
669 | * @throws OperationFailedException unable to complete request | |
670 | * @throws PermissionDeniedException authorization failure | |
671 | */ | |
672 | public StatusInfo deleteCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
673 | ||
674 | /** | |
675 | * Retrieves an Instruction. | |
676 | * | |
677 | * @param instructionId a unique Id of an Instruction | |
678 | * @param contextInfo Context information containing the | |
679 | * principalId and locale information about the caller of | |
680 | * service operation | |
681 | * @return an Instruction | |
682 | * @throws DoesNotExistException instructionId not found | |
683 | * @throws InvalidParameterException invalid instructionId or | |
684 | * contextInfo | |
685 | * @throws MissingParameterException missing instructionId or | |
686 | * contextInfo | |
687 | * @throws OperationFailedException unable to complete request | |
688 | * @throws PermissionDeniedException authorization failure | |
689 | */ | |
690 | public InstructionInfo getInstruction(@WebParam(name = "instructionId") String instructionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
691 | ||
692 | /** | |
693 | * Retrieves a list of Instructions corresponding to the | |
694 | * given list of Instruction Ids. | |
695 | * | |
696 | * @param instructionIds list of Instructioness to be retrieved | |
697 | * @param contextInfo Context information containing the | |
698 | * principalId and locale information about the caller of | |
699 | * service operation | |
700 | * @return a list of Instruction Ids of the given type | |
701 | * @throws DoesNotExistException an instructionId in list not found | |
702 | * @throws InvalidParameterException invalid instructionId or | |
703 | * contextInfo | |
704 | * @throws MissingParameterException missing instructionId or | |
705 | * contextInfo | |
706 | * @throws OperationFailedException unable to complete request | |
707 | * @throws PermissionDeniedException authorization failure | |
708 | */ | |
709 | public List<InstructionInfo> getInstructionsByIds(@WebParam(name = "instructionIds") List<String> instructionIds, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
710 | ||
711 | /** | |
712 | * Retrieves a list of Instruction Ids of the specified type. | |
713 | * | |
714 | * @param instructionTypeKey an Instruction type to be retrieved | |
715 | * @param contextInfo Context information containing the | |
716 | * principalId and locale information about the caller of | |
717 | * service operation | |
718 | * @return a list of Instruction Ids | |
719 | * @throws InvalidParameterException invalid instructionTypeKey or | |
720 | * contextInfo | |
721 | * @throws MissingParameterException missing instructionTypeKey or | |
722 | * contextInfo | |
723 | * @throws OperationFailedException unable to complete request | |
724 | * @throws PermissionDeniedException authorization failure | |
725 | */ | |
726 | public List<String> getInstructionIdsByType(@WebParam(name = "instructionTypeKey") String instructionTypeKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
727 | ||
728 | /** | |
729 | * Retrieves a list of all Instructions relating to the given | |
730 | * Process. This returns a list of Instructions ordered by | |
731 | * position. | |
732 | * | |
733 | * @param processKey a unique identfiier for a Process | |
734 | * @param contextInfo Context information containing the | |
735 | * principalId and locale information about the caller of | |
736 | * service operation | |
737 | * @return a list of Instructions | |
738 | * @throws InvalidParameterException invalid processKey or | |
739 | * contextInfo | |
740 | * @throws MissingParameterException missing processKey or | |
741 | * contextInfo | |
742 | * @throws OperationFailedException unable to complete request | |
743 | * @throws PermissionDeniedException authorization failure | |
744 | */ | |
745 | public List<InstructionInfo> getInstructionsByProcess(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
746 | ||
747 | /** | |
748 | * Retrieves a list of Instructions relating to the given | |
749 | * Check. | |
750 | * | |
751 | * @param checkKey a unique identfiier for a Check | |
752 | * @param contextInfo Context information containing the | |
753 | * principalId and locale information about the caller of | |
754 | * service operation | |
755 | * @return a list of Instructions | |
756 | * @throws InvalidParameterException invalid checkKey or | |
757 | * contextInfo | |
758 | * @throws MissingParameterException missing checkKey or | |
759 | * contextInfo | |
760 | * @throws OperationFailedException unable to complete request | |
761 | * @throws PermissionDeniedException authorization failure | |
762 | */ | |
763 | public List<InstructionInfo> getInstructionsByCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
764 | ||
765 | /** | |
766 | * Retrieves a list of Instructions relating to the given | |
767 | * Process and Check. | |
768 | * | |
769 | * @param processKey a unique identfiier for a Process | |
770 | * @param checkKey a unique identfiier for a Check | |
771 | * @param contextInfo Context information containing the | |
772 | * principalId and locale information about the caller of | |
773 | * service operation | |
774 | * @return a list of Instructions | |
775 | * @throws DoesNotExistException checkKey not found | |
776 | * @throws InvalidParameterException invalid processKey, checkKey, | |
777 | * or contextInfo | |
778 | * @throws MissingParameterException missing processKey, checkKey, | |
779 | * or contextInfo | |
780 | * @throws OperationFailedException unable to complete request | |
781 | * @throws PermissionDeniedException authorization failure | |
782 | */ | |
783 | public List<InstructionInfo> getInstructionsByProcessAndCheck(@WebParam(name = "checkKey") String checkKey, @WebParam(name = "processKey") String processKey, @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 | |
823 | * found 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 will be | |
827 | * much shallower, typically mimicking those performed by setting | |
828 | * the validationType to the current object. This is a slightly | |
829 | * different pattern from the standard validation as the caller | |
830 | * provides the identifier in the create statement instead of the | |
831 | * 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 checkKey the identifier of the related Check | |
836 | * @param instructionInfo the Instruction information to be tested | |
837 | * @param contextInfo Context information containing the | |
838 | * principalId and locale information about the caller of | |
839 | * service operation | |
840 | * @return Results from performing the validation | |
841 | * @throws DoesNotExistException validationTypeKey, processKey, or | |
842 | * checkKey not found | |
843 | * @throws InvalidParameterException invalid validationTypeKey, | |
844 | * processKey, checkKey, instructionInfo, or contextInfo | |
845 | * @throws MissingParameterException missing validationTypeKey, | |
846 | * processKey, checkKey, instructionInfo, or contextInfo | |
847 | * @throws OperationFailedException unable to complete request | |
848 | * @throws PermissionDeniedException authorization failure | |
849 | */ | |
850 | public List<ValidationResultInfo> validateInstruction(@WebParam(name = "validationTypeKey") String validationTypeKey, @WebParam(name = "processKey") String processKey, @WebParam(name = "checkKey") String checkKey, @WebParam(name = "instructionInfo") InstructionInfo instructionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
851 | ||
852 | /** | |
853 | * Creates a new Instruction. | |
854 | * | |
855 | * @param instructionId the Id of Instruction to be created | |
856 | * @param instructionInfo the details of Instruction to be created | |
857 | * @param contextInfo Context information containing the | |
858 | * principalId and locale information about the caller of | |
859 | * service operation | |
860 | * @return the Instruction just created | |
861 | * @throws AlreadyExistsException the Instruction being | |
862 | * created already exists | |
863 | * @throws DataValidationErrorException one or more values invalid | |
864 | * for this operation | |
865 | * @throws InvalidParameterException invalid processKey, checkKey, | |
866 | * instructionInfo, or contextInfo | |
867 | * @throws MissingParameterException missing processKey, checkKey, | |
868 | * instructionInfo, or contextInfo | |
869 | * @throws OperationFailedException unable to complete request | |
870 | * @throws PermissionDeniedException authorization failure | |
871 | * @throws ReadOnlyException an attempt at supplying information | |
872 | * designated as read-only | |
873 | */ | |
874 | public InstructionInfo createInstruction(@WebParam(name = "processKey") String processKey, @WebParam(name = "checkKey") String checkKey, @WebParam(name = "instructionInfo") InstructionInfo instructionInfo, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DataValidationErrorException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException, ReadOnlyException; | |
875 | ||
876 | /** | |
877 | * Updates an existing Instruction. | |
878 | * | |
879 | * @param instructionId the Id of Instruction to be updated | |
880 | * @param instructionInfo the details of updates to Instruction | |
881 | * being updated | |
882 | * @param contextInfo Context information containing the | |
883 | * principalId and locale information about the caller of | |
884 | * service operation | |
885 | * @return the details of Instruction just updated | |
886 | * @throws DataValidationErrorException One or more values invalid | |
887 | * for this operation | |
888 | * @throws DoesNotExistException instructionId not found | |
889 | * @throws InvalidParameterException invalid instructionId, | |
890 | * instructionInfo, or contextInfo | |
891 | * @throws MissingParameterException missing instructionId, | |
892 | * instructionInfo, or contextInfo | |
893 | * @throws OperationFailedException unable to complete request | |
894 | * @throws PermissionDeniedException authorization failure | |
895 | * @throws ReadOnlyException an attempt at supplying information | |
896 | * designated as read-only | |
897 | * @throws VersionMismatchException The action was attempted on an out | |
898 | * of date version. | |
899 | */ | |
900 | 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; | |
901 | ||
902 | /** | |
903 | * Deletes an existing Instruction. | |
904 | * | |
905 | * @param instructionId the Id of the Instruction to be deleted | |
906 | * @param contextInfo Context information containing the | |
907 | * principalId and locale information about the caller of | |
908 | * service operation | |
909 | * @return status of the operation (success, failed) | |
910 | * @throws DoesNotExistException instructionId not found | |
911 | * @throws InvalidParameterException invalid instructionId or | |
912 | * contextInfo | |
913 | * @throws MissingParameterException missing instructionId or | |
914 | * contextInfo | |
915 | * @throws OperationFailedException unable to complete request | |
916 | * @throws PermissionDeniedException authorization failure | |
917 | */ | |
918 | public StatusInfo deleteInstruction(@WebParam(name = "instructionId") String instructionId, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
919 | ||
920 | /** | |
921 | * Retrieves a list of all Instructions ready to be | |
922 | * evaluated in order. This method: | |
923 | * 1. orders the Instructions for a Process | |
924 | * 2. filters out Instructions whose state is not "active" | |
925 | * 3. filters out Instructions whose effective dates are not current | |
926 | * or the current context date does not apply (?) | |
927 | * | |
928 | * @param processKey a unique identfiier for a Process | |
929 | * @param contextInfo Context information containing the | |
930 | * principalId and locale information about the caller of | |
931 | * service operation | |
932 | * @return a list of Instructions | |
933 | * @throws InvalidParameterException invalid processKey or | |
934 | * contextInfo | |
935 | * @throws MissingParameterException missing processKey or | |
936 | * contextInfo | |
937 | * @throws OperationFailedException unable to complete request | |
938 | * @throws PermissionDeniedException authorization failure | |
939 | */ | |
940 | public List<InstructionInfo> getInstructionsForEvaluation(@WebParam(name = "processKey") String processKey, @WebParam(name = "contextInfo") ContextInfo contextInfo) throws InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException; | |
941 | } |