1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.kuali.rice.kew.framework.document.lookup;
15
16 import org.kuali.rice.core.api.uif.RemotableAttributeError;
17 import org.kuali.rice.core.api.uif.RemotableAttributeField;
18 import org.kuali.rice.core.api.util.jaxb.MultiValuedStringMapAdapter;
19 import org.kuali.rice.kew.api.KewApiConstants;
20 import org.kuali.rice.kew.api.document.attribute.DocumentAttribute;
21 import org.kuali.rice.kew.api.document.attribute.WorkflowAttributeDefinition;
22 import org.kuali.rice.kew.api.extension.ExtensionDefinition;
23
24 import javax.jws.WebMethod;
25 import javax.jws.WebParam;
26 import javax.jws.WebResult;
27 import javax.jws.WebService;
28 import javax.jws.soap.SOAPBinding;
29 import javax.xml.bind.annotation.XmlElement;
30 import javax.xml.bind.annotation.XmlElementWrapper;
31 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
32 import java.util.List;
33 import java.util.Map;
34
35
36
37
38
39
40 @WebService(name = "searchableAttributeServiceSoap", targetNamespace = KewApiConstants.Namespaces.KEW_NAMESPACE_2_0)
41 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
42 public interface SearchableAttribute {
43
44 @WebMethod(operationName = "generateSearchContent")
45 @WebResult(name = "searchContent")
46 public String generateSearchContent(
47 @WebParam(name = "extensionDefinition") ExtensionDefinition extensionDefinition,
48 @WebParam(name = "documentTypeName") String documentTypeName,
49 @WebParam(name = "attributeDefinition") WorkflowAttributeDefinition attributeDefinition
50 );
51
52 @WebMethod(operationName = "getDocumentAttributes")
53 @WebResult(name = "documentAttributes")
54 @XmlElementWrapper(name = "documentAttributes", required = false)
55 @XmlElement(name = "documentAttribute", required = false)
56 public List<DocumentAttribute> getDocumentAttributes(
57 @WebParam(name = "extensionDefinition") ExtensionDefinition extensionDefinition,
58 @WebParam(name = "documentSearchContext") DocumentSearchContext documentSearchContext
59 );
60
61 @WebMethod(operationName = "getSearchFields")
62 @WebResult(name = "searchFields")
63 @XmlElementWrapper(name = "searchFields", required = false)
64 @XmlElement(name = "searchField", required = false)
65 public List<RemotableAttributeField> getSearchFields(
66 @WebParam(name = "extensionDefinition") ExtensionDefinition extensionDefinition,
67 @WebParam(name = "documentTypeName") String documentTypeName
68 );
69
70 @WebMethod(operationName = "validateSearchParameters")
71 @WebResult(name = "validationErrors")
72 @XmlElementWrapper(name = "validationErrors", required = false)
73 @XmlElement(name = "validationError", required = false)
74 public List<RemotableAttributeError> validateSearchFieldParameters(
75 @WebParam(name = "extensionDefinition") ExtensionDefinition extensionDefinition,
76 @WebParam(name = "parameters")
77 @XmlJavaTypeAdapter(MultiValuedStringMapAdapter.class) Map<String, List<String>> parameters,
78 @WebParam(name = "documentTypeName") String documentTypeName
79 );
80
81 }