[jbpm-commits] JBoss JBPM SVN: r1594 - jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Jul 11 12:11:52 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-07-11 12:11:52 -0400 (Fri, 11 Jul 2008)
New Revision: 1594
Modified:
jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java
Log:
Init transitions
Modified: jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java
===================================================================
--- jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java 2008-07-11 16:11:46 UTC (rev 1593)
+++ jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/integration/model/ProcessAdapter.java 2008-07-11 16:11:52 UTC (rev 1594)
@@ -23,15 +23,20 @@
// $Id$
+import java.util.Iterator;
import java.util.List;
import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.model.FlowObject;
+import org.jboss.bpm.model.MultipleOutFlowSupport;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.SequenceFlow;
+import org.jboss.bpm.model.SingleOutFlowSupport;
import org.jboss.bpm.model.Task;
import org.jbpm.graph.def.Action;
import org.jbpm.graph.def.Event;
import org.jbpm.graph.def.Node;
+import org.jbpm.graph.def.Transition;
import org.jbpm.graph.node.EndState;
import org.jbpm.graph.node.StartState;
import org.jbpm.graph.node.State;
@@ -65,10 +70,12 @@
if (oldNode instanceof StartState)
{
flowObject = new StartEventImpl(apiProc, oldNode);
+ initTranstions(flowObject, oldNode);
}
else if (oldNode instanceof EndState)
{
flowObject = new EndEventImpl(apiProc, oldNode);
+ initTranstions(flowObject, oldNode);
}
else if (oldNode instanceof State)
{
@@ -90,6 +97,7 @@
delegate = (Task)obj;
}
flowObject = new TaskImpl(apiProc, oldNode, delegate);
+ initTranstions(flowObject, oldNode);
}
else
{
@@ -97,5 +105,35 @@
}
return flowObject;
}
+
+ private static void initTranstions(FlowObject flowObject, Node oldNode)
+ {
+ if (flowObject instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport sof = (SingleOutFlowSupport)flowObject;
+ List outTrans = oldNode.getLeavingTransitions();
+ if (outTrans != null && outTrans.size() > 0)
+ {
+ Transition trans = (Transition)outTrans.get(0);
+ SequenceFlow flow = new SequenceFlow(trans.getTo().getName());
+ sof.setOutFlow(flow);
+ }
+ }
+ if (flowObject instanceof MultipleOutFlowSupport)
+ {
+ MultipleOutFlowSupport mof = (MultipleOutFlowSupport)flowObject;
+ List outTrans = oldNode.getLeavingTransitions();
+ if (outTrans != null && outTrans.size() > 0)
+ {
+ Iterator it = outTrans.iterator();
+ while (it.hasNext())
+ {
+ Transition trans = (Transition)it.next();
+ SequenceFlow flow = new SequenceFlow(trans.getTo().getName());
+ mof.addOutFlow(flow);
+ }
+ }
+ }
+ }
}
}
More information about the jbpm-commits
mailing list