[jbpm-commits] JBoss JBPM SVN: r1896 - in jbossbpm/spec/trunk/modules: testsuite/src/test/java/org/jboss/bpm/cts/gateway and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Aug 15 03:59:13 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-08-15 03:59:12 -0400 (Fri, 15 Aug 2008)
New Revision: 1896

Added:
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.png
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.png
Removed:
   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/ExclusiveMergeTest.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/exclusive/ExclusiveSplitTest.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/InclusiveMergeTest.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/inclusive/InclusiveSplitTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.png
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.png
Modified:
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
Log:
Restore all CTS tests

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 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -58,7 +58,7 @@
   @Override
   public void startProcess(Process proc, Attachments att)
   {
-    ProcessImpl procImpl = (ProcessImpl)proc;
+    final ProcessImpl procImpl = (ProcessImpl)proc;
     procImpl.setProcessStatus(ProcessStatus.Active);
 
     SignalManager signalManager = SignalManager.locateSignalManager();
@@ -70,7 +70,9 @@
     {
       public void start(Token token)
       {
-        new Thread(runner).start();
+        Thread executorThread = new Thread(runner);
+        procImpl.setExecutorThread(executorThread);
+        executorThread.start();
       }
     };
     TokenExecutor tokenExecutor = new TokenExecutorImpl(rtProc, callback);
@@ -129,7 +131,6 @@
     {
       TokenExecutor tokenExecutor = rtProc.getTokenExecutor();
       ProcessImpl procImpl = (ProcessImpl)rtProc.getProcess();
-      procImpl.setExecutorThread(Thread.currentThread());
 
       String procName = procImpl.getName();
       ProcessStatus procStatus = procImpl.getProcessStatus();

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeMarshallerTest.java (from rev 1895, 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/ExclusiveGatewayMergeMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 ExclusiveGatewayMergeMarshallerTest extends ExclusiveGatewayMergeTest
+{
+  @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;
+  }
+}

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java (from rev 1895, 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/ExclusiveGatewayMergeTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,202 @@
+/*
+ * 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.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;
+import org.jboss.bpm.runtime.Token;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Exclusive data-based gateway that has multiple incoming sequence flows. The first token arriving from one of the
+ * incoming sequence flows proceeds along the outgoing sequence flow. All other token are ignored until a token has
+ * arrived from each incoming sequence flow.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveGatewayMergeTest extends DefaultEngineTestCase
+{
+  public void testGateA() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    // Verify the result
+    assertEquals("TaskA", TaskC.taskValue);
+  }
+
+  public void testGateB() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    // Verify the result
+    assertEquals("TaskB", TaskC.taskValue);
+  }
+
+  public void testInvalidToken() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    try
+    {
+      proc.waitForEnd();
+      fail("Expected: Unexpected token from: SequenceFlow[TaskA->Merge]");
+    }
+    catch (RuntimeException rte)
+    {
+      // expected
+    }
+
+    // Restart the process
+    proc.startProcess();
+    
+    // Add a signal listener that sends the other start trigger signal
+    startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    // Verify the result
+    assertEquals("TaskA", TaskC.taskValue);
+  }
+
+  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;
+  }
+
+  class MergeListener implements SignalListener
+  {
+    private String fromRef;
+    private Signal nextSignal;
+
+    public MergeListener(String fromRef, Signal nextSignal)
+    {
+      this.fromRef = fromRef;
+      this.nextSignal = nextSignal;
+    }
+
+    public void catchSignal(Signal signal)
+    {
+      if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
+      {
+        if (nextSignal != null)
+        {
+          SignalManager signalManager = SignalManager.locateSignalManager();
+          signalManager.throwSignal(fromRef, nextSignal);
+          nextSignal = null;
+        }
+      }
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskA implements ExecutionHandler
+  {
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      exContext.addAttachment("taskValue", "TaskA");
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskB implements ExecutionHandler
+  {
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      exContext.addAttachment("taskValue", "TaskB");
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskC implements ExecutionHandler
+  {
+    public static Object taskValue;
+
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      taskValue = exContext.getAttachment("taskValue");
+    }
+  }
+}

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitMarshallerTest.java (from rev 1895, 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/exclusive/ExclusiveGatewaySplitMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 ExclusiveGatewaySplitMarshallerTest extends ExclusiveGatewaySplitTest
+{
+  @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;
+  }
+}

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java (from rev 1895, 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/ExclusiveGatewaySplitTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,104 @@
+/*
+ * 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.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;
+
+/**
+ * Exclusive data-based gateway that has conditional outgoing sequence flows. 
+ * Only one of the gates is taken. It is an error if no gate is applicable. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveGatewaySplitTest extends DefaultEngineTestCase
+{
+  public void testGateA() throws Exception
+  {
+    Process proc = getProcess();
+
+    BasicAttachments att = new BasicAttachments();
+    att.addAttachment("foo", "5");
+    proc.startProcess(att);
+    proc.waitForEnd();
+
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(1, endSignals.size());
+    assertEquals("EndA", endSignals.get(0).getFromRef());
+  }
+
+  public void testGateB() throws Exception
+  {
+    Process proc = getProcess();
+
+    BasicAttachments att = new BasicAttachments();
+    att.addAttachment("foo", "15");
+    proc.startProcess(att);
+    proc.waitForEnd();
+
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(1, endSignals.size());
+    assertEquals("EndB", endSignals.get(0).getFromRef());
+  }
+
+  public void testInvalidGate() throws Exception
+  {
+    Process proc = getProcess();
+
+    BasicAttachments att = new BasicAttachments();
+    att.addAttachment("foo", "10");
+    proc.startProcess(att);
+    try
+    {
+      proc.waitForEnd();
+      fail("No gate defained for foo==10");
+    }
+    catch (RuntimeException rte)
+    {
+      // expected
+    }
+  }
+
+  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;
+  }
+}

Deleted: 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/ExclusiveMergeAPITest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeAPITest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,55 +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 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/ExclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,202 +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.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;
-import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.test.DefaultEngineTestCase;
-
-/**
- * Exclusive data-based gateway that has multiple incoming sequence flows. The first token arriving from one of the
- * incoming sequence flows proceeds along the outgoing sequence flow. All other token are ignored until a token has
- * arrived from each incoming sequence flow.
- * 
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ExclusiveMergeTest extends DefaultEngineTestCase
-{
-  public void testGateA() throws Exception
-  {
-    Process proc = getProcess();
-    proc.startProcess();
-
-    // Add a signal listener that sends the other start trigger signal
-    SignalManager signalManager = SignalManager.locateSignalManager();
-    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
-    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
-
-    // Send start trigger signal
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-    // Wait for the process to end
-    proc.waitForEnd();
-
-    // Verify the result
-    assertEquals("TaskA", TaskC.taskValue);
-  }
-
-  public void testGateB() throws Exception
-  {
-    Process proc = getProcess();
-    proc.startProcess();
-
-    // Add a signal listener that sends the other start trigger signal
-    SignalManager signalManager = SignalManager.locateSignalManager();
-    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
-    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
-
-    // Send start trigger signal
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B"));
-
-    // Wait for the process to end
-    proc.waitForEnd();
-
-    // Verify the result
-    assertEquals("TaskB", TaskC.taskValue);
-  }
-
-  public void testInvalidToken() throws Exception
-  {
-    Process proc = getProcess();
-    proc.startProcess();
-
-    // Add a signal listener that sends the other start trigger signal
-    SignalManager signalManager = SignalManager.locateSignalManager();
-    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
-    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
-
-    // Send start trigger signal
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-    try
-    {
-      proc.waitForEnd();
-      fail("Expected: Unexpected token from: SequenceFlow[TaskA->Merge]");
-    }
-    catch (RuntimeException rte)
-    {
-      // expected
-    }
-
-    // Restart the process
-    proc.startProcess();
-    
-    // Add a signal listener that sends the other start trigger signal
-    startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
-    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
-
-    // Send start trigger signal
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-    // Wait for the process to end
-    proc.waitForEnd();
-
-    // Verify the result
-    assertEquals("TaskA", TaskC.taskValue);
-  }
-
-  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
-  {
-    private String fromRef;
-    private Signal nextSignal;
-
-    public MergeListener(String fromRef, Signal nextSignal)
-    {
-      this.fromRef = fromRef;
-      this.nextSignal = nextSignal;
-    }
-
-    public void catchSignal(Signal signal)
-    {
-      if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
-      {
-        if (nextSignal != null)
-        {
-          SignalManager signalManager = SignalManager.locateSignalManager();
-          signalManager.throwSignal(fromRef, nextSignal);
-          nextSignal = null;
-        }
-      }
-    }
-  }
-
-  @SuppressWarnings("serial")
-  public static class TaskA implements ExecutionHandler
-  {
-    public void execute(Token token)
-    {
-      ExecutionContext exContext = token.getExecutionContext();
-      exContext.addAttachment("taskValue", "TaskA");
-    }
-  }
-
-  @SuppressWarnings("serial")
-  public static class TaskB implements ExecutionHandler
-  {
-    public void execute(Token token)
-    {
-      ExecutionContext exContext = token.getExecutionContext();
-      exContext.addAttachment("taskValue", "TaskB");
-    }
-  }
-
-  @SuppressWarnings("serial")
-  public static class TaskC implements ExecutionHandler
-  {
-    public static Object taskValue;
-
-    public void execute(Token token)
-    {
-      ExecutionContext exContext = token.getExecutionContext();
-      taskValue = exContext.getAttachment("taskValue");
-    }
-  }
-}

Deleted: 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/exclusive/ExclusiveSplitAPITest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitAPITest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,55 +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 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/ExclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,104 +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 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;
-
-/**
- * Exclusive data-based gateway that has conditional outgoing sequence flows. 
- * Only one of the gates is taken. It is an error if no gate is applicable. 
- * 
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class ExclusiveSplitTest extends DefaultEngineTestCase
-{
-  public void testGateA() throws Exception
-  {
-    Process proc = getProcess();
-
-    BasicAttachments att = new BasicAttachments();
-    att.addAttachment("foo", "5");
-    proc.startProcess(att);
-    proc.waitForEnd();
-
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(1, endSignals.size());
-    assertEquals("EndA", endSignals.get(0).getFromRef());
-  }
-
-  public void testGateB() throws Exception
-  {
-    Process proc = getProcess();
-
-    BasicAttachments att = new BasicAttachments();
-    att.addAttachment("foo", "15");
-    proc.startProcess(att);
-    proc.waitForEnd();
-
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(1, endSignals.size());
-    assertEquals("EndB", endSignals.get(0).getFromRef());
-  }
-
-  public void testInvalidGate() throws Exception
-  {
-    Process proc = getProcess();
-
-    BasicAttachments att = new BasicAttachments();
-    att.addAttachment("foo", "10");
-    proc.startProcess(att);
-    try
-    {
-      proc.waitForEnd();
-      fail("No gate defained for foo==10");
-    }
-    catch (RuntimeException rte)
-    {
-      // expected
-    }
-  }
-
-  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/InclusiveGatewayMergeMarshallerTest.java (from rev 1895, 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/InclusiveGatewayMergeMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 InclusiveGatewayMergeMarshallerTest extends InclusiveGatewayMergeTest
+{
+  @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;
+  }
+}

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java (from rev 1895, 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/InclusiveGatewayMergeTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,106 @@
+/*
+ * 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.util.List;
+
+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.test.DefaultEngineTestCase;
+
+/**
+ * Inclusive gateway that has multiple incoming sequence flows. 
+ * All tokens arriving from incoming sequence flows proceeds unconditionally along the outgoing sequence flow. 
+ * The inclusive join is stateless.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveGatewayMergeTest extends DefaultEngineTestCase
+{
+  public void testGateA() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+    
+    // Send start trigger signals
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(2, endSignals.size());
+  }
+
+  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;
+  }
+
+  class MergeListener implements SignalListener
+  {
+    private String fromRef;
+    private Signal nextSignal;
+
+    public MergeListener(String fromRef, Signal nextSignal)
+    {
+      this.fromRef = fromRef;
+      this.nextSignal = nextSignal;
+    }
+
+    public void catchSignal(Signal signal)
+    {
+      if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
+      {
+        if (nextSignal != null)
+        {
+          SignalManager signalManager = SignalManager.locateSignalManager();
+          signalManager.throwSignal(fromRef, nextSignal);
+          nextSignal = null;
+        }
+      }
+    }
+  }
+}

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitMarshallerTest.java (from rev 1895, 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/inclusive/InclusiveGatewaySplitMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 InclusiveGatewaySplitMarshallerTest extends InclusiveGatewaySplitTest
+{
+  @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

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitTest.java (from rev 1895, 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/InclusiveGatewaySplitTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,85 @@
+/*
+ * 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.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;
+
+/**
+ * Inclusive gateway that has conditional outgoing sequence flows. 
+ * One or more of them can be taken. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveGatewaySplitTest extends DefaultEngineTestCase
+{
+  public void testGateA() throws Exception
+  {
+    Process proc = getProcess();
+
+    BasicAttachments att = new BasicAttachments();
+    att.addAttachment("foo", "5");
+    proc.startProcess(att);
+    proc.waitForEnd();
+
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(2, endSignals.size());
+  }
+
+  public void testGateB() throws Exception
+  {
+    Process proc = getProcess();
+
+    BasicAttachments att = new BasicAttachments();
+    att.addAttachment("foo", "15");
+    proc.startProcess(att);
+    proc.waitForEnd();
+
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(1, endSignals.size());
+    assertEquals("EndB", endSignals.get(0).getFromRef());
+  }
+
+  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

Deleted: 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/InclusiveMergeAPITest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeAPITest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,55 +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 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/InclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,77 +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 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;
-
-/**
- * Inclusive gateway that has multiple incoming sequence flows. 
- * All tokens arriving from incoming sequence flows proceeds unconditionally along the outgoing sequence flow. 
- * The inclusive join is stateless.
- * 
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public abstract class InclusiveMergeTest extends DefaultEngineTestCase
-{
-  public void testGateA() throws Exception
-  {
-    Process proc = getProcess();
-    proc.startProcess();
-
-    // Send start trigger signals
-    SignalManager signalManager = SignalManager.locateSignalManager();
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
-    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B"));
-
-    // Wait for the process to end
-    proc.waitForEnd();
-
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(2, endSignals.size());
-  }
-
-  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;
-  }
-}

Deleted: 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/inclusive/InclusiveSplitAPITest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitAPITest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,55 +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 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/InclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java	2008-08-14 19:43:52 UTC (rev 1895)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,85 +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 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;
-
-/**
- * Inclusive gateway that has conditional outgoing sequence flows. 
- * One or more of them can be taken. 
- * 
- * @author thomas.diesler at jboss.com
- * @since 06-Aug-2008
- */
-public class InclusiveSplitTest extends DefaultEngineTestCase
-{
-  public void testGateA() throws Exception
-  {
-    Process proc = getProcess();
-
-    BasicAttachments att = new BasicAttachments();
-    att.addAttachment("foo", "5");
-    proc.startProcess(att);
-    proc.waitForEnd();
-
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(2, endSignals.size());
-  }
-
-  public void testGateB() throws Exception
-  {
-    Process proc = getProcess();
-
-    BasicAttachments att = new BasicAttachments();
-    att.addAttachment("foo", "15");
-    proc.startProcess(att);
-    proc.waitForEnd();
-
-    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
-    assertEquals(1, endSignals.size());
-    assertEquals("EndB", endSignals.get(0).getFromRef());
-  }
-
-  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 (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel)

Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 ParallelGatewayMergeMarshallerTest extends ParallelGatewayMergeTest
+{
+  @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;
+  }
+}


Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeMarshallerTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,203 @@
+/*
+ * 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.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;
+import org.jboss.bpm.runtime.Token;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Parallel gateway that that has multiple incoming sequence flows. Each token arriving from an incoming sequence flow
+ * is stored in the gateway until a token has arrived from each incoming sequence flow. The tokens are merged together
+ * and leave the gateway as a one.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelGatewayMergeTest extends DefaultEngineTestCase
+{
+  public void testParallelMerge() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    // Verify the result
+    assertEquals("TaskA:TaskB", TaskC.taskValue);
+  }
+
+  public void testMergeTimeout() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Send start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    try
+    {
+      proc.waitForEnd(1000);
+      fail("timeout expected");
+    }
+    catch (RuntimeException rte)
+    {
+      // expected
+    }
+  }
+
+  public void testInvalidToken() throws Exception
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+
+    // Add a signal listener that sends the other start trigger signal
+    SignalManager signalManager = SignalManager.locateSignalManager();
+    Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    try
+    {
+      proc.waitForEnd();
+      fail("Expected: Unexpected token from: SequenceFlow[TaskA->Merge]");
+    }
+    catch (RuntimeException rte)
+    {
+      // expected
+    }
+
+    // Restart the process
+    proc.startProcess();
+    
+    // Add a signal listener that sends the other start trigger signal
+    startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
+    signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+
+    // Send start trigger signal
+    signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+
+    // Wait for the process to end
+    proc.waitForEnd();
+
+    // Verify the result
+    assertEquals("TaskA:TaskB", TaskC.taskValue);
+  }
+
+  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
+  {
+    private String fromRef;
+    private Signal nextSignal;
+
+    public MergeListener(String fromRef, Signal nextSignal)
+    {
+      this.fromRef = fromRef;
+      this.nextSignal = nextSignal;
+    }
+
+    public void catchSignal(Signal signal)
+    {
+      if (signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER)
+      {
+        if (nextSignal != null)
+        {
+          SignalManager signalManager = SignalManager.locateSignalManager();
+          signalManager.throwSignal(fromRef, nextSignal);
+          nextSignal = null;
+        }
+      }
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskA implements ExecutionHandler
+  {
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      exContext.addAttachment("taskA", "TaskA");
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskB implements ExecutionHandler
+  {
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      exContext.addAttachment("taskB", "TaskB");
+    }
+  }
+
+  @SuppressWarnings("serial")
+  public static class TaskC implements ExecutionHandler
+  {
+    public static Object taskValue;
+
+    public void execute(Token token)
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      taskValue = exContext.getAttachment("taskA") + ":" + exContext.getAttachment("taskB");
+    }
+  }
+}


Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitMarshallerTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitMarshallerTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -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 ParallelGatewaySplitMarshallerTest extends ParallelGatewaySplitTest
+{
+  @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;
+  }
+}


Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitMarshallerTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,66 @@
+/*
+ * 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.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;
+
+/**
+ * Parallel gateway that has uncontrolled outgoing sequence flows. 
+ * All of them are taken, which leads to parallel paths of execution. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelGatewaySplitTest extends DefaultEngineTestCase
+{
+  public void testParallelSplit() throws Exception 
+  {
+    Process proc = getProcess();
+    proc.startProcess();
+    proc.waitForEnd();
+    
+    // Validate received signals
+    List<Signal> signals = getSignals(SignalType.SYSTEM_END_EVENT_ENTER);
+    assertEquals(2, signals.size());
+    String fromRefs = signals.get(0).getFromRef() + signals.get(1).getFromRef();
+    assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndA"));
+    assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndB"));
+  }
+
+  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;
+  }
+}


Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel)

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn	2008-08-14 15:25:00 UTC (rev 1892)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:BpmnDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmi:id="_AXFyUWOSEd2mS_8SFTXMeQ" iD="_AXFyUGOSEd2mS_8SFTXMeQ">
-  <pools xmi:type="bpmn:Pool" xmi:id="_AXHAcWOSEd2mS_8SFTXMeQ" iD="_AXHAcGOSEd2mS_8SFTXMeQ" name="Pool">
-    <vertices xmi:type="bpmn:Activity" xmi:id="_EPuQwWOSEd2mS_8SFTXMeQ" iD="_EPuQwGOSEd2mS_8SFTXMeQ" outgoingEdges="_6HqqgWlWEd2VTpmAjt3VIA" incomingEdges="_x1ziAWlWEd2VTpmAjt3VIA _25I5AWlWEd2VTpmAjt3VIA" activityType="GatewayParallel"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_FY9wwWOSEd2mS_8SFTXMeQ" iD="_FY9wwGOSEd2mS_8SFTXMeQ" outgoingEdges="_xbzGkWlWEd2VTpmAjt3VIA" name="StartA" activityType="EventStartSignal"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_FobwIWOSEd2mS_8SFTXMeQ" iD="_FobwIGOSEd2mS_8SFTXMeQ" outgoingEdges="_1inyAWlWEd2VTpmAjt3VIA" name="StartB" activityType="EventStartSignal"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_LFtRIWOSEd2mS_8SFTXMeQ" iD="_LFtRIGOSEd2mS_8SFTXMeQ" incomingEdges="_696WAWlWEd2VTpmAjt3VIA" activityType="EventEndEmpty"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_tQcgcWlWEd2VTpmAjt3VIA" iD="_tQcgcGlWEd2VTpmAjt3VIA" outgoingEdges="_x1ziAWlWEd2VTpmAjt3VIA" incomingEdges="_xbzGkWlWEd2VTpmAjt3VIA" name="TaskA"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_y-u48WlWEd2VTpmAjt3VIA" iD="_y-u48GlWEd2VTpmAjt3VIA" outgoingEdges="_25I5AWlWEd2VTpmAjt3VIA" incomingEdges="_1inyAWlWEd2VTpmAjt3VIA" name="TaskB"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_4Egf8WlWEd2VTpmAjt3VIA" iD="_4Egf8GlWEd2VTpmAjt3VIA" outgoingEdges="_696WAWlWEd2VTpmAjt3VIA" incomingEdges="_6HqqgWlWEd2VTpmAjt3VIA" name="TaskC"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_xbzGkWlWEd2VTpmAjt3VIA" iD="_xbzGkGlWEd2VTpmAjt3VIA" source="_FY9wwWOSEd2mS_8SFTXMeQ" target="_tQcgcWlWEd2VTpmAjt3VIA"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_x1ziAWlWEd2VTpmAjt3VIA" iD="_x1ziAGlWEd2VTpmAjt3VIA" source="_tQcgcWlWEd2VTpmAjt3VIA" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_1inyAWlWEd2VTpmAjt3VIA" iD="_1inyAGlWEd2VTpmAjt3VIA" source="_FobwIWOSEd2mS_8SFTXMeQ" target="_y-u48WlWEd2VTpmAjt3VIA"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_25I5AWlWEd2VTpmAjt3VIA" iD="_25I5AGlWEd2VTpmAjt3VIA" source="_y-u48WlWEd2VTpmAjt3VIA" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_6HqqgWlWEd2VTpmAjt3VIA" iD="_6HqqgGlWEd2VTpmAjt3VIA" source="_EPuQwWOSEd2mS_8SFTXMeQ" target="_4Egf8WlWEd2VTpmAjt3VIA"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_696WAWlWEd2VTpmAjt3VIA" iD="_696WAGlWEd2VTpmAjt3VIA" source="_4Egf8WlWEd2VTpmAjt3VIA" target="_LFtRIWOSEd2mS_8SFTXMeQ"/>
-  </pools>
-</bpmn:BpmnDiagram>

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:BpmnDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmi:id="_AXFyUWOSEd2mS_8SFTXMeQ" iD="_AXFyUGOSEd2mS_8SFTXMeQ">
+  <pools xmi:type="bpmn:Pool" xmi:id="_AXHAcWOSEd2mS_8SFTXMeQ" iD="_AXHAcGOSEd2mS_8SFTXMeQ" name="Pool">
+    <vertices xmi:type="bpmn:Activity" xmi:id="_EPuQwWOSEd2mS_8SFTXMeQ" iD="_EPuQwGOSEd2mS_8SFTXMeQ" outgoingEdges="_6HqqgWlWEd2VTpmAjt3VIA" incomingEdges="_x1ziAWlWEd2VTpmAjt3VIA _25I5AWlWEd2VTpmAjt3VIA" activityType="GatewayParallel"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_FY9wwWOSEd2mS_8SFTXMeQ" iD="_FY9wwGOSEd2mS_8SFTXMeQ" outgoingEdges="_xbzGkWlWEd2VTpmAjt3VIA" name="StartA" activityType="EventStartSignal"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_FobwIWOSEd2mS_8SFTXMeQ" iD="_FobwIGOSEd2mS_8SFTXMeQ" outgoingEdges="_1inyAWlWEd2VTpmAjt3VIA" name="StartB" activityType="EventStartSignal"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_LFtRIWOSEd2mS_8SFTXMeQ" iD="_LFtRIGOSEd2mS_8SFTXMeQ" incomingEdges="_696WAWlWEd2VTpmAjt3VIA" activityType="EventEndEmpty"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_tQcgcWlWEd2VTpmAjt3VIA" iD="_tQcgcGlWEd2VTpmAjt3VIA" outgoingEdges="_x1ziAWlWEd2VTpmAjt3VIA" incomingEdges="_xbzGkWlWEd2VTpmAjt3VIA" name="TaskA"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_y-u48WlWEd2VTpmAjt3VIA" iD="_y-u48GlWEd2VTpmAjt3VIA" outgoingEdges="_25I5AWlWEd2VTpmAjt3VIA" incomingEdges="_1inyAWlWEd2VTpmAjt3VIA" name="TaskB"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_4Egf8WlWEd2VTpmAjt3VIA" iD="_4Egf8GlWEd2VTpmAjt3VIA" outgoingEdges="_696WAWlWEd2VTpmAjt3VIA" incomingEdges="_6HqqgWlWEd2VTpmAjt3VIA" name="TaskC"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_xbzGkWlWEd2VTpmAjt3VIA" iD="_xbzGkGlWEd2VTpmAjt3VIA" source="_FY9wwWOSEd2mS_8SFTXMeQ" target="_tQcgcWlWEd2VTpmAjt3VIA"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_x1ziAWlWEd2VTpmAjt3VIA" iD="_x1ziAGlWEd2VTpmAjt3VIA" source="_tQcgcWlWEd2VTpmAjt3VIA" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_1inyAWlWEd2VTpmAjt3VIA" iD="_1inyAGlWEd2VTpmAjt3VIA" source="_FobwIWOSEd2mS_8SFTXMeQ" target="_y-u48WlWEd2VTpmAjt3VIA"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_25I5AWlWEd2VTpmAjt3VIA" iD="_25I5AGlWEd2VTpmAjt3VIA" source="_y-u48WlWEd2VTpmAjt3VIA" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_6HqqgWlWEd2VTpmAjt3VIA" iD="_6HqqgGlWEd2VTpmAjt3VIA" source="_EPuQwWOSEd2mS_8SFTXMeQ" target="_4Egf8WlWEd2VTpmAjt3VIA"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_696WAWlWEd2VTpmAjt3VIA" iD="_696WAGlWEd2VTpmAjt3VIA" source="_4Egf8WlWEd2VTpmAjt3VIA" target="_LFtRIWOSEd2mS_8SFTXMeQ"/>
+  </pools>
+</bpmn:BpmnDiagram>

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram	2008-08-14 15:25:00 UTC (rev 1892)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmi:id="_AXGZYGOSEd2mS_8SFTXMeQ" type="Bpmn" name="parallel-merge.bpmn_diagram" measurementUnit="Pixel">
-  <children xmi:type="notation:Node" xmi:id="_AXIOkGOSEd2mS_8SFTXMeQ" type="1001">
-    <children xmi:type="notation:Node" xmi:id="_AXI1oGOSEd2mS_8SFTXMeQ" type="4008"/>
-    <children xmi:type="notation:Node" xmi:id="_AXI1oWOSEd2mS_8SFTXMeQ" type="5001">
-      <children xmi:type="notation:Node" xmi:id="_EPve4GOSEd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_EPwF8GOSEd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_EPve4WOSEd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_EPve4mOSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_EPve42OSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_EPve5GOSEd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_EPuQwWOSEd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EPve5WOSEd2mS_8SFTXMeQ" x="240" y="72"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_FY--4GOSEd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_FY_l8GOSEd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_FY--4WOSEd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_FY--4mOSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_FY--42OSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_FY--5GOSEd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_FY9wwWOSEd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FY--5WOSEd2mS_8SFTXMeQ" x="36" y="24" width="50"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_Foc-QGOSEd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_FodlUGOSEd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_Foc-QWOSEd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_Foc-QmOSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_Foc-Q2OSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_Foc-RGOSEd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_FobwIWOSEd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Foc-RWOSEd2mS_8SFTXMeQ" x="36" y="144"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_LFt4MGOSEd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_LFufRWOSEd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_LFufQGOSEd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_LFufQWOSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_LFufQmOSEd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_LFufQ2OSEd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_LFtRIWOSEd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LFufRGOSEd2mS_8SFTXMeQ" x="492" y="84"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_tQlDUGlWEd2VTpmAjt3VIA" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_tQmRcGlWEd2VTpmAjt3VIA" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_tQlDUWlWEd2VTpmAjt3VIA" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_tQlDUmlWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_tQlDU2lWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_tQlDVGlWEd2VTpmAjt3VIA" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_tQcgcWlWEd2VTpmAjt3VIA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tQlDVWlWEd2VTpmAjt3VIA" x="96" y="12"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_y-wHEGlWEd2VTpmAjt3VIA" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_y-wuIGlWEd2VTpmAjt3VIA" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_y-wHEWlWEd2VTpmAjt3VIA" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_y-wHEmlWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_y-wHE2lWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_y-wHFGlWEd2VTpmAjt3VIA" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_y-u48WlWEd2VTpmAjt3VIA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y-wHFWlWEd2VTpmAjt3VIA" x="96" y="132"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_4EhHAGlWEd2VTpmAjt3VIA" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_4EhuEGlWEd2VTpmAjt3VIA" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_4EhHAWlWEd2VTpmAjt3VIA" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_4EhHAmlWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_4EhHA2lWEd2VTpmAjt3VIA"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_4EhHBGlWEd2VTpmAjt3VIA" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_4Egf8WlWEd2VTpmAjt3VIA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4EhHBWlWEd2VTpmAjt3VIA" x="336" y="72"/>
-      </children>
-      <styles xmi:type="notation:DrawerStyle" xmi:id="_AXI1omOSEd2mS_8SFTXMeQ"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_AXI1o2OSEd2mS_8SFTXMeQ"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_AXI1pGOSEd2mS_8SFTXMeQ"/>
-    </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_AXIOkWOSEd2mS_8SFTXMeQ" fontName="Arial"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_AXIOkmOSEd2mS_8SFTXMeQ"/>
-    <styles xmi:type="notation:FillStyle" xmi:id="_AXIOk2OSEd2mS_8SFTXMeQ" fillColor="16771304"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_AXIOlGOSEd2mS_8SFTXMeQ" lineColor="11119017"/>
-    <element xmi:type="bpmn:Pool" href="parallel-merge.bpmn#_AXHAcWOSEd2mS_8SFTXMeQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AXI1pWOSEd2mS_8SFTXMeQ" x="16" y="16" width="585" height="213"/>
-  </children>
-  <styles xmi:type="notation:PageStyle" xmi:id="_AXGZYWOSEd2mS_8SFTXMeQ"/>
-  <styles xmi:type="notation:GuideStyle" xmi:id="_AXGZYmOSEd2mS_8SFTXMeQ"/>
-  <styles xmi:type="notation:DescriptionStyle" xmi:id="_AXGZY2OSEd2mS_8SFTXMeQ"/>
-  <element xmi:type="bpmn:BpmnDiagram" href="parallel-merge.bpmn#_AXFyUWOSEd2mS_8SFTXMeQ"/>
-  <edges xmi:type="notation:Edge" xmi:id="_xb2w8GlWEd2VTpmAjt3VIA" type="3001" source="_FY--4GOSEd2mS_8SFTXMeQ" target="_tQlDUGlWEd2VTpmAjt3VIA">
-    <children xmi:type="notation:Node" xmi:id="_xb5NMGlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_xb5NMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_xb5NMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_xb5NM2lWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_xb2w8WlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_xb2w8mlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_xb2w82lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_xbzGkWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xb2w9GlWEd2VTpmAjt3VIA" points="[15, 1, -148, -14]$[217, 23, 54, 8]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_x11-QGlWEd2VTpmAjt3VIA" type="3001" source="_tQlDUGlWEd2VTpmAjt3VIA" target="_EPve4GOSEd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_x12lUGlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_x12lUWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_x12lUmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_x12lU2lWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_x11-QWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_x11-QmlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_x11-Q2lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_x1ziAWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x11-RGlWEd2VTpmAjt3VIA" points="[54, 6, -189, -37]$[244, 19, 1, -24]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_1ipAIGlWEd2VTpmAjt3VIA" type="3001" source="_Foc-QGOSEd2mS_8SFTXMeQ" target="_y-wHEGlWEd2VTpmAjt3VIA">
-    <children xmi:type="notation:Node" xmi:id="_1ipnMGlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_1ipnMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_1ipnMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_1ipnM2lWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_1ipAIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_1ipAImlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_1ipAI2lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_1inyAWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1ipAJGlWEd2VTpmAjt3VIA" points="[15, -3, -199, 16]$[161, -46, -53, -27]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_25KHIGlWEd2VTpmAjt3VIA" type="3001" source="_y-wHEGlWEd2VTpmAjt3VIA" target="_EPve4GOSEd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_25KuMGlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_25KuMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_25KuMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_25KuM2lWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_25KHIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_25KHImlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_25KHI2lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_25I5AWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_25KHJGlWEd2VTpmAjt3VIA" points="[54, -10, -254, 53]$[303, -43, -5, 20]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_6Hr4oGlWEd2VTpmAjt3VIA" type="3001" source="_EPve4GOSEd2mS_8SFTXMeQ" target="_4EhHAGlWEd2VTpmAjt3VIA">
-    <children xmi:type="notation:Node" xmi:id="_6HsfsWlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_6HsfsmlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_6Hsfs2lWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_6HsftGlWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_6Hr4oWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_6Hr4omlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_6Hr4o2lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_6HqqgWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6HsfsGlWEd2VTpmAjt3VIA" points="[22, -3, -154, -6]$[175, -25, -1, -28]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_697kIGlWEd2VTpmAjt3VIA" type="3001" source="_4EhHAGlWEd2VTpmAjt3VIA" target="_LFt4MGOSEd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_698LMGlWEd2VTpmAjt3VIA" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_698LMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_698LMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_698LM2lWEd2VTpmAjt3VIA" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_697kIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_697kImlWEd2VTpmAjt3VIA" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_697kI2lWEd2VTpmAjt3VIA" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_696WAWlWEd2VTpmAjt3VIA"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_697kJGlWEd2VTpmAjt3VIA" points="[54, -2, -88, -1]$[127, -16, -15, -15]"/>
-  </edges>
-</notation:Diagram>

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.bpmn_diagram	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmi:id="_AXGZYGOSEd2mS_8SFTXMeQ" type="Bpmn" name="parallel-merge.bpmn_diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Node" xmi:id="_AXIOkGOSEd2mS_8SFTXMeQ" type="1001">
+    <children xmi:type="notation:Node" xmi:id="_AXI1oGOSEd2mS_8SFTXMeQ" type="4008"/>
+    <children xmi:type="notation:Node" xmi:id="_AXI1oWOSEd2mS_8SFTXMeQ" type="5001">
+      <children xmi:type="notation:Node" xmi:id="_EPve4GOSEd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_EPwF8GOSEd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_EPve4WOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_EPve4mOSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_EPve42OSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_EPve5GOSEd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_EPuQwWOSEd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EPve5WOSEd2mS_8SFTXMeQ" x="240" y="72"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_FY--4GOSEd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_FY_l8GOSEd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_FY--4WOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_FY--4mOSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_FY--42OSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_FY--5GOSEd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_FY9wwWOSEd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FY--5WOSEd2mS_8SFTXMeQ" x="36" y="24" width="50"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_Foc-QGOSEd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_FodlUGOSEd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_Foc-QWOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_Foc-QmOSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_Foc-Q2OSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_Foc-RGOSEd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_FobwIWOSEd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Foc-RWOSEd2mS_8SFTXMeQ" x="36" y="144"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_LFt4MGOSEd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_LFufRWOSEd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_LFufQGOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_LFufQWOSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_LFufQmOSEd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_LFufQ2OSEd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_LFtRIWOSEd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LFufRGOSEd2mS_8SFTXMeQ" x="492" y="84"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_tQlDUGlWEd2VTpmAjt3VIA" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_tQmRcGlWEd2VTpmAjt3VIA" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_tQlDUWlWEd2VTpmAjt3VIA" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_tQlDUmlWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_tQlDU2lWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_tQlDVGlWEd2VTpmAjt3VIA" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_tQcgcWlWEd2VTpmAjt3VIA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tQlDVWlWEd2VTpmAjt3VIA" x="96" y="12"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_y-wHEGlWEd2VTpmAjt3VIA" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_y-wuIGlWEd2VTpmAjt3VIA" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_y-wHEWlWEd2VTpmAjt3VIA" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_y-wHEmlWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_y-wHE2lWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_y-wHFGlWEd2VTpmAjt3VIA" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_y-u48WlWEd2VTpmAjt3VIA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y-wHFWlWEd2VTpmAjt3VIA" x="96" y="132"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_4EhHAGlWEd2VTpmAjt3VIA" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_4EhuEGlWEd2VTpmAjt3VIA" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_4EhHAWlWEd2VTpmAjt3VIA" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_4EhHAmlWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_4EhHA2lWEd2VTpmAjt3VIA"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_4EhHBGlWEd2VTpmAjt3VIA" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-merge.bpmn#_4Egf8WlWEd2VTpmAjt3VIA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4EhHBWlWEd2VTpmAjt3VIA" x="336" y="72"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_AXI1omOSEd2mS_8SFTXMeQ"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_AXI1o2OSEd2mS_8SFTXMeQ"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_AXI1pGOSEd2mS_8SFTXMeQ"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AXIOkWOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+    <styles xmi:type="notation:DescriptionStyle" xmi:id="_AXIOkmOSEd2mS_8SFTXMeQ"/>
+    <styles xmi:type="notation:FillStyle" xmi:id="_AXIOk2OSEd2mS_8SFTXMeQ" fillColor="16771304"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_AXIOlGOSEd2mS_8SFTXMeQ" lineColor="11119017"/>
+    <element xmi:type="bpmn:Pool" href="parallel-merge.bpmn#_AXHAcWOSEd2mS_8SFTXMeQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AXI1pWOSEd2mS_8SFTXMeQ" x="16" y="16" width="585" height="213"/>
+  </children>
+  <styles xmi:type="notation:PageStyle" xmi:id="_AXGZYWOSEd2mS_8SFTXMeQ"/>
+  <styles xmi:type="notation:GuideStyle" xmi:id="_AXGZYmOSEd2mS_8SFTXMeQ"/>
+  <styles xmi:type="notation:DescriptionStyle" xmi:id="_AXGZY2OSEd2mS_8SFTXMeQ"/>
+  <element xmi:type="bpmn:BpmnDiagram" href="parallel-merge.bpmn#_AXFyUWOSEd2mS_8SFTXMeQ"/>
+  <edges xmi:type="notation:Edge" xmi:id="_xb2w8GlWEd2VTpmAjt3VIA" type="3001" source="_FY--4GOSEd2mS_8SFTXMeQ" target="_tQlDUGlWEd2VTpmAjt3VIA">
+    <children xmi:type="notation:Node" xmi:id="_xb5NMGlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_xb5NMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_xb5NMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xb5NM2lWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_xb2w8WlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xb2w8mlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_xb2w82lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_xbzGkWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xb2w9GlWEd2VTpmAjt3VIA" points="[15, 1, -148, -14]$[217, 23, 54, 8]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_x11-QGlWEd2VTpmAjt3VIA" type="3001" source="_tQlDUGlWEd2VTpmAjt3VIA" target="_EPve4GOSEd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_x12lUGlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_x12lUWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_x12lUmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_x12lU2lWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_x11-QWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_x11-QmlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_x11-Q2lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_x1ziAWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x11-RGlWEd2VTpmAjt3VIA" points="[54, 6, -189, -37]$[244, 19, 1, -24]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_1ipAIGlWEd2VTpmAjt3VIA" type="3001" source="_Foc-QGOSEd2mS_8SFTXMeQ" target="_y-wHEGlWEd2VTpmAjt3VIA">
+    <children xmi:type="notation:Node" xmi:id="_1ipnMGlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_1ipnMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_1ipnMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_1ipnM2lWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_1ipAIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_1ipAImlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_1ipAI2lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_1inyAWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1ipAJGlWEd2VTpmAjt3VIA" points="[15, -3, -199, 16]$[161, -46, -53, -27]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_25KHIGlWEd2VTpmAjt3VIA" type="3001" source="_y-wHEGlWEd2VTpmAjt3VIA" target="_EPve4GOSEd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_25KuMGlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_25KuMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_25KuMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_25KuM2lWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_25KHIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_25KHImlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_25KHI2lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_25I5AWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_25KHJGlWEd2VTpmAjt3VIA" points="[54, -10, -254, 53]$[303, -43, -5, 20]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_6Hr4oGlWEd2VTpmAjt3VIA" type="3001" source="_EPve4GOSEd2mS_8SFTXMeQ" target="_4EhHAGlWEd2VTpmAjt3VIA">
+    <children xmi:type="notation:Node" xmi:id="_6HsfsWlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_6HsfsmlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_6Hsfs2lWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6HsftGlWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_6Hr4oWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_6Hr4omlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_6Hr4o2lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_6HqqgWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6HsfsGlWEd2VTpmAjt3VIA" points="[22, -3, -154, -6]$[175, -25, -1, -28]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_697kIGlWEd2VTpmAjt3VIA" type="3001" source="_4EhHAGlWEd2VTpmAjt3VIA" target="_LFt4MGOSEd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_698LMGlWEd2VTpmAjt3VIA" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_698LMWlWEd2VTpmAjt3VIA" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_698LMmlWEd2VTpmAjt3VIA" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_698LM2lWEd2VTpmAjt3VIA" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_697kIWlWEd2VTpmAjt3VIA" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_697kImlWEd2VTpmAjt3VIA" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_697kI2lWEd2VTpmAjt3VIA" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-merge.bpmn#_696WAWlWEd2VTpmAjt3VIA"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_697kJGlWEd2VTpmAjt3VIA" points="[54, -2, -88, -1]$[127, -16, -15, -15]"/>
+  </edges>
+</notation:Diagram>

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.png
===================================================================
(Binary files differ)

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.png (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-merge.png)
===================================================================
(Binary files differ)

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn	2008-08-14 15:25:00 UTC (rev 1892)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:BpmnDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmi:id="_rQi2YWOREd2mS_8SFTXMeQ" iD="_rQi2YGOREd2mS_8SFTXMeQ">
-  <pools xmi:type="bpmn:Pool" xmi:id="_rQjddWOREd2mS_8SFTXMeQ" iD="_rQjddGOREd2mS_8SFTXMeQ" name="Pool">
-    <vertices xmi:type="bpmn:Activity" xmi:id="_tKtdAWOREd2mS_8SFTXMeQ" iD="_tKtdAGOREd2mS_8SFTXMeQ" outgoingEdges="_yunKcWOREd2mS_8SFTXMeQ" activityType="EventStartEmpty"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_uJQI4WOREd2mS_8SFTXMeQ" iD="_uJQI4GOREd2mS_8SFTXMeQ" outgoingEdges="_wrzlMWOREd2mS_8SFTXMeQ _xTKgIWOREd2mS_8SFTXMeQ" incomingEdges="_yunKcWOREd2mS_8SFTXMeQ" activityType="GatewayParallel"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_vO_B4WOREd2mS_8SFTXMeQ" iD="_vO_B4GOREd2mS_8SFTXMeQ" incomingEdges="_wrzlMWOREd2mS_8SFTXMeQ" name="EndA" activityType="EventEndEmpty"/>
-    <vertices xmi:type="bpmn:Activity" xmi:id="_vpvrQWOREd2mS_8SFTXMeQ" iD="_vpvrQGOREd2mS_8SFTXMeQ" incomingEdges="_xTKgIWOREd2mS_8SFTXMeQ" name="EndB  " activityType="EventEndEmpty"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_wrzlMWOREd2mS_8SFTXMeQ" iD="_wrzlMGOREd2mS_8SFTXMeQ" source="_uJQI4WOREd2mS_8SFTXMeQ" target="_vO_B4WOREd2mS_8SFTXMeQ"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_xTKgIWOREd2mS_8SFTXMeQ" iD="_xTKgIGOREd2mS_8SFTXMeQ" source="_uJQI4WOREd2mS_8SFTXMeQ" target="_vpvrQWOREd2mS_8SFTXMeQ"/>
-    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_yunKcWOREd2mS_8SFTXMeQ" iD="_yunKcGOREd2mS_8SFTXMeQ" source="_tKtdAWOREd2mS_8SFTXMeQ" target="_uJQI4WOREd2mS_8SFTXMeQ"/>
-  </pools>
-</bpmn:BpmnDiagram>

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:BpmnDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmi:id="_rQi2YWOREd2mS_8SFTXMeQ" iD="_rQi2YGOREd2mS_8SFTXMeQ">
+  <pools xmi:type="bpmn:Pool" xmi:id="_rQjddWOREd2mS_8SFTXMeQ" iD="_rQjddGOREd2mS_8SFTXMeQ" name="Pool">
+    <vertices xmi:type="bpmn:Activity" xmi:id="_tKtdAWOREd2mS_8SFTXMeQ" iD="_tKtdAGOREd2mS_8SFTXMeQ" outgoingEdges="_yunKcWOREd2mS_8SFTXMeQ" activityType="EventStartEmpty"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_uJQI4WOREd2mS_8SFTXMeQ" iD="_uJQI4GOREd2mS_8SFTXMeQ" outgoingEdges="_wrzlMWOREd2mS_8SFTXMeQ _xTKgIWOREd2mS_8SFTXMeQ" incomingEdges="_yunKcWOREd2mS_8SFTXMeQ" activityType="GatewayParallel"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_vO_B4WOREd2mS_8SFTXMeQ" iD="_vO_B4GOREd2mS_8SFTXMeQ" incomingEdges="_wrzlMWOREd2mS_8SFTXMeQ" name="EndA" activityType="EventEndEmpty"/>
+    <vertices xmi:type="bpmn:Activity" xmi:id="_vpvrQWOREd2mS_8SFTXMeQ" iD="_vpvrQGOREd2mS_8SFTXMeQ" incomingEdges="_xTKgIWOREd2mS_8SFTXMeQ" name="EndB  " activityType="EventEndEmpty"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_wrzlMWOREd2mS_8SFTXMeQ" iD="_wrzlMGOREd2mS_8SFTXMeQ" source="_uJQI4WOREd2mS_8SFTXMeQ" target="_vO_B4WOREd2mS_8SFTXMeQ"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_xTKgIWOREd2mS_8SFTXMeQ" iD="_xTKgIGOREd2mS_8SFTXMeQ" source="_uJQI4WOREd2mS_8SFTXMeQ" target="_vpvrQWOREd2mS_8SFTXMeQ"/>
+    <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_yunKcWOREd2mS_8SFTXMeQ" iD="_yunKcGOREd2mS_8SFTXMeQ" source="_tKtdAWOREd2mS_8SFTXMeQ" target="_uJQI4WOREd2mS_8SFTXMeQ"/>
+  </pools>
+</bpmn:BpmnDiagram>

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram	2008-08-14 15:25:00 UTC (rev 1892)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram	2008-08-15 07:59:12 UTC (rev 1896)
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmi:id="_rQjdcGOREd2mS_8SFTXMeQ" type="Bpmn" name="parallel-split.bpmn_diagram" measurementUnit="Pixel">
-  <children xmi:type="notation:Node" xmi:id="_rQkrkGOREd2mS_8SFTXMeQ" type="1001">
-    <children xmi:type="notation:Node" xmi:id="_rQlSoGOREd2mS_8SFTXMeQ" type="4008"/>
-    <children xmi:type="notation:Node" xmi:id="_rQlSoWOREd2mS_8SFTXMeQ" type="5001">
-      <children xmi:type="notation:Node" xmi:id="_tKuEEGOREd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_tKurImOREd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_tKuEEWOREd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_tKuEEmOREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_tKuEE2OREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_tKurIGOREd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_tKtdAWOREd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tKurIWOREd2mS_8SFTXMeQ" x="48" y="84"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_uJRXAGOREd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_uJR-EGOREd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_uJRXAWOREd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_uJRXAmOREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_uJRXA2OREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_uJRXBGOREd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_uJQI4WOREd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uJRXBWOREd2mS_8SFTXMeQ" x="120" y="72"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_vO_o8GOREd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_vPAQAmOREd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_vO_o8WOREd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_vO_o8mOREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_vO_o82OREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_vPAQAGOREd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_vO_B4WOREd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vPAQAWOREd2mS_8SFTXMeQ" x="216" y="24"/>
-      </children>
-      <children xmi:type="notation:Node" xmi:id="_vpw5YGOREd2mS_8SFTXMeQ" type="2001">
-        <children xmi:type="notation:Node" xmi:id="_vpxgcGOREd2mS_8SFTXMeQ" type="4001"/>
-        <styles xmi:type="notation:FontStyle" xmi:id="_vpw5YWOREd2mS_8SFTXMeQ" fontName="Arial"/>
-        <styles xmi:type="notation:DescriptionStyle" xmi:id="_vpw5YmOREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:FillStyle" xmi:id="_vpw5Y2OREd2mS_8SFTXMeQ"/>
-        <styles xmi:type="notation:LineStyle" xmi:id="_vpw5ZGOREd2mS_8SFTXMeQ" lineColor="0"/>
-        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_vpvrQWOREd2mS_8SFTXMeQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vpw5ZWOREd2mS_8SFTXMeQ" x="216" y="132"/>
-      </children>
-      <styles xmi:type="notation:DrawerStyle" xmi:id="_rQlSomOREd2mS_8SFTXMeQ"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_rQlSo2OREd2mS_8SFTXMeQ"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_rQlSpGOREd2mS_8SFTXMeQ"/>
-    </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_rQkrkWOREd2mS_8SFTXMeQ" fontName="Arial"/>
-    <styles xmi:type="notation:DescriptionStyle" xmi:id="_rQkrkmOREd2mS_8SFTXMeQ"/>
-    <styles xmi:type="notation:FillStyle" xmi:id="_rQkrk2OREd2mS_8SFTXMeQ" fillColor="16771304"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_rQkrlGOREd2mS_8SFTXMeQ" lineColor="11119017"/>
-    <element xmi:type="bpmn:Pool" href="parallel-split.bpmn#_rQjddWOREd2mS_8SFTXMeQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rQlSpWOREd2mS_8SFTXMeQ" x="16" y="16" width="369" height="200"/>
-  </children>
-  <styles xmi:type="notation:PageStyle" xmi:id="_rQjdcWOREd2mS_8SFTXMeQ"/>
-  <styles xmi:type="notation:GuideStyle" xmi:id="_rQjdcmOREd2mS_8SFTXMeQ"/>
-  <styles xmi:type="notation:DescriptionStyle" xmi:id="_rQjdc2OREd2mS_8SFTXMeQ"/>
-  <element xmi:type="bpmn:BpmnDiagram" href="parallel-split.bpmn#_rQi2YWOREd2mS_8SFTXMeQ"/>
-  <edges xmi:type="notation:Edge" xmi:id="_wr1aYGOREd2mS_8SFTXMeQ" type="3001" source="_uJRXAGOREd2mS_8SFTXMeQ" target="_vO_o8GOREd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_wr2BcGOREd2mS_8SFTXMeQ" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_wr2BcWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_wr2BcmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_wr2Bc2OREd2mS_8SFTXMeQ" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_wr1aYWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_wr1aYmOREd2mS_8SFTXMeQ" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_wr1aY2OREd2mS_8SFTXMeQ" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_wrzlMWOREd2mS_8SFTXMeQ"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wr1aZGOREd2mS_8SFTXMeQ" points="[17, -8, -124, 51]$[156, -68, 15, -9]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_xTMVUGOREd2mS_8SFTXMeQ" type="3001" source="_uJRXAGOREd2mS_8SFTXMeQ" target="_vpw5YGOREd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_xTM8YGOREd2mS_8SFTXMeQ" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_xTM8YWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_xTM8YmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_xTM8Y2OREd2mS_8SFTXMeQ" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_xTMVUWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_xTMVUmOREd2mS_8SFTXMeQ" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_xTMVU2OREd2mS_8SFTXMeQ" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_xTKgIWOREd2mS_8SFTXMeQ"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xTMVVGOREd2mS_8SFTXMeQ" points="[18, 6, -116, -44]$[149, 61, 15, 11]"/>
-  </edges>
-  <edges xmi:type="notation:Edge" xmi:id="_yuo_oGOREd2mS_8SFTXMeQ" type="3001" source="_tKuEEGOREd2mS_8SFTXMeQ" target="_uJRXAGOREd2mS_8SFTXMeQ">
-    <children xmi:type="notation:Node" xmi:id="_yupmsGOREd2mS_8SFTXMeQ" type="4012">
-      <styles xmi:type="notation:FillStyle" xmi:id="_yupmsWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
-      <styles xmi:type="notation:LineStyle" xmi:id="_yupmsmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_yupms2OREd2mS_8SFTXMeQ" y="-10"/>
-    </children>
-    <styles xmi:type="notation:RoutingStyle" xmi:id="_yuo_oWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
-    <styles xmi:type="notation:FontStyle" xmi:id="_yuo_omOREd2mS_8SFTXMeQ" fontName="Arial"/>
-    <styles xmi:type="notation:LineStyle" xmi:id="_yuo_o2OREd2mS_8SFTXMeQ" lineColor="0"/>
-    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_yunKcWOREd2mS_8SFTXMeQ"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yuo_pGOREd2mS_8SFTXMeQ" points="[15, -2, -84, 1]$[80, -10, -19, -7]"/>
-  </edges>
-</notation:Diagram>

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.bpmn_diagram	2008-08-15 07:59:12 UTC (rev 1896)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:bpmn="http://stp.eclipse.org/bpmn" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmi:id="_rQjdcGOREd2mS_8SFTXMeQ" type="Bpmn" name="parallel-split.bpmn_diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Node" xmi:id="_rQkrkGOREd2mS_8SFTXMeQ" type="1001">
+    <children xmi:type="notation:Node" xmi:id="_rQlSoGOREd2mS_8SFTXMeQ" type="4008"/>
+    <children xmi:type="notation:Node" xmi:id="_rQlSoWOREd2mS_8SFTXMeQ" type="5001">
+      <children xmi:type="notation:Node" xmi:id="_tKuEEGOREd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_tKurImOREd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_tKuEEWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_tKuEEmOREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_tKuEE2OREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_tKurIGOREd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_tKtdAWOREd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tKurIWOREd2mS_8SFTXMeQ" x="48" y="84"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_uJRXAGOREd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_uJR-EGOREd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_uJRXAWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_uJRXAmOREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_uJRXA2OREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_uJRXBGOREd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_uJQI4WOREd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uJRXBWOREd2mS_8SFTXMeQ" x="120" y="72"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_vO_o8GOREd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_vPAQAmOREd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_vO_o8WOREd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_vO_o8mOREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_vO_o82OREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_vPAQAGOREd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_vO_B4WOREd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vPAQAWOREd2mS_8SFTXMeQ" x="216" y="24"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_vpw5YGOREd2mS_8SFTXMeQ" type="2001">
+        <children xmi:type="notation:Node" xmi:id="_vpxgcGOREd2mS_8SFTXMeQ" type="4001"/>
+        <styles xmi:type="notation:FontStyle" xmi:id="_vpw5YWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+        <styles xmi:type="notation:DescriptionStyle" xmi:id="_vpw5YmOREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:FillStyle" xmi:id="_vpw5Y2OREd2mS_8SFTXMeQ"/>
+        <styles xmi:type="notation:LineStyle" xmi:id="_vpw5ZGOREd2mS_8SFTXMeQ" lineColor="0"/>
+        <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_vpvrQWOREd2mS_8SFTXMeQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vpw5ZWOREd2mS_8SFTXMeQ" x="216" y="132"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_rQlSomOREd2mS_8SFTXMeQ"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_rQlSo2OREd2mS_8SFTXMeQ"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_rQlSpGOREd2mS_8SFTXMeQ"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_rQkrkWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+    <styles xmi:type="notation:DescriptionStyle" xmi:id="_rQkrkmOREd2mS_8SFTXMeQ"/>
+    <styles xmi:type="notation:FillStyle" xmi:id="_rQkrk2OREd2mS_8SFTXMeQ" fillColor="16771304"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_rQkrlGOREd2mS_8SFTXMeQ" lineColor="11119017"/>
+    <element xmi:type="bpmn:Pool" href="parallel-split.bpmn#_rQjddWOREd2mS_8SFTXMeQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rQlSpWOREd2mS_8SFTXMeQ" x="16" y="16" width="369" height="200"/>
+  </children>
+  <styles xmi:type="notation:PageStyle" xmi:id="_rQjdcWOREd2mS_8SFTXMeQ"/>
+  <styles xmi:type="notation:GuideStyle" xmi:id="_rQjdcmOREd2mS_8SFTXMeQ"/>
+  <styles xmi:type="notation:DescriptionStyle" xmi:id="_rQjdc2OREd2mS_8SFTXMeQ"/>
+  <element xmi:type="bpmn:BpmnDiagram" href="parallel-split.bpmn#_rQi2YWOREd2mS_8SFTXMeQ"/>
+  <edges xmi:type="notation:Edge" xmi:id="_wr1aYGOREd2mS_8SFTXMeQ" type="3001" source="_uJRXAGOREd2mS_8SFTXMeQ" target="_vO_o8GOREd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_wr2BcGOREd2mS_8SFTXMeQ" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_wr2BcWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_wr2BcmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wr2Bc2OREd2mS_8SFTXMeQ" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_wr1aYWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_wr1aYmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_wr1aY2OREd2mS_8SFTXMeQ" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_wrzlMWOREd2mS_8SFTXMeQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wr1aZGOREd2mS_8SFTXMeQ" points="[17, -8, -124, 51]$[156, -68, 15, -9]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_xTMVUGOREd2mS_8SFTXMeQ" type="3001" source="_uJRXAGOREd2mS_8SFTXMeQ" target="_vpw5YGOREd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_xTM8YGOREd2mS_8SFTXMeQ" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_xTM8YWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_xTM8YmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xTM8Y2OREd2mS_8SFTXMeQ" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_xTMVUWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xTMVUmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_xTMVU2OREd2mS_8SFTXMeQ" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_xTKgIWOREd2mS_8SFTXMeQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xTMVVGOREd2mS_8SFTXMeQ" points="[18, 6, -116, -44]$[149, 61, 15, 11]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_yuo_oGOREd2mS_8SFTXMeQ" type="3001" source="_tKuEEGOREd2mS_8SFTXMeQ" target="_uJRXAGOREd2mS_8SFTXMeQ">
+    <children xmi:type="notation:Node" xmi:id="_yupmsGOREd2mS_8SFTXMeQ" type="4012">
+      <styles xmi:type="notation:FillStyle" xmi:id="_yupmsWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+      <styles xmi:type="notation:LineStyle" xmi:id="_yupmsmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yupms2OREd2mS_8SFTXMeQ" y="-10"/>
+    </children>
+    <styles xmi:type="notation:RoutingStyle" xmi:id="_yuo_oWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_yuo_omOREd2mS_8SFTXMeQ" fontName="Arial"/>
+    <styles xmi:type="notation:LineStyle" xmi:id="_yuo_o2OREd2mS_8SFTXMeQ" lineColor="0"/>
+    <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_yunKcWOREd2mS_8SFTXMeQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yuo_pGOREd2mS_8SFTXMeQ" points="[15, -2, -84, 1]$[80, -10, -19, -7]"/>
+  </edges>
+</notation:Diagram>

Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.png
===================================================================
(Binary files differ)

Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.png (from rev 1892, jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-split.png)
===================================================================
(Binary files differ)




More information about the jbpm-commits mailing list