[jbpm-commits] JBoss JBPM SVN: r1581 - in api/trunk/modules/api/src: test/java/org/jboss/bpm/model and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Jul 10 15:41:53 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-07-10 15:41:52 -0400 (Thu, 10 Jul 2008)
New Revision: 1581
Added:
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleInFlowSupport.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleOutFlowSupport.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleInFlowSupport.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleOutFlowSupport.java
Modified:
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java
Log:
Add ProcessBuilder
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -112,4 +112,9 @@
}
};
}
+
+ public String toString()
+ {
+ return "EndEvent[" + getName() + "]";
+ }
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -21,12 +21,10 @@
*/
package org.jboss.bpm.model;
+//$Id$
+
import javax.xml.bind.annotation.XmlType;
-
-
-// $Id$
-
/**
* Gateways are modelling elements that are used to control how Sequence Flow interact as they converge and diverge within a Process.
* If the flow does not need to be controlled, then a Gateway is not needed.
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleInFlowSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleInFlowSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleInFlowSupport.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -0,0 +1,39 @@
+/*
+ * 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.model;
+
+import java.util.List;
+
+//$Id$
+
+public interface MultipleInFlowSupport
+{
+ /**
+ * Get the list of in flows
+ */
+ List<Flow> getInFlows();
+
+ /**
+ * Add an out flow
+ */
+ void addOutFlow(Flow flow);
+}
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleInFlowSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleOutFlowSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleOutFlowSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleOutFlowSupport.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -0,0 +1,39 @@
+/*
+ * 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.model;
+
+import java.util.List;
+
+//$Id$
+
+public interface MultipleOutFlowSupport
+{
+ /**
+ * Get the list of out flows
+ */
+ List<Flow> getOutFlows();
+
+ /**
+ * Add an out flow
+ */
+ void addOutFlow(Flow flow);
+}
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/MultipleOutFlowSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -48,12 +48,12 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
- at XmlType(name = "Process", propOrder = { "startEvent", "tasks", "endEvents" })
+ at XmlType(name = "Process", propOrder = { "startEvent", "flowObjects", "endEvents" })
@XmlRootElement(name = "process")
public class Process extends Activity
{
private StartEvent startEvent;
- private List<Task> tasks = new ArrayList<Task>();
+ private List<FlowObject> flowObjects = new ArrayList<FlowObject>();
private List<EndEvent> endEvents = new ArrayList<EndEvent>();
@XmlTransient
@@ -107,20 +107,11 @@
else if (flowObject instanceof EndEvent)
{
endEvents.add((EndEvent)flowObject);
- flowObject.setProcess(this);
}
- else if (flowObject instanceof Task)
+ else
{
- if (tasks == null)
- tasks = new ArrayList<Task>();
-
- tasks.add((Task)flowObject);
- flowObject.setProcess(this);
+ flowObjects.add(flowObject);
}
- else
- {
- throw new InvalidProcessException("Unsupported type: " + flowObject);
- }
}
/**
@@ -143,7 +134,6 @@
if (this.startEvent != null)
throw new InvalidProcessException("Process cannot have multiple start events: " + startEvent);
- startEvent.setProcess(this);
this.startEvent = startEvent;
}
@@ -168,25 +158,17 @@
}
/**
- * Get the list of tasks
+ * Get the list of flow objects, excluding start and end states
*/
- public List<Task> getTasks()
+ @XmlElement(name = "node")
+ public List<FlowObject> getFlowObjects()
{
if (processState == ProcessState.CREATED)
- return tasks;
+ return flowObjects;
- return Collections.unmodifiableList(tasks);
+ return Collections.unmodifiableList(flowObjects);
}
- /**
- * Set the tasks Note, this MUST NOT leak into the public API.
- */
- @XmlElement(name = "task")
- protected void setTasks(List<Task> tasks)
- {
- this.tasks = tasks;
- }
-
/** Start the process */
public Future<Result> startProcess()
{
@@ -196,6 +178,10 @@
/** Start the process, with a given execution context */
public Future<Result> startProcess(Attachments att)
{
+ if (processState != ProcessState.INITIALIZED)
+ throw new IllegalStateException("Cannot start process in state: " + processState);
+
+ processState = ProcessState.STARTED;
execute(new InitialToken(this, att));
return new ResultFuture();
}
@@ -210,8 +196,13 @@
if (name == null)
throw new IllegalArgumentException("Cannot find flow object with name: null");
+ List<FlowObject> allFlowObjects = new ArrayList<FlowObject>();
+ allFlowObjects.add(startEvent);
+ allFlowObjects.addAll(flowObjects);
+ allFlowObjects.addAll(endEvents);
+
NamedFlowObject nfo = null;
- for (FlowObject aux : getFlowObjects())
+ for (FlowObject aux : allFlowObjects)
{
if (aux instanceof NamedFlowObject && name.equals(((NamedFlowObject)aux).getName()))
{
@@ -222,15 +213,6 @@
return nfo;
}
- public List<FlowObject> getFlowObjects()
- {
- List<FlowObject> flowObjects = new ArrayList<FlowObject>();
- flowObjects.add(startEvent);
- flowObjects.addAll(tasks);
- flowObjects.addAll(endEvents);
- return flowObjects;
- }
-
/**
* Get signal for enter
*/
@@ -266,17 +248,18 @@
if (processState != ProcessState.CREATED)
throw new IllegalStateException("Cannot initialize process in state: " + processState);
- for (EndEvent aux : endEvents)
- aux.setProcess(this);
-
- for (Task aux : tasks)
- aux.setProcess(this);
-
if (startEvent == null)
throw new InvalidProcessException("Process does not have a start event");
if (endEvents.size() == 0)
throw new InvalidProcessException("Process does not have end events");
+
+ // Set the associated process
+ startEvent.setProcess(this);
+ for (FlowObject aux : flowObjects)
+ aux.setProcess(this);
+ for (FlowObject aux : endEvents)
+ aux.setProcess(this);
processState = ProcessState.INITIALIZED;
}
@@ -309,7 +292,11 @@
public boolean isDone()
{
- return getResult() != null;
+ boolean isDone = getResult() != null;
+ if (isDone)
+ processState = ProcessState.ENDED;
+
+ return isDone;
}
private Result getResult()
@@ -321,6 +308,7 @@
result = aux.getResult();
if (result != null)
{
+ processState = ProcessState.ENDED;
break;
}
}
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -0,0 +1,134 @@
+/*
+ * 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.model;
+
+// $Id$
+
+/**
+ * A Process is any Activity performed within a company or organization.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public class ProcessBuilder
+{
+ private Process proc;
+ private FlowObject flowObject;
+
+ public ProcessBuilder (String procName)
+ {
+ proc = new Process(procName);
+ }
+
+ public Process getProcess()
+ {
+ proc.initialize();
+ return proc;
+ }
+
+ public ProcessBuilder addStartEvent()
+ {
+ flowObject = new StartEvent();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addSequenceFlow(String name)
+ {
+ if (flowObject instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
+ outFlow.setOutFlow(new SequenceFlow(name));
+ }
+ else if (flowObject instanceof MultipleOutFlowSupport)
+ {
+ MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
+ outFlow.addOutFlow(new SequenceFlow(name));
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot add a sequence flow to: " + flowObject);
+ }
+ return this;
+ }
+
+ public ProcessBuilder addMessageFlow(String name)
+ {
+ if (flowObject instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
+ outFlow.setOutFlow(new MessageFlow(name));
+ }
+ else if (flowObject instanceof MultipleOutFlowSupport)
+ {
+ MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
+ outFlow.addOutFlow(new MessageFlow(name));
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot add a message flow to: " + flowObject);
+ }
+ return this;
+ }
+
+ public ProcessBuilder addTask(String name)
+ {
+ flowObject = new Task(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addExclusiveGateway(String name)
+ {
+ flowObject = new ExclusiveGateway();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addInclusiveGateway(String name)
+ {
+ flowObject = new InclusiveGateway();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addComplexGateway(String name)
+ {
+ flowObject = new ComplexGateway();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addParallelGateway(String name)
+ {
+ flowObject = new ParallelGateway();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addEndEvent(String name)
+ {
+ flowObject = new EndEvent(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleInFlowSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleInFlowSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleInFlowSupport.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -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.model;
+
+//$Id$
+
+public interface SingleInFlowSupport
+{
+ /**
+ * Get the out flow
+ */
+ Flow getInFlow();
+
+ /**
+ * Set the in flow
+ */
+ void setOutFlow(Flow flow);
+}
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleInFlowSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleOutFlowSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleOutFlowSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleOutFlowSupport.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -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.model;
+
+//$Id$
+
+public interface SingleOutFlowSupport
+{
+ /**
+ * Get the out flow
+ */
+ Flow getOutFlow();
+
+ /**
+ * Set the out flow
+ */
+ void setOutFlow(Flow flow);
+}
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SingleOutFlowSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/StartEvent.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -37,7 +37,7 @@
* @since 08-Jul-2008
*/
@XmlType(name="StartEvent")
-public class StartEvent extends Event
+public class StartEvent extends Event implements SingleOutFlowSupport
{
private Flow outFlow;
@@ -70,9 +70,15 @@
* Note, this MUST NOT leak into the public API.
*/
@XmlElement(name = "flow", required = true)
- protected void setOutFlow(Flow outFlow)
+ public void setOutFlow(Flow outFlow)
{
+ if (this.outFlow != null)
+ throw new IllegalStateException("Cannot reassign out flow");
this.outFlow = outFlow;
}
+ public String toString()
+ {
+ return "StartEvent[]";
+ }
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -36,7 +36,7 @@
* @since 08-Jul-2008
*/
@XmlType(name="Task")
-public class Task extends Activity
+public class Task extends Activity implements SingleOutFlowSupport
{
private Flow outFlow;
@@ -68,8 +68,11 @@
* Note, this MUST NOT leak into the public API.
*/
@XmlElement(name = "flow", required = true)
- protected void setOutFlow(Flow outFlow)
+ public void setOutFlow(Flow outFlow)
{
+ if (this.outFlow != null)
+ throw new IllegalStateException("Cannot reassign out flow");
+
this.outFlow = outFlow;
}
@@ -84,4 +87,9 @@
{
return new Signal(getProcess(), Signal.Type.EXIT_TASK, getName());
}
+
+ public String toString()
+ {
+ return "Task[" + getName() + "]";
+ }
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java
===================================================================
--- api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java 2008-07-10 17:55:37 UTC (rev 1580)
+++ api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java 2008-07-10 19:41:52 UTC (rev 1581)
@@ -41,29 +41,21 @@
{
public void testProcess() throws Exception
{
- Process inProc = new Process("myproc");
- StartEvent start = new StartEvent();
- start.setOutFlow(new SequenceFlow("taskA"));
- inProc.addFlowObject(start);
- Task taskA = new Task("taskA");
- taskA.setOutFlow(new SequenceFlow("end"));
- inProc.addFlowObject(taskA);
- EndEvent end = new EndEvent("end");
- inProc.addFlowObject(end);
-
+ Process inProc = new ProcessBuilder("myproc").addStartEvent().addSequenceFlow("taskA").addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
+
StringWriter strwr = new StringWriter();
ProcessMarshaller marshaller = new ProcessMarshaller();
marshaller.marshallProcess(inProc, strwr);
String xml = strwr.toString();
-
+
System.out.println(xml);
-
+
ProcessUnmarshaller unmarshaller = new ProcessUnmarshaller();
Process outProc = unmarshaller.unmarshallProcess(new StringReader(xml));
- start = outProc.getStartEvent();
- taskA = (Task)outProc.findFlowObject("taskA");
- end = outProc.getEndEvents().get(0);
-
+ StartEvent start = outProc.getStartEvent();
+ Task taskA = (Task)outProc.findFlowObject("taskA");
+ EndEvent end = outProc.getEndEvents().get(0);
+
assertEquals(inProc.getName(), outProc.getName());
assertNotNull(start);
assertEquals(outProc, start.getProcess());
More information about the jbpm-commits
mailing list