-
Notifications
You must be signed in to change notification settings - Fork 573
/
JaxbWorkItemResponse.java
140 lines (109 loc) · 3.6 KB
/
JaxbWorkItemResponse.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package org.kie.services.client.serialization.jaxb.impl.process;
import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.kie.api.command.Command;
import org.kie.api.runtime.process.WorkItem;
import org.kie.internal.jaxb.StringKeyObjectValueMapXmlAdapter;
import org.kie.services.client.serialization.jaxb.impl.AbstractJaxbCommandResponse;
@XmlRootElement(name = "work-item-response")
@XmlAccessorType(XmlAccessType.FIELD)
@JsonAutoDetect(getterVisibility=JsonAutoDetect.Visibility.NONE, fieldVisibility=JsonAutoDetect.Visibility.ANY)
public class JaxbWorkItemResponse extends AbstractJaxbCommandResponse<WorkItem> implements WorkItem {
@XmlElement
@XmlSchemaType(name="long")
private Long id;
@XmlElement
@XmlSchemaType(name="string")
private String name;
@XmlElement
@XmlSchemaType(name="int")
private Integer state = 0;
@XmlElement(name="param-map")
@XmlJavaTypeAdapter(StringKeyObjectValueMapXmlAdapter.class)
private Map<String, Object> parameters = new HashMap<String, Object>();
@XmlElement(name="results-map")
@XmlJavaTypeAdapter(StringKeyObjectValueMapXmlAdapter.class)
private Map<String, Object> results = new HashMap<String, Object>();
@XmlElement
@XmlSchemaType(name="long")
private Long processInstanceId;
public JaxbWorkItemResponse() {
// Default
}
public JaxbWorkItemResponse(WorkItem workItem) {
setResult(workItem);
}
public JaxbWorkItemResponse(WorkItem result, int i, Command<?> cmd) {
super(i, cmd);
setResult(result);
}
public long getId() {
if( id == null ) {
return -1;
}
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public Map<String, Object> getParameters() {
return parameters;
}
public void setParameters(Map<String, Object> parameters) {
this.parameters = parameters;
}
public Object getParameter(String name) {
return this.parameters.get(name);
}
public Map<String, Object> getResults() {
return results;
}
public void setResults(Map<String, Object> results) {
this.results = results;
}
public long getProcessInstanceId() {
if( processInstanceId == null ) {
return -1;
}
return processInstanceId;
}
public void setProcessInstanceId(Long processInstanceId) {
this.processInstanceId = processInstanceId;
}
// JaxbCommmandResponse methods
public WorkItem getResult() {
return this;
}
@Override
public void setResult(WorkItem result) {
this.id = result.getId();
this.name = result.getName();
this.parameters = result.getParameters();
this.processInstanceId = result.getProcessInstanceId();
this.results = result.getResults();
this.state = result.getState();
}
@Override
public Object getResult(String name) {
return this;
}
}