1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kew.api.document;
17
18 import org.joda.time.DateTime;
19 import org.kuali.rice.core.api.exception.RiceIllegalArgumentException;
20 import org.kuali.rice.core.api.exception.RiceIllegalStateException;
21 import org.kuali.rice.core.api.util.jaxb.DateTimeAdapter;
22 import org.kuali.rice.core.api.util.jaxb.MapStringStringAdapter;
23 import org.kuali.rice.kew.api.KewApiConstants;
24 import org.kuali.rice.kew.api.action.ActionRequest;
25 import org.kuali.rice.kew.api.action.ActionTaken;
26 import org.kuali.rice.kew.api.document.search.DocumentSearchCriteria;
27 import org.kuali.rice.kew.api.document.search.DocumentSearchResults;
28 import org.kuali.rice.kew.api.document.node.RouteNodeInstance;
29
30 import javax.jws.WebMethod;
31 import javax.jws.WebParam;
32 import javax.jws.WebResult;
33 import javax.jws.WebService;
34 import javax.jws.soap.SOAPBinding;
35 import javax.xml.bind.annotation.XmlElement;
36 import javax.xml.bind.annotation.XmlElementWrapper;
37 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
38 import java.math.BigDecimal;
39 import java.util.List;
40 import java.util.Map;
41
42
43
44
45
46
47 @WebService(name = "workflowDocumentService", targetNamespace = KewApiConstants.Namespaces.KEW_NAMESPACE_2_0)
48 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
49 public interface WorkflowDocumentService {
50
51
52
53
54
55
56
57
58
59
60
61
62 @WebMethod(operationName = "getDocument")
63 @WebResult(name = "document")
64 Document getDocument(@WebParam(name = "documentId") String documentId) throws RiceIllegalArgumentException;
65
66
67
68
69
70
71
72
73
74
75
76
77 @WebMethod(operationName = "doesDocumentExist")
78 @WebResult(name = "document")
79 boolean doesDocumentExist(@WebParam(name = "documentId") String documentId)
80 throws RiceIllegalArgumentException;
81
82
83
84
85
86
87
88
89
90
91
92
93 @WebMethod(operationName = "getDocumentContent")
94 @WebResult(name = "documentContent")
95 DocumentContent getDocumentContent(@WebParam(name = "documentId") String documentId)
96 throws RiceIllegalArgumentException;
97
98
99
100
101
102
103
104
105
106
107
108 @WebMethod(operationName = "getDocumentTypeName")
109 @WebResult(name = "documentTypeName")
110 String getDocumentTypeName(@WebParam(name = "documentId") String documentId) throws RiceIllegalArgumentException;
111
112
113
114
115
116
117
118
119
120
121 @WebMethod(operationName = "getRootActionRequests")
122 @XmlElementWrapper(name = "rootActionRequests", required = true)
123 @XmlElement(name = "rootActionRequest", required = false)
124 @WebResult(name = "rootActionRequests")
125 List<ActionRequest> getRootActionRequests(@WebParam(name = "documentId") String documentId)
126 throws RiceIllegalArgumentException;
127
128
129
130
131
132
133
134
135
136 @WebMethod(operationName = "getPendingActionRequests")
137 @XmlElementWrapper(name = "pendingActionRequests", required = true)
138 @XmlElement(name = "pendingActionRequest", required = false)
139 @WebResult(name = "pendingActionRequests")
140 List<ActionRequest> getPendingActionRequests(String documentId);
141
142
143
144
145
146
147
148
149
150
151
152
153 @WebMethod(operationName = "getActionRequestsForPrincipalAtNode")
154 @XmlElementWrapper(name = "actionRequests", required = true)
155 @XmlElement(name = "actionRequests", required = false)
156 @WebResult(name = "actionRequests")
157 List<ActionRequest> getActionRequestsForPrincipalAtNode(@WebParam(name = "documentId") String documentId,
158 @WebParam(name = "nodeName") String nodeName, @WebParam(name = "principalId") String principalId)
159 throws RiceIllegalArgumentException;
160
161
162
163
164
165
166
167
168
169
170 @WebMethod(operationName = "getActionsTaken")
171 @XmlElementWrapper(name = "actionsTaken", required = true)
172 @XmlElement(name = "actionTaken", required = false)
173 @WebResult(name = "actionsTaken")
174 List<ActionTaken> getActionsTaken(@WebParam(name = "documentId") String documentId)
175 throws RiceIllegalArgumentException;
176
177
178
179
180
181
182
183
184
185
186 @WebMethod(operationName = "getActionRequests")
187 @XmlElementWrapper(name = "actionsTaken", required = true)
188 @XmlElement(name = "actionTaken", required = false)
189 @WebResult(name = "actionsTaken")
190 @Deprecated
191 List<ActionTaken> _getActionsTaken(@WebParam(name = "documentId") String documentId)
192 throws RiceIllegalArgumentException;
193
194
195
196
197
198
199
200
201
202
203
204
205
206 @WebMethod(operationName = "getAllActionRequests")
207 @XmlElementWrapper(name = "actionsTaken", required = true)
208 @XmlElement(name = "actionTaken", required = false)
209 @WebResult(name = "actionsTaken")
210 List<ActionTaken> getAllActionsTaken(@WebParam(name = "documentId") String documentId)
211 throws RiceIllegalArgumentException;
212
213
214
215
216
217
218
219
220
221
222
223
224
225 @WebMethod(operationName = "getDocumentDetailByAppId")
226 @WebResult(name = "documentDetail")
227 DocumentDetail getDocumentDetailByAppId(@WebParam(name = "documentTypeName") String documentTypeName,
228 @WebParam(name = "appId") String appId)
229 throws RiceIllegalArgumentException;
230
231
232
233
234
235
236
237
238
239
240 @WebMethod(operationName = "getDocumentDetail")
241 @WebResult(name = "documentDetail")
242 DocumentDetail getDocumentDetail(@WebParam(name = "documentId") String documentId);
243
244
245
246
247
248
249
250
251
252
253
254 @WebMethod(operationName = "getRouteNodeInstance")
255 @WebResult(name = "routeNodeInstance")
256 RouteNodeInstance getRouteNodeInstance(@WebParam(name = "routeNodeInstanceId") String routeNodeInstanceId)
257 throws RiceIllegalArgumentException;
258
259
260
261
262
263
264
265
266
267
268 @WebMethod(operationName = "getApplicationDocumentId")
269 @WebResult(name = "applicationDocumentId")
270 String getApplicationDocumentId(@WebParam(name = "documentId") String documentId)
271 throws RiceIllegalArgumentException;
272
273
274
275
276
277
278
279
280
281
282 @WebMethod(operationName = "getApplicationDocumentStatus")
283 @WebResult(name = "applicationDocumentStatus")
284 String getApplicationDocumentStatus(@WebParam(name = "documentId") String documentId)
285 throws RiceIllegalArgumentException;
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300 @WebMethod(operationName = "documentSearch")
301 @WebResult(name = "documentSearchResults")
302 DocumentSearchResults documentSearch(
303 @WebParam(name = "principalId") String principalId,
304 @WebParam(name = "criteria") DocumentSearchCriteria criteria)
305 throws RiceIllegalArgumentException;
306
307
308
309
310
311
312
313
314
315
316 @WebMethod(operationName = "getRouteNodeInstances")
317 @XmlElementWrapper(name = "routeNodeInstances", required = true)
318 @XmlElement(name = "routeNodeInstance", required = false)
319 @WebResult(name = "routeNodeInstances")
320 List<RouteNodeInstance> getRouteNodeInstances(@WebParam(name = "documentId") String documentId)
321 throws RiceIllegalArgumentException;
322
323
324
325
326
327
328
329
330
331
332 @WebMethod(operationName = "getActiveRouteNodeInstances")
333 @XmlElementWrapper(name = "routeNodeInstances", required = true)
334 @XmlElement(name = "routeNodeInstance", required = false)
335 @WebResult(name = "routeNodeInstances")
336 List<RouteNodeInstance> getActiveRouteNodeInstances(@WebParam(name = "documentId") String documentId)
337 throws RiceIllegalArgumentException;
338
339
340
341
342
343
344
345
346
347
348 @WebMethod(operationName = "getTerminalRouteNodeInstances")
349 @XmlElementWrapper(name = "routeNodeInstances", required = true)
350 @XmlElement(name = "routeNodeInstance", required = false)
351 @WebResult(name = "routeNodeInstances")
352 List<RouteNodeInstance> getTerminalRouteNodeInstances(@WebParam(name = "documentId") String documentId)
353 throws RiceIllegalArgumentException;
354
355
356
357
358
359
360
361
362
363
364 @WebMethod(operationName = "getCurrentRouteNodeInstances")
365 @XmlElementWrapper(name = "routeNodeInstances", required = true)
366 @XmlElement(name = "routeNodeInstance", required = false)
367 @WebResult(name = "routeNodeInstances")
368 List<RouteNodeInstance> getCurrentRouteNodeInstances(@WebParam(name = "documentId") String documentId)
369 throws RiceIllegalArgumentException;
370
371
372
373
374
375
376
377
378
379
380
381 @WebMethod(operationName = "getPreviousRouteNodeNames")
382 @XmlElementWrapper(name = "previousRouteNodeNames", required = true)
383 @XmlElement(name = "previousRouteNodeName", required = false)
384 @WebResult(name = "previousRouteNodeNames")
385 List<String> getPreviousRouteNodeNames(@WebParam(name = "documentId") String documentId)
386 throws RiceIllegalArgumentException;
387
388
389
390
391
392
393
394
395
396
397
398 @WebMethod(operationName = "getDocumentStatus")
399 @WebResult(name = "documentStatus")
400 DocumentStatus getDocumentStatus(@WebParam(name = "documentId") String documentId)
401 throws RiceIllegalArgumentException;
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417 @WebMethod(operationName = "getPrincipalIdsWithPendingActionRequestByActionRequestedAndDocId")
418 @XmlElementWrapper(name = "principalIds", required = true)
419 @XmlElement(name = "principalId", required = false)
420 @WebResult(name = "principalIds")
421 List<String> getPrincipalIdsWithPendingActionRequestByActionRequestedAndDocId(
422 @WebParam(name = "actionRequestedCd") String actionRequestedCd,
423 @WebParam(name = "documentId") String documentId)
424 throws RiceIllegalArgumentException;
425
426
427
428
429
430
431
432
433
434
435
436 @WebMethod(operationName = "getDocumentInitiatorPrincipalId")
437 @WebResult(name = "principalId")
438 String getDocumentInitiatorPrincipalId(@WebParam(name = "documentId") String documentId)
439 throws RiceIllegalArgumentException;
440
441
442
443
444
445
446
447
448
449
450
451 @WebMethod(operationName = "getRoutedByPrincipalIdByDocumentId")
452 @WebResult(name = "principalId")
453 String getRoutedByPrincipalIdByDocumentId(@WebParam(name = "documentId") String documentId)
454 throws RiceIllegalArgumentException;
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469 @WebMethod(operationName = "getSearchableAttributeStringValuesByKey")
470 @XmlElementWrapper(name = "searchableAttributeStringValues", required = true)
471 @XmlElement(name = "searchableAttributeStringValue", required = false)
472 @WebResult(name = "searchableAttributeStringValues")
473 List<String> getSearchableAttributeStringValuesByKey(@WebParam(name = "documentId") String documentId,
474 @WebParam(name = "key") String key)
475 throws RiceIllegalArgumentException;
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490 @WebMethod(operationName = "getSearchableAttributeDateTimeValuesByKey")
491 @XmlElementWrapper(name = "searchableAttributeDateTimeValues", required = true)
492 @XmlElement(name = "searchableAttributeDateTimeValue", required = false)
493 @WebResult(name = "searchableAttributeDateTimeValues")
494 @XmlJavaTypeAdapter(value = DateTimeAdapter.class)
495 List<DateTime> getSearchableAttributeDateTimeValuesByKey(@WebParam(name = "documentId") String documentId,
496 @WebParam(name = "key") String key)
497 throws RiceIllegalArgumentException;
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512 @WebMethod(operationName = "getSearchableAttributeFloatValuesByKey")
513 @XmlElementWrapper(name = "searchableAttributeBigDecimalValues", required = true)
514 @XmlElement(name = "searchableAttributeBigDecimalValue", required = false)
515 @WebResult(name = "searchableAttributeBigDecimalValues")
516 List<BigDecimal> getSearchableAttributeFloatValuesByKey(@WebParam(name = "documentId") String documentId,
517 @WebParam(name = "key") String key)
518 throws RiceIllegalArgumentException;
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533 @WebMethod(operationName = "getSearchableAttributeLongValuesByKey")
534 @XmlElementWrapper(name = "searchableAttributeLongValues", required = true)
535 @XmlElement(name = "searchableAttributeLongValue", required = false)
536 @WebResult(name = "searchableAttributeLongValues")
537 List<Long> getSearchableAttributeLongValuesByKey(@WebParam(name = "documentId") String documentId,
538 @WebParam(name = "key") String key)
539 throws RiceIllegalArgumentException;
540
541
542
543
544
545
546
547
548
549
550
551 @WebMethod(operationName = "getDocumentStatusTransitionHistory")
552 @XmlElementWrapper(name = "documentStatusTransitions", required = true)
553 @XmlElement(name = "documentStatusTransition", required = false)
554 @WebResult(name = "documentStatusTransitions")
555 List<DocumentStatusTransition> getDocumentStatusTransitionHistory(@WebParam(name = "documentId") String documentId)
556 throws RiceIllegalArgumentException;
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571 @WebMethod(operationName = "addDocumentLink")
572 @WebResult(name = "documentLink")
573 DocumentLink addDocumentLink(@WebParam(name = "documentLink") DocumentLink documentLink) throws RiceIllegalArgumentException;
574
575
576
577
578
579
580
581
582
583
584
585 @WebMethod(operationName = "deleteDocumentLink")
586 @WebResult(name = "documentLink")
587 DocumentLink deleteDocumentLink(@WebParam(name = "documentLinkId") String documentLinkId) throws RiceIllegalArgumentException;
588
589
590
591
592
593
594
595
596
597
598
599 @WebMethod(operationName = "deleteDocumentLinksByDocumentId")
600 @XmlElementWrapper(name = "documentLinks", required = true)
601 @XmlElement(name = "documentLink", required = false)
602 @WebResult(name = "documentLinks")
603 List<DocumentLink> deleteDocumentLinksByDocumentId(@WebParam(name = "originatingDocumentId") String originatingDocumentId) throws RiceIllegalArgumentException;
604
605
606
607
608
609
610
611
612
613
614 @WebMethod(operationName = "getOutgoingDocumentLinks")
615 @XmlElementWrapper(name = "documentLinks", required = true)
616 @XmlElement(name = "documentLink", required = false)
617 @WebResult(name = "documentLinks")
618 List<DocumentLink> getOutgoingDocumentLinks(@WebParam(name = "originatingDocumentId") String originatingDocumentId) throws RiceIllegalArgumentException;
619
620
621
622
623
624
625
626
627
628
629 @WebMethod(operationName = "getIncomingDocumentLinks")
630 @XmlElementWrapper(name = "documentLinks", required = true)
631 @XmlElement(name = "documentLink", required = false)
632 @WebResult(name = "documentLinks")
633 List<DocumentLink> getIncomingDocumentLinks(@WebParam(name = "originatingDocumentId") String originatingDocumentId) throws RiceIllegalArgumentException;
634
635
636
637
638
639
640
641
642
643
644 @WebMethod(operationName = "getDocumentLink")
645 @WebResult(name = "documentLinks")
646 DocumentLink getDocumentLink(@WebParam(name = "documentLinkId") String documentLinkId) throws RiceIllegalArgumentException;
647
648
649
650
651
652
653
654
655
656
657
658
659 @WebMethod(operationName = "getActiveRouteNodeNames")
660 @XmlElementWrapper(name = "nodes", required = true)
661 @XmlElement(name = "node", required = false)
662 @WebResult(name = "nodes")
663 List<String> getActiveRouteNodeNames(@WebParam(name = "documentId") String documentId) throws RiceIllegalArgumentException;
664
665
666
667
668
669
670
671
672
673
674
675
676 @WebMethod(operationName = "getTerminalRouteNodeNames")
677 @XmlElementWrapper(name = "nodes", required = true)
678 @XmlElement(name = "node", required = false)
679 @WebResult(name = "nodes")
680 List<String> getTerminalRouteNodeNames(@WebParam(name = "documentId") String documentId) throws RiceIllegalArgumentException;
681
682
683
684
685
686
687
688
689
690
691
692
693 @WebMethod(operationName = "getCurrentRouteNodeNames")
694 @XmlElementWrapper(name = "nodes", required = true)
695 @XmlElement(name = "node", required = false)
696 @WebResult(name = "nodes")
697 List<String> getCurrentRouteNodeNames(@WebParam(name = "documentId") String documentId) throws RiceIllegalArgumentException;
698 }