001: /*--
002:
003: Copyright (C) 2002-2005 Adrian Price.
004: All rights reserved.
005:
006: Redistribution and use in source and binary forms, with or without
007: modification, are permitted provided that the following conditions
008: are met:
009:
010: 1. Redistributions of source code must retain the above copyright
011: notice, this list of conditions, and the following disclaimer.
012:
013: 2. Redistributions in binary form must reproduce the above copyright
014: notice, this list of conditions, and the disclaimer that follows
015: these conditions in the documentation and/or other materials
016: provided with the distribution.
017:
018: 3. The names "OBE" and "Open Business Engine" must not be used to
019: endorse or promote products derived from this software without prior
020: written permission. For written permission, please contact
021: adrianprice@sourceforge.net.
022:
023: 4. Products derived from this software may not be called "OBE" or
024: "Open Business Engine", nor may "OBE" or "Open Business Engine"
025: appear in their name, without prior written permission from
026: Adrian Price (adrianprice@users.sourceforge.net).
027:
028: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
029: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
030: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
031: DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
032: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
033: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
034: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
035: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
036: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
037: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
038: POSSIBILITY OF SUCH DAMAGE.
039:
040: For more information on OBE, please see
041: <http://obe.sourceforge.net/>.
042:
043: */
044:
045: package org.obe.client.api.base;
046:
047: import org.obe.client.api.model.OBEProcessInstance;
048: import org.obe.client.api.model.TemporalStatus;
049: import org.wfmc.wapi.WMParticipant;
050: import org.wfmc.wapi.WMProcessInstanceState;
051:
052: import java.io.Serializable;
053: import java.util.Arrays;
054: import java.util.Date;
055:
056: public class WMProcessInstanceImpl implements OBEProcessInstance,
057: Serializable {
058:
059: private static final long serialVersionUID = -2212490072805582089L;
060: private Date _activityDueDate;
061: private Date _activityTargetDate;
062: private Date _completedDate;
063: private Date _createdDate;
064: private Date _dueDate;
065: private String _id;
066: private String _name;
067: private String _parentActivityInstanceId;
068: private String _parentProcessInstanceId;
069: private WMParticipant[] _participants;
070: private int _priority;
071: private String _processDefinitionId;
072: private Date _startedDate;
073: private WMProcessInstanceState _state;
074: private Date _targetDate;
075:
076: public WMProcessInstanceImpl() {
077: }
078:
079: public WMProcessInstanceImpl(String name, String id,
080: String processDefinitionId,
081: String parentActivityInstanceId,
082: String parentProcessInstanceId,
083: WMProcessInstanceState state, int priority,
084: WMParticipant[] participants, Date createdDate,
085: Date startedDate, Date targetDate, Date dueDate,
086: Date completedDate, Date activityTargetDate,
087: Date activityDueDate) {
088:
089: _name = name;
090: _id = id;
091: _parentActivityInstanceId = parentActivityInstanceId;
092: _parentProcessInstanceId = parentProcessInstanceId;
093: _processDefinitionId = processDefinitionId;
094: _state = state;
095: _priority = priority;
096: _participants = participants;
097: _createdDate = createdDate;
098: _startedDate = startedDate;
099: _dueDate = dueDate;
100: _targetDate = targetDate;
101: _completedDate = completedDate;
102: _activityDueDate = activityDueDate;
103: _activityTargetDate = activityTargetDate;
104: }
105:
106: public Date getActivityDueDate() {
107: return _activityDueDate;
108: }
109:
110: public Date getActivityTargetDate() {
111: return _activityTargetDate;
112: }
113:
114: public Date getCompletedDate() {
115: return _completedDate;
116: }
117:
118: public Date getCreatedDate() {
119: return _createdDate;
120: }
121:
122: public Date getDueDate() {
123: return _dueDate;
124: }
125:
126: public String getId() {
127: return _id;
128: }
129:
130: public void setId(String id) {
131: _id = id;
132: }
133:
134: public String getName() {
135: return _name;
136: }
137:
138: public void setName(String name) {
139: _name = name;
140: }
141:
142: public String getParentActivityInstanceId() {
143: return _parentActivityInstanceId;
144: }
145:
146: public void setParentActivityInstanceId(
147: String parentActivityInstanceId) {
148: _parentActivityInstanceId = parentActivityInstanceId;
149: }
150:
151: public String getParentProcessInstanceId() {
152: return _parentProcessInstanceId;
153: }
154:
155: public void setParentProcessInstanceId(
156: String parentProcessInstanceId) {
157: _parentProcessInstanceId = parentProcessInstanceId;
158: }
159:
160: public WMParticipant[] getParticipants() {
161: return _participants;
162: }
163:
164: public void setParticipants(WMParticipant[] participants) {
165: _participants = participants;
166: }
167:
168: public int getPriority() {
169: return _priority;
170: }
171:
172: public String getProcessDefinitionId() {
173: return _processDefinitionId;
174: }
175:
176: public void setProcessDefinitionId(String processDefinitionId) {
177: _processDefinitionId = processDefinitionId;
178: }
179:
180: public String getProcessInstanceId() {
181: return _id;
182: }
183:
184: public Date getStartedDate() {
185: return _startedDate;
186: }
187:
188: public WMProcessInstanceState getState() {
189: return _state;
190: }
191:
192: public void setState(WMProcessInstanceState state) {
193: _state = state;
194: }
195:
196: public Date getTargetDate() {
197: return _targetDate;
198: }
199:
200: public void setPriority(Integer priority) {
201: _priority = priority.intValue();
202: }
203:
204: public void setState(String state) {
205: _state = WMProcessInstanceState.valueOf(state);
206: }
207:
208: public TemporalStatus getActivityTemporalStatus() {
209: return TemporalStatus.computeStatus(null, _activityTargetDate,
210: _activityDueDate);
211: }
212:
213: public final TemporalStatus getTemporalStatus() {
214: return TemporalStatus.computeStatus(_completedDate,
215: _targetDate, _dueDate);
216: }
217:
218: public String toString() {
219: return "WMProcessInstance[_completedDate="
220: + _completedDate
221: + ", _name='"
222: + _name
223: + '\''
224: + ", _id='"
225: + _id
226: + '\''
227: + ", _parentActivityInstanceId='"
228: + _parentActivityInstanceId
229: + '\''
230: + ", _parentProcessInstanceId='"
231: + _parentProcessInstanceId
232: + '\''
233: + ", _processDefinitionId='"
234: + _processDefinitionId
235: + '\''
236: + ", _state="
237: + _state
238: + ", _priority="
239: + _priority
240: + ", _participants="
241: + (_participants == null ? null : "length:"
242: + _participants.length
243: + Arrays.asList(_participants))
244: + ", _createdDate=" + _createdDate
245: + ", _activityDueDate=" + _activityDueDate
246: + ", _activityTargetDate=" + _activityTargetDate
247: + ", _dueDate=" + _dueDate + ", _targetDate="
248: + _targetDate + ", _startedDate=" + _startedDate + ']';
249: }
250: }
|