001: /*
002: * ====================================================================
003: *
004: * XFLOW - Process Management System
005: * Copyright (C) 2003 Rob Tan
006: * All rights reserved.
007: *
008: * Redistribution and use in source and binary forms, with or without
009: * modification, are permitted provided that the following conditions
010: * are met:
011: *
012: * 1. Redistributions of source code must retain the above copyright
013: * notice, this list of conditions, and the following disclaimer.
014: *
015: * 2. Redistributions in binary form must reproduce the above copyright
016: * notice, this list of conditions, and the disclaimer that follows
017: * these conditions in the documentation and/or other materials
018: * provided with the distribution.
019: *
020: * 3. The name "XFlow" must not be used to endorse or promote products
021: * derived from this software without prior written permission. For
022: * written permission, please contact rcktan@yahoo.com
023: *
024: * 4. Products derived from this software may not be called "XFlow", nor
025: * may "XFlow" appear in their name, without prior written permission
026: * from the XFlow Project Management (rcktan@yahoo.com)
027: *
028: * In addition, we request (but do not require) that you include in the
029: * end-user documentation provided with the redistribution and/or in the
030: * software itself an acknowledgement equivalent to the following:
031: * "This product includes software developed by the
032: * XFlow Project (http://xflow.sourceforge.net/)."
033: * Alternatively, the acknowledgment may be graphical using the logos
034: * available at http://xflow.sourceforge.net/
035: *
036: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
037: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
038: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
039: * DISCLAIMED. IN NO EVENT SHALL THE XFLOW AUTHORS OR THE PROJECT
040: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
041: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
042: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
043: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
044: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
045: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
046: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
047: * SUCH DAMAGE.
048: *
049: * ====================================================================
050: * This software consists of voluntary contributions made by many
051: * individuals on behalf of the XFlow Project and was originally
052: * created by Rob Tan (rcktan@yahoo.com)
053: * For more information on the XFlow Project, please see:
054: * <http://xflow.sourceforge.net/>.
055: * ====================================================================
056: */
057:
058: package xflow.test;
059:
060: import java.util.*;
061: import java.io.*;
062: import javax.jms.*;
063:
064: import xflow.messaging.*;
065: import xflow.common.*;
066: import xflow.events.EventsPublisher;
067:
068: public class TestEventPublisher {
069:
070: public static void main(String[] args) throws XflowException,
071: JMSException {
072:
073: EventsPublisher ep = new EventsPublisher();
074: WorkItemId wid = new WorkItemId(999);
075: WorkItem wi = new WorkItem(wid);
076: wi.setPayloadType("XML");
077: wi.setProperty("PropA", "xxxxx");
078: wi.setProperty("PropB", new Integer(9898));
079: wi.setPayload(new Integer(1111));
080:
081: System.out.println("Publishing Model Deployed Event");
082: try {
083: ep.publishModelDeployedEvent("CreditApproval", 1, "rtan");
084: } catch (XflowException e) {
085: System.out.println(e.getMessage());
086: }
087:
088: System.out.println("Publishing WorkflowStarted Event");
089: try {
090: ep.publishWorkflowStartedEvent("CreditApproval", -1, 123,
091: -1, "rtan", wi);
092: } catch (XflowException e) {
093: System.out.println(e.getMessage());
094: }
095:
096: System.out.println("Publishing Variable Updated Event");
097: try {
098: ep.publishVariableUpdatedEvent("CreditApproval", 1, 0,
099: "score", new Integer(100));
100: } catch (XflowException e) {
101: System.out.println(e.getMessage());
102: }
103:
104: System.out.println("Publishing Workflow Suspended Event");
105: try {
106: ep.publishWorkflowSuspendedEvent("CreditApproval", -1, 123,
107: "rtan");
108: } catch (XflowException e) {
109: System.out.println(e.getMessage());
110: }
111:
112: System.out.println("Publishing Workflow Resumed Event");
113: try {
114: ep.publishWorkflowResumedEvent("CreditApproval", -1, 123,
115: "rtan");
116: } catch (XflowException e) {
117: System.out.println(e.getMessage());
118: }
119:
120: System.out.println("Publishing Workflow Aborted Event");
121: try {
122: ep.publishWorkflowAbortedEvent("CreditApproval", -1, 123,
123: "rtan");
124: } catch (XflowException e) {
125: System.out.println(e.getMessage());
126: }
127:
128: System.out.println("Publishing Workflow Completed Event");
129: try {
130: ep.publishWorkflowCompletedEvent("CreditApproval", -1, 123,
131: "rtan");
132: } catch (XflowException e) {
133: System.out.println(e.getMessage());
134: }
135:
136: System.out.println("Publishing Node Transition Event");
137: wi.setPayload(new Integer(999));
138: try {
139: ep.publishNodeTransitionEvent("CreditApproval", -1, 123,
140:
141: "START", "Node1", wi);
142: } catch (XflowException e) {
143: System.out.println(e.getMessage());
144: }
145:
146: System.out.println("Publishing Proces Timeout Event");
147: try {
148: ep.publishProcessTimeoutEvent("CreditApproval", -1, 123,
149: "P1");
150: } catch (XflowException e) {
151: System.out.println(e.getMessage());
152: }
153: }
154: }
|