[jbpm-commits] JBoss JBPM SVN: r1889 - in jbossbpm/spec/trunk/modules: api/src/main/java/org/jboss/bpm/model and 12 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Aug 14 09:29:28 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-08-14 09:29:28 -0400 (Thu, 14 Aug 2008)
New Revision: 1889
Added:
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEventDetail.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignalEventDetail.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitAPITest.java
Removed:
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeProcBuilderTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitProcBuilderTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeProcBuilderTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitProcBuilderTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeProcBuilderTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitProcBuilderTest.java
Modified:
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBActivity.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEndEvent.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBGateway.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBIntermediateEvent.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBStartEvent.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/RunnableToken.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/InclusiveGatewayImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/PropertyImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml
jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
Log:
Add gateway API tests. Optimize thread handling
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -23,6 +23,8 @@
import java.net.URL;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.bpm.BPMException;
import org.jboss.bpm.client.internal.EmbeddedBeansDeployer;
import org.jboss.kernel.Kernel;
@@ -41,6 +43,9 @@
*/
public class ProcessEngine
{
+ // provide logging
+ private static final Log log = LogFactory.getLog(ProcessEngine.class);
+
/** The process engine bean name - jBPMEngine */
public static final String BEAN_NAME = "jBPMProcessEngine";
/** The default bean config: jbpm-beans.xml */
@@ -110,6 +115,7 @@
*/
public void prepareForShutdown()
{
+ log.debug("prepareForShutdown");
prepareForShutdown = true;
}
@@ -126,6 +132,7 @@
*/
public void cancelShutdown()
{
+ log.debug("cancelShutdown");
prepareForShutdown = false;
}
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Property.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -48,7 +48,7 @@
* Each Property has a Type (e.g., type=”String”). Properties may be defined
* hierarchically.
*/
- PropertyType getType();
+ PropertyType getPropertyType();
/**
* Each Property MAY have a Value specified.
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -76,7 +76,7 @@
return fromRef;
}
- public SignalType getType()
+ public SignalType getSignalType()
{
return type;
}
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -26,10 +26,12 @@
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.Writer;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
import javax.management.ObjectName;
@@ -101,6 +103,16 @@
MessageManager messageManager = MessageManager.locateMessageManager();
messageManager.removeMessageListener(getMessageListenerID());
+ // Check that there are no registered processes left
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ Set<Process> procs = procManager.getProcesses();
+ if (procs.size() > 0)
+ {
+ String logMsg = "Registered processes on tear down of " + getName() + ": " + procs;
+ System.out.println(logMsg);
+ log.warn(logMsg);
+ }
+
super.tearDown();
}
@@ -163,7 +175,7 @@
List<Signal> retSignals = new ArrayList<Signal>();
for (Signal sig : signals)
{
- if (sig.getType() == type)
+ if (sig.getSignalType() == type)
retSignals.add(sig);
}
return Collections.unmodifiableList(retSignals);
@@ -200,15 +212,24 @@
return Collections.unmodifiableList(messages);
}
- public void marshallProcess(Process proc)
+ /**
+ * Marshall the given process
+ * @param out if null, the proces is marshalled to a file
+ */
+ public void marshallProcess(Process proc, Writer out)
{
try
{
- File file = new File(getName() + "-api10.xml");
+ if (out == null)
+ {
+ File file = new File("target/" + getName() + "-api10.xml");
+ out = new FileWriter(file);
+ System.out.println("Marshall process to: " + file.getCanonicalPath());
+ }
+
ProcessManager pm = ProcessManager.locateProcessManager();
DialectHandler dhapi = pm.getDialectHandler(DialectHandler.DEFAULT_NAMESPACE_URI);
- dhapi.marshallProcess(proc, new FileWriter(file));
- System.out.println("marshalled: " + file.getCanonicalPath());
+ dhapi.marshallProcess(proc, out);
}
catch (IOException ex)
{
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -50,6 +50,8 @@
import org.jboss.bpm.dialect.api10.model.JAXBProcess;
import org.jboss.bpm.dialect.api10.model.JAXBProperty;
import org.jboss.bpm.dialect.api10.model.JAXBSequenceFlow;
+import org.jboss.bpm.dialect.api10.model.JAXBSignal;
+import org.jboss.bpm.dialect.api10.model.JAXBSignalEventDetail;
import org.jboss.bpm.dialect.api10.model.JAXBSignalHandler;
import org.jboss.bpm.dialect.api10.model.JAXBStartEvent;
import org.jboss.bpm.dialect.api10.model.JAXBTask;
@@ -57,6 +59,7 @@
import org.jboss.bpm.model.ComplexGateway;
import org.jboss.bpm.model.EndEvent;
import org.jboss.bpm.model.Event;
+import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.ExclusiveGateway;
import org.jboss.bpm.model.Expression;
import org.jboss.bpm.model.ConnectingObject;
@@ -74,8 +77,11 @@
import org.jboss.bpm.model.ReceiveTask;
import org.jboss.bpm.model.SendTask;
import org.jboss.bpm.model.SequenceFlow;
+import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.SignalEventDetail;
import org.jboss.bpm.model.StartEvent;
import org.jboss.bpm.model.Task;
+import org.jboss.bpm.model.EventDetail.EventDetailType;
import org.jboss.bpm.model.SequenceFlow.ConditionType;
import org.jboss.bpm.runtime.ExecutionHandler;
import org.jboss.bpm.runtime.FlowHandler;
@@ -143,7 +149,24 @@
{
StartEvent start = (StartEvent)event;
JAXBStartEvent jaxbStart = new JAXBStartEvent();
+ jaxbStart.setName(start.getName());
jaxbStart.setOutFlow(getJAXBFlow(start.getOutFlow()));
+ for (EventDetail trigger : start.getTrigger())
+ {
+ EventDetailType type = trigger.getEventDetailType();
+ if (type == EventDetailType.Signal)
+ {
+ SignalEventDetail signalTrigger = (SignalEventDetail)trigger;
+ Signal signal = signalTrigger.getSignalRef();
+ JAXBSignalEventDetail jaxbTrigger = new JAXBSignalEventDetail();
+ jaxbTrigger.setSignal(new JAXBSignal(signal.getSignalType(), signal.getMessage()));
+ jaxbStart.getTrigger().add(jaxbTrigger);
+ }
+ else
+ {
+ throw new NotImplementedException("Trigger: " + type);
+ }
+ }
jaxb = jaxbStart;
}
else if (event instanceof EndEvent)
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -42,6 +42,7 @@
import org.jboss.bpm.dialect.api10.model.JAXBComplexGateway;
import org.jboss.bpm.dialect.api10.model.JAXBEndEvent;
import org.jboss.bpm.dialect.api10.model.JAXBEvent;
+import org.jboss.bpm.dialect.api10.model.JAXBEventDetail;
import org.jboss.bpm.dialect.api10.model.JAXBExclusiveGateway;
import org.jboss.bpm.dialect.api10.model.JAXBExpression;
import org.jboss.bpm.dialect.api10.model.JAXBFlow;
@@ -58,10 +59,13 @@
import org.jboss.bpm.dialect.api10.model.JAXBProcess;
import org.jboss.bpm.dialect.api10.model.JAXBProperty;
import org.jboss.bpm.dialect.api10.model.JAXBSequenceFlow;
+import org.jboss.bpm.dialect.api10.model.JAXBSignal;
+import org.jboss.bpm.dialect.api10.model.JAXBSignalEventDetail;
import org.jboss.bpm.dialect.api10.model.JAXBStartEvent;
import org.jboss.bpm.dialect.api10.model.JAXBSupportingElement;
import org.jboss.bpm.dialect.api10.model.JAXBTask;
import org.jboss.bpm.dialect.api10.model.ObjectFactory;
+import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.GatewayBuilder;
import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.Process;
@@ -184,8 +188,21 @@
{
if (jaxb instanceof JAXBStartEvent)
{
- procBuilder.addStartEvent("Start");
JAXBStartEvent jaxbStart = (JAXBStartEvent)jaxb;
+ EventBuilder eventBuilder = procBuilder.addStartEvent(jaxbStart.getName());
+ for(JAXBEventDetail jaxbTrigger : jaxbStart.getTrigger())
+ {
+ if (jaxbTrigger instanceof JAXBSignalEventDetail)
+ {
+ JAXBSignalEventDetail jaxbSignalTrigger = (JAXBSignalEventDetail)jaxbTrigger;
+ JAXBSignal jaxbSignal = jaxbSignalTrigger.getSignal();
+ eventBuilder.addSignalTrigger(jaxbSignal.getType(), jaxbSignal.getMessage());
+ }
+ else
+ {
+ throw new NotImplementedException("Trigger: " + jaxbTrigger);
+ }
+ }
addOutFlow(procBuilder, jaxbStart.getOutFlow());
}
else if (jaxb instanceof JAXBEndEvent)
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBActivity.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBActivity.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBActivity.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -40,18 +40,11 @@
{
private String name;
- /**
- * Get the name
- */
public String getName()
{
return name;
}
- /**
- * Set the name.
- * Note, this MUST NOT leak into the public API.
- */
@XmlAttribute(required = true)
public void setName(String name)
{
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEndEvent.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEndEvent.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEndEvent.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -40,18 +40,11 @@
{
private String name;
- /**
- * Get the name
- */
public String getName()
{
return name;
}
- /**
- * Set the name.
- * Note, this MUST NOT leak into the public API.
- */
@XmlAttribute(required = true)
public void setName(String name)
{
Added: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEventDetail.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEventDetail.java (rev 0)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEventDetail.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.dialect.api10.model;
+
+//$Id$
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The base of all supported event details
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+ at XmlType(name = "EventDetail")
+public class JAXBEventDetail extends JAXBSupportingElement
+{
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBEventDetail.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBGateway.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBGateway.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBGateway.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -57,10 +57,6 @@
return name;
}
- /**
- * Set the name.
- * Note, this MUST NOT leak into the public API.
- */
@XmlAttribute(required = true)
public void setName(String name)
{
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBIntermediateEvent.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBIntermediateEvent.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBIntermediateEvent.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -21,7 +21,6 @@
*/
package org.jboss.bpm.dialect.api10.model;
-import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlTransient;
@@ -43,32 +42,12 @@
@XmlType(name="ItermediateEvent")
public class JAXBIntermediateEvent extends JAXBEvent
{
- private String name;
-
@XmlElements( {
@XmlElement(name = "seqflow", type = JAXBSequenceFlow.class),
@XmlElement(name = "msgflow", type = JAXBMessageFlow.class)
})
private JAXBFlow outFlow;
- public String getName()
- {
- return name;
- }
-
- /**
- * Set the name.
- * Note, this MUST NOT leak into the public API.
- */
- @XmlAttribute(required = true)
- public void setName(String name)
- {
- if (this.name != null)
- throw new IllegalStateException("Cannot rename: " + name);
-
- this.name = name;
- }
-
public JAXBFlow getOutFlow()
{
return outFlow;
Added: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java (rev 0)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.dialect.api10.model;
+
+//$Id$
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.bpm.model.Signal.SignalType;
+
+/**
+ * The base of all supported event details
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+ at XmlType(name = "Signal")
+public class JAXBSignal
+{
+ private SignalType type;
+ private String message;
+
+ public JAXBSignal()
+ {
+ }
+
+ public JAXBSignal(SignalType type, String message)
+ {
+ this.type = type;
+ this.message = message;
+ }
+
+ public SignalType getType()
+ {
+ return type;
+ }
+
+ @XmlAttribute(required = true)
+ public void setType(SignalType type)
+ {
+ this.type = type;
+ }
+
+ public String getMessage()
+ {
+ return message;
+ }
+
+ @XmlElement
+ public void setMessage(String message)
+ {
+ this.message = message;
+ }
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignalEventDetail.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignalEventDetail.java (rev 0)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignalEventDetail.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.dialect.api10.model;
+
+//$Id$
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The Signal event detail
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+ at XmlType(name = "SignalEventDetail")
+public class JAXBSignalEventDetail extends JAXBEventDetail
+{
+ private JAXBSignal signal;
+
+ public JAXBSignal getSignal()
+ {
+ return signal;
+ }
+
+ @XmlElement
+ public void setSignal(JAXBSignal signal)
+ {
+ this.signal = signal;
+ }
+
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignalEventDetail.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBStartEvent.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBStartEvent.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBStartEvent.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -23,26 +23,49 @@
//$Id$
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
/**
- * A Start Event indicates where a particular Process will start. In terms of Sequence Flow, the Start Event starts the Flow of the Process, and thus, will not have any
- * incoming Sequence Flow. A Start Event can have a Trigger that indicates how the Process starts: Message, Timer, Rule, Link, or Multiple.
+ * A Start Event indicates where a particular Process will start. In terms of Sequence Flow, the Start Event starts the
+ * Flow of the Process, and thus, will not have any incoming Sequence Flow. A Start Event can have a Trigger that
+ * indicates how the Process starts: Message, Timer, Rule, Link, or Multiple.
*
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
- at XmlType(name = "AbstractStartEvent")
+ at XmlType(name = "AbstractStartEvent", propOrder = { "outFlow", "trigger" })
public class JAXBStartEvent extends JAXBEvent
{
@XmlElements( {
- @XmlElement(name = "seqflow", type = JAXBSequenceFlow.class),
+ @XmlElement(name = "seqflow", type = JAXBSequenceFlow.class),
@XmlElement(name = "msgflow", type = JAXBMessageFlow.class) })
private JAXBFlow outFlow;
+ @XmlElements( {
+ @XmlElement(name = "signal-trigger", type = JAXBSignalEventDetail.class)
+ })
+ private List<JAXBEventDetail> trigger = new ArrayList<JAXBEventDetail>();
+
+ private String name;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ @XmlAttribute(required = false)
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
public JAXBFlow getOutFlow()
{
return outFlow;
@@ -53,4 +76,15 @@
{
this.outFlow = outFlow;
}
+
+ public List<JAXBEventDetail> getTrigger()
+ {
+ return trigger;
+ }
+
+ @XmlTransient
+ public void setTrigger(List<JAXBEventDetail> trigger)
+ {
+ this.trigger = trigger;
+ }
}
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -60,7 +60,7 @@
{
ProcessImpl procImpl = (ProcessImpl)proc;
procImpl.setProcessStatus(ProcessStatus.Active);
-
+
SignalManager signalManager = SignalManager.locateSignalManager();
signalManager.throwSignal(proc.getName(), new Signal(proc.getName(), SignalType.SYSTEM_PROCESS_ENTER));
@@ -73,16 +73,16 @@
new Thread(runner).start();
}
};
- TokenExecutor scheduler = new TokenExecutorImpl(rtProc, callback);
- rtProc.setTokenExecutor(scheduler);
+ TokenExecutor tokenExecutor = new TokenExecutorImpl(rtProc, callback);
+ rtProc.setTokenExecutor(tokenExecutor);
addRuntimeProcess(rtProc);
-
+
StartEvent start = getStartEvent(proc);
if (start != null)
{
TokenImpl token = new TokenImpl(att);
- scheduler.create(token, new InitialFlow(start));
- scheduler.start(token);
+ tokenExecutor.create(token, new InitialFlow(start));
+ tokenExecutor.start(token);
}
}
@@ -113,7 +113,7 @@
setTargetRef(start);
}
}
-
+
class RunnableProcess implements Runnable
{
RuntimeProcess rtProc;
@@ -127,31 +127,38 @@
public void run()
{
- TokenExecutor scheduler = rtProc.getTokenExecutor();
+ TokenExecutor tokenExecutor = rtProc.getTokenExecutor();
ProcessImpl procImpl = (ProcessImpl)rtProc.getProcess();
+ procImpl.setExecutorThread(Thread.currentThread());
+
String procName = procImpl.getName();
-
ProcessStatus procStatus = procImpl.getProcessStatus();
+ boolean hasActiveTokens = tokenExecutor.hasActiveTokens();
try
{
- while (procStatus == ProcessStatus.Active && scheduler.hasActiveTokens())
+ while (procStatus == ProcessStatus.Active && hasActiveTokens)
{
- Thread.sleep(100);
+ try
+ {
+ Thread.sleep(100);
+ }
+ catch (InterruptedException ex)
+ {
+ log.error("Executor thread interrupted");
+ }
procStatus = procImpl.getProcessStatus();
+ hasActiveTokens = tokenExecutor.hasActiveTokens();
}
+ log.debug("End execution thread [status=" + procStatus + ",tokens=" + tokenExecutor.getActiveTokens() + "]");
}
- catch (InterruptedException ex)
- {
- log.error(ex);
- }
finally
{
SignalManager signalManager = SignalManager.locateSignalManager();
signalManager.throwSignal(procName, new Signal(procName, Signal.SignalType.SYSTEM_PROCESS_EXIT));
-
+
if (procStatus == ProcessStatus.Active)
procImpl.setProcessStatus(ProcessStatus.Completed);
-
+
ProcessManager procManager = ProcessManager.locateProcessManager();
procManager.destroyProcess(rtProc.getProcess());
removeRuntimeProcess(rtProc);
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -50,7 +50,7 @@
{
// provide logging
private static final Log log = LogFactory.getLog(ProcessManagerImpl.class);
-
+
public void setDialectHandlers(Map<String, DialectHandler> dialectHandlers)
{
this.dialectHandlers = dialectHandlers;
@@ -85,6 +85,9 @@
if (status == ProcessStatus.None || status == ProcessStatus.Ready)
throw new IllegalStateException("Cannot wait for process in state: " + status);
+ // Get the executor thread for interuption
+ Thread executorThread = procImpl.getExecutorThread();
+
// Wait a little for the process to end
boolean forever = (timeout < 1);
long now = System.currentTimeMillis();
@@ -93,32 +96,44 @@
{
while (forever || now < until)
{
- status = proc.getProcessStatus();
- if (status == ProcessStatus.Cancelled || status == ProcessStatus.Completed)
+ if (status == ProcessStatus.Cancelled || status == ProcessStatus.Completed || status == ProcessStatus.Aborted)
{
- return status;
- }
- else if (status == ProcessStatus.Aborted)
- {
RuntimeException rte = procImpl.getRuntimeException();
- if (rte == null)
- return status;
- else
+ if (rte != null)
throw new BPMException("Process aborted", rte);
+
+ break;
}
- Thread.sleep(100);
+
+ // Join the executor thread
+ executorThread.join(timeout);
now = System.currentTimeMillis();
+ status = proc.getProcessStatus();
}
+
+ // Throw timeout exception if it took too long
+ if (status != ProcessStatus.Cancelled && status != ProcessStatus.Completed && status != ProcessStatus.Aborted)
+ {
+ ProcessTimeoutException rte = new ProcessTimeoutException("Process timeout after " + timeout + "ms for: " + procID);
+ log.error(rte);
+
+ log.error("Interrupt executor thread");
+ executorThread.interrupt();
+
+ throw rte;
+ }
}
catch (InterruptedException ex)
{
log.warn(ex);
}
-
- // Throw timeout exception if it took too long
- ProcessTimeoutException rte = new ProcessTimeoutException("Process timeout after " + timeout + "ms for: " + procID);
- log.error(rte);
- throw rte;
+ finally
+ {
+ // Destroy the process
+ destroyProcess(procImpl);
+ }
+
+ return status;
}
private Process getProcessStrict(ObjectName procID)
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/RunnableToken.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/RunnableToken.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/RunnableToken.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -67,7 +67,7 @@
public void run()
{
SignalManager signalManager = SignalManager.locateSignalManager();
- TokenExecutor scheduler = rtProc.getTokenExecutor();
+ TokenExecutor tokenExecutor = rtProc.getTokenExecutor();
ProcessImpl procImpl = (ProcessImpl)rtProc.getProcess();
token.setTokenStatus(TokenStatus.Started);
@@ -98,7 +98,7 @@
target.execute(token);
// Transfer the token to the FlowHandler
- flowHandler.execute(scheduler, token);
+ flowHandler.execute(tokenExecutor, token);
}
catch(RuntimeException rte)
{
@@ -129,6 +129,10 @@
procImpl.setProcessStatus(ProcessStatus.Aborted);
procImpl.setRuntimeException(rte);
}
+// finally
+// {
+// procImpl.notifyAll();
+// }
}
private SignalHandler getSignalHandler(FlowObject target)
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -307,9 +307,9 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
- scheduler.move(token, outFlow);
+ tokenExecutor.move(token, outFlow);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -84,10 +84,10 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
log.debug("End reached in: " + getName());
- scheduler.destroy(token);
+ tokenExecutor.destroy(token);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -98,7 +98,7 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
GraphicalElement sourceRef = token.getFlow().getSourceRef();
@@ -108,13 +108,13 @@
log.debug("Propagate token comming from: " + sourceRef);
Gate selectedGate = getSelectedGate(token);
SequenceFlow outFlow = selectedGate.getOutgoingSequenceFlow();
- scheduler.move(token, outFlow);
+ tokenExecutor.move(token, outFlow);
}
// Ignore all other tokens
else
{
log.debug("Ignore token comming from: " + sourceRef);
- scheduler.destroy(token);
+ tokenExecutor.destroy(token);
}
// Reset the gateway
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/InclusiveGatewayImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/InclusiveGatewayImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/InclusiveGatewayImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -76,7 +76,7 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
GraphicalElement sourceRef = token.getFlow().getSourceRef();
log.debug("Propagate token comming from: " + sourceRef);
@@ -88,20 +88,20 @@
// Destroy the incomming token if there are
// more than one applicable gates
if (applicableGates.size() > 1)
- scheduler.destroy(token);
+ tokenExecutor.destroy(token);
for (Gate aux : applicableGates)
{
SequenceFlow outFlow = aux.getOutgoingSequenceFlow();
if (applicableGates.size() == 1)
{
- scheduler.move(token, outFlow);
+ tokenExecutor.move(token, outFlow);
}
else
{
Token outToken = token.copyToken();
- scheduler.create(outToken, outFlow);
- scheduler.start(outToken);
+ tokenExecutor.create(outToken, outFlow);
+ tokenExecutor.start(outToken);
}
}
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -77,9 +77,9 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
- scheduler.move(token, getOutFlow());
+ tokenExecutor.move(token, getOutFlow());
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -90,10 +90,10 @@
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
// In any case, the incomming token is not propagated
- scheduler.suspend(token);
+ tokenExecutor.suspend(token);
// If the gateway has a single incomming flow the outgoing token is the incomming token
Token outToken = (getInFlows().size() == 1 ? token : null);
@@ -123,14 +123,14 @@
{
SequenceFlow outFlow = gate.getOutgoingSequenceFlow();
Token copyToken = outToken.copyToken();
- scheduler.create(copyToken, outFlow);
- scheduler.start(copyToken);
+ tokenExecutor.create(copyToken, outFlow);
+ tokenExecutor.start(copyToken);
}
// Destroy the received tokens
for (Token auxToken : receivedTokens)
{
- scheduler.destroy(auxToken);
+ tokenExecutor.destroy(auxToken);
}
// Reset the gateway
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -75,6 +75,8 @@
private ProcessStatus status = ProcessStatus.None;
// The possible exception that caused the process to abort
private RuntimeException runtimeException;
+ // The thread of the executor
+ private Thread executorThread;
public ProcessImpl(String name)
{
@@ -234,7 +236,7 @@
public void waitForEnd()
{
ProcessManager pm = ProcessManager.locateProcessManager();
- pm.waitForEnd(getID(), -1);
+ pm.waitForEnd(getID(), 0);
}
public void waitForEnd(long timeout)
@@ -286,6 +288,16 @@
this.status = status;
}
+ public Thread getExecutorThread()
+ {
+ return executorThread;
+ }
+
+ public void setExecutorThread(Thread executorThread)
+ {
+ this.executorThread = executorThread;
+ }
+
public List<Message> getMessages()
{
return Collections.unmodifiableList(messages);
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/PropertyImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/PropertyImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/PropertyImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -62,7 +62,7 @@
this.name = name;
}
- public PropertyType getType()
+ public PropertyType getPropertyType()
{
return PropertyType.String;
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -66,7 +66,7 @@
public StartEventImpl(String name)
{
- super(name);
+ super(name == null ? "Start" : name);
}
public List<EventDetail> getTrigger()
@@ -102,9 +102,9 @@
{
handler = new FlowHandler()
{
- public void execute(TokenExecutor scheduler, Token token)
+ public void execute(TokenExecutor tokenExecutor, Token token)
{
- scheduler.move(token, outFlow);
+ tokenExecutor.move(token, outFlow);
}
};
}
@@ -145,17 +145,17 @@
{
public void catchSignal(Signal signal)
{
- if (startSignal.getType() == signal.getType() && startSignal.getMessage().equals(signal.getMessage()))
+ if (startSignal.getSignalType() == signal.getSignalType() && startSignal.getMessage().equals(signal.getMessage()))
{
if (proc.getProcessStatus() == ProcessStatus.Active)
{
log.debug("Start process from signal: " + signal);
ExecutionManager exManager = ExecutionManager.locateExecutionManager();
RuntimeProcess rtProc = exManager.getRuntimeProcess(start.getProcess().getID());
- TokenExecutor scheduler = rtProc.getTokenExecutor();
+ TokenExecutor tokenExecutor = rtProc.getTokenExecutor();
TokenImpl token = new TokenImpl(null);
- scheduler.create(token, getOutFlow());
- scheduler.start(token);
+ tokenExecutor.create(token, getOutFlow());
+ tokenExecutor.start(token);
}
else
{
Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-api10.xml 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,5 +1,5 @@
<ns2:process name='Airticket' xmlns:ns2='urn:bpm.jboss:pdl-0.1'>
- <start>
+ <start name='Start'>
<seqflow to='ReceiveReq'/>
</start>
<task name='ReceiveReq' taskType='Receive'>
Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/resources/samples/airticket/airticket-stp-api10.xml 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,6 +1,6 @@
<ns2:process name='Airticket' xmlns:ns2='urn:bpm.jboss:pdl-0.1'>
<include namespace="http://stp.eclipse.org/bpmn" location="samples/airticket/airticket.bpmn" />
- <!-- start>
+ <!-- start name='Start'>
<seqflow to='ReceiveReq' />
</start-->
<task name='ReceiveReq' taskType='Receive'>
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -39,24 +39,14 @@
*/
public class EngineShutdownTest extends DefaultEngineTestCase
{
- private ProcessEngine engine;
-
- private URL jpdlURL;
-
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
- jpdlURL = getResourceURL("cts/engine/basic-engine-" + getDialect() + ".xml");
- engine = ProcessEngine.locateProcessEngine();
- engine.cancelShutdown();
- }
-
/**
* Try to create a Process during shutdown
*/
public void testCreateProcess() throws Exception
{
+ ProcessEngine engine = ProcessEngine.locateProcessEngine();
+ URL jpdlURL = getResourceURL("cts/engine/basic-engine-" + getDialect() + ".xml");
+
// Create a Process through the ProcessManager
ProcessManager pm = ProcessManager.locateProcessManager();
Process proc = pm.createProcess(jpdlURL);
@@ -75,6 +65,7 @@
finally
{
pm.destroyProcess(proc);
+ engine.cancelShutdown();
}
}
}
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.exclusive;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * ExclusiveMergeTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveMergeAPITest extends ExclusiveMergeTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.exclusive;
-
-// $Id$
-
-import org.jboss.bpm.model.EventBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Gateway.GatewayType;
-import org.jboss.bpm.model.Signal.SignalType;
-
-/**
- * ExclusiveMergeTest using the ProcessBuilder
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ExclusiveMergeProcBuilderTest extends ExclusiveMergeTest
-{
- @Override
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
- eventBuilder = procBuilder.addStartEvent("StartB");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
- procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("TaskC");
- procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
- Process proc = procBuilder.getProcess();
-
- //marshallProcess(proc);
-
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -25,8 +25,12 @@
import org.jboss.bpm.client.SignalListener;
import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.runtime.ExecutionContext;
import org.jboss.bpm.runtime.ExecutionHandler;
@@ -41,7 +45,7 @@
* @author thomas.diesler at jboss.com
* @since 06-Aug-2008
*/
-public abstract class ExclusiveMergeTest extends DefaultEngineTestCase
+public class ExclusiveMergeTest extends DefaultEngineTestCase
{
public void testGateA() throws Exception
{
@@ -123,7 +127,21 @@
assertEquals("TaskA", TaskC.taskValue);
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
+ procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
+ eventBuilder = procBuilder.addStartEvent("StartB");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
+ procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("TaskC");
+ procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
+ procBuilder.addEndEvent("End");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
public static class MergeListener implements SignalListener
{
@@ -138,7 +156,7 @@
public void catchSignal(Signal signal)
{
- if (signal.getType() == SignalType.SYSTEM_GATEWAY_ENTER)
+ if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
{
if (nextSignal != null)
{
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.exclusive;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * ExclusiveSplitTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveSplitAPITest extends ExclusiveSplitTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.exclusive;
-
-// $Id$
-
-import org.jboss.bpm.model.GatewayBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.model.Gateway.GatewayType;
-
-/**
- * ExclusiveSplitTest using the ProcessBuilder
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ExclusiveSplitProcBuilderTest extends ExclusiveSplitTest
-{
- @Override
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
- GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Exclusive);
- gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
- gatewayBuilder.addConditionalGate("EndB", ExpressionLanguage.MVEL, "foo > 10");
- procBuilder.addEndEvent("EndA").addEndEvent("EndB");
- Process proc = procBuilder.getProcess();
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -25,8 +25,13 @@
import java.util.List;
+import org.jboss.bpm.model.GatewayBuilder;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.runtime.BasicAttachments;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -37,7 +42,7 @@
* @author thomas.diesler at jboss.com
* @since 06-Aug-2008
*/
-public abstract class ExclusiveSplitTest extends DefaultEngineTestCase
+public class ExclusiveSplitTest extends DefaultEngineTestCase
{
public void testGateA() throws Exception
{
@@ -85,5 +90,15 @@
}
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
+ GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Exclusive);
+ gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
+ gatewayBuilder.addConditionalGate("EndB", ExpressionLanguage.MVEL, "foo > 10");
+ procBuilder.addEndEvent("EndA").addEndEvent("EndB");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
}
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.inclusive;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * InclusiveMergeTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveMergeAPITest extends InclusiveMergeTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.inclusive;
-
-// $Id$
-
-import org.jboss.bpm.model.EventBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Gateway.GatewayType;
-import org.jboss.bpm.model.Signal.SignalType;
-
-/**
- * InclusiveMergeTest using the ProcessBuilder
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class InclusiveMergeProcBuilderTest extends InclusiveMergeTest
-{
- @Override
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("Merge");
- eventBuilder = procBuilder.addStartEvent("StartB");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", GatewayType.Inclusive).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
- Process proc = procBuilder.getProcess();
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -26,8 +26,12 @@
import java.util.List;
import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -58,5 +62,16 @@
assertEquals(2, endSignals.size());
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("Merge");
+ eventBuilder = procBuilder.addStartEvent("StartB");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", GatewayType.Inclusive).addSequenceFlow("End");
+ procBuilder.addEndEvent("End");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
}
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.inclusive;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * InclusiveSplitTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveSplitAPITest extends InclusiveSplitTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
\ No newline at end of file
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.inclusive;
-
-// $Id$
-
-import org.jboss.bpm.model.GatewayBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Expression.ExpressionLanguage;
-import org.jboss.bpm.model.Gateway.GatewayType;
-
-/**
- * InclusiveSplitTest using the ProcessBuilder
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class InclusiveSplitProcBuilderTest extends InclusiveSplitTest
-{
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
- GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Inclusive);
- gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
- gatewayBuilder.addConditionalGate("EndB", ExpressionLanguage.MVEL, "foo < 20");
- procBuilder.addEndEvent("EndA").addEndEvent("EndB");
- Process proc = procBuilder.getProcess();
- return proc;
- }
-}
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -25,8 +25,13 @@
import java.util.List;
+import org.jboss.bpm.model.GatewayBuilder;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.runtime.BasicAttachments;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -37,7 +42,7 @@
* @author thomas.diesler at jboss.com
* @since 06-Aug-2008
*/
-public abstract class InclusiveSplitTest extends DefaultEngineTestCase
+public class InclusiveSplitTest extends DefaultEngineTestCase
{
public void testGateA() throws Exception
{
@@ -66,5 +71,15 @@
assertEquals("EndB", endSignals.get(0).getFromRef());
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
+ GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Inclusive);
+ gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");
+ gatewayBuilder.addConditionalGate("EndB", ExpressionLanguage.MVEL, "foo < 20");
+ procBuilder.addEndEvent("EndA").addEndEvent("EndB");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
}
\ No newline at end of file
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.parallel;
+
+//$Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+
+/**
+ * ParallelMergeTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelMergeAPITest extends ParallelMergeTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.parallel;
-
-// $Id$
-
-import org.jboss.bpm.model.EventBuilder;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Gateway.GatewayType;
-import org.jboss.bpm.model.Signal.SignalType;
-
-/**
- * ParallelMergeTest using the ProcessBuilder
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ParallelMergeProcBuilderTest extends ParallelMergeTest
-{
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
- eventBuilder = procBuilder.addStartEvent("StartB");
- eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
- procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", GatewayType.Parallel).addSequenceFlow("TaskC");
- procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
- Process proc = procBuilder.getProcess();
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -25,8 +25,12 @@
import org.jboss.bpm.client.SignalListener;
import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.runtime.ExecutionContext;
import org.jboss.bpm.runtime.ExecutionHandler;
@@ -41,7 +45,7 @@
* @author thomas.diesler at jboss.com
* @since 06-Aug-2008
*/
-public abstract class ParallelMergeTest extends DefaultEngineTestCase
+public class ParallelMergeTest extends DefaultEngineTestCase
{
public void testParallelMerge() throws Exception
{
@@ -124,7 +128,21 @@
assertEquals("TaskA:TaskB", TaskC.taskValue);
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
+ procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
+ eventBuilder = procBuilder.addStartEvent("StartB");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
+ procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", GatewayType.Parallel).addSequenceFlow("TaskC");
+ procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
+ procBuilder.addEndEvent("End");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
public static class MergeListener implements SignalListener
{
@@ -139,7 +157,7 @@
public void catchSignal(Signal signal)
{
- if (signal.getType() == SignalType.SYSTEM_GATEWAY_ENTER)
+ if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
{
if (nextSignal != null)
{
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitAPITest.java (from rev 1886, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitProcBuilderTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitAPITest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitAPITest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.parallel;
+
+// $Id$
+
+import java.io.StringWriter;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * ParallelSplitTest using the API Descriptor
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelSplitAPITest extends ParallelSplitTest
+{
+ @Override
+ public Process getProcess()
+ {
+ Process proc = super.getProcess();
+
+ // Marshall the process to a string
+ StringWriter strwr = new StringWriter();
+ marshallProcess(proc, strwr);
+ String procXML = strwr.toString();
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ proc = procManager.createProcess(procXML);
+
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitProcBuilderTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitProcBuilderTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitProcBuilderTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.cts.gateway.parallel;
-
-// $Id$
-
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Gateway.GatewayType;
-
-/**
- * ParallelMergeTest using the ParallelSplitTest
- *
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ParallelSplitProcBuilderTest extends ParallelSplitTest
-{
- public Process getProcess()
- {
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split").addGateway("Split", GatewayType.Parallel).
- addSequenceFlow("EndA").addSequenceFlow("EndB").addEndEvent("EndA").addEndEvent("EndB").getProcess();
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -26,7 +26,10 @@
import java.util.List;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.Gateway.GatewayType;
import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -37,7 +40,7 @@
* @author thomas.diesler at jboss.com
* @since 06-Aug-2008
*/
-public abstract class ParallelSplitTest extends DefaultEngineTestCase
+public class ParallelSplitTest extends DefaultEngineTestCase
{
public void testParallelSplit() throws Exception
{
@@ -53,5 +56,11 @@
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndB"));
}
- public abstract Process getProcess();
+ public Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ Process proc = procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split").addGateway("Split", GatewayType.Parallel).
+ addSequenceFlow("EndA").addSequenceFlow("EndB").addEndEvent("EndA").addEndEvent("EndB").getProcess();
+ return proc;
+ }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -77,13 +77,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getType());
- assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getType());
- assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getType());
- assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getType());
- assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getType());
- assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getType());
- assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getType());
- assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getSignalType());
}
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-14 10:49:29 UTC (rev 1888)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-14 13:29:28 UTC (rev 1889)
@@ -77,13 +77,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getType());
- assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getType());
- assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getType());
- assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getType());
- assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getType());
- assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getType());
- assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getType());
- assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getSignalType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getSignalType());
}
}
More information about the jbpm-commits
mailing list