[jbpm-commits] JBoss JBPM SVN: r2490 - in projects/spec/trunk/modules/cts: src/test/java/org/jbpm/test/cts/gateway/exclusive and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Oct 6 13:09:29 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-10-06 13:09:29 -0400 (Mon, 06 Oct 2008)
New Revision: 2490

Modified:
   projects/spec/trunk/modules/cts/pom.xml
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/inclusive/InclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/parallel/ParallelGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java
Log:
Pass more gateway tests

Modified: projects/spec/trunk/modules/cts/pom.xml
===================================================================
--- projects/spec/trunk/modules/cts/pom.xml	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/pom.xml	2008-10-06 17:09:29 UTC (rev 2490)
@@ -70,11 +70,8 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <excludes>
-            <exclude>org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java</exclude>
             <exclude>org/jbpm/test/cts/node/NodeInputSetTest.java</exclude>
             <exclude>org/jbpm/test/cts/node/NodeOutputSetTest.java</exclude>
-            <exclude>org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java</exclude>
-            <exclude>org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java</exclude>
           </excludes>
         </configuration>
       </plugin>

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-10-06 17:09:29 UTC (rev 2490)
@@ -24,23 +24,14 @@
 // $Id$
 
 import java.io.IOException;
+import java.util.List;
 
-import org.jbpm.api.client.SignalListener;
-import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.Signal;
-import org.jbpm.api.model.Assignment.AssignTime;
-import org.jbpm.api.model.Event.EventDetailType;
-import org.jbpm.api.model.Expression.ExpressionLanguage;
 import org.jbpm.api.model.Gateway.GatewayType;
-import org.jbpm.api.model.Signal.SignalType;
-import org.jbpm.api.model.builder.EventBuilder;
-import org.jbpm.api.model.builder.MessageBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.ProcessBuilderService;
-import org.jbpm.api.model.builder.TaskBuilder;
-import org.jbpm.api.service.SignalService;
 import org.jbpm.api.test.CTSTestCase;
 
 /**
@@ -53,163 +44,31 @@
  */
 public class ExclusiveGatewayMergeTest extends CTSTestCase
 {
-  public void testGateA() throws Exception
+  public void testMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     Process proc = procDef.newInstance();
 
-    // Add a signal listener that sends the other start trigger signal
-    SignalService sigManager = SignalService.locateSignalService();
-    MergeListener sigListener = new MergeListener(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B"));
-    sigManager.addSignalListener(sigListener);
+    // Start the process
+    proc.startProcess();
 
-    try
-    {
-      // Send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
+    // Wait for the process to end
+    proc.waitForEnd();
 
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
     // Verify the result
-    Message endMessage = getMessages().get(0);
-    assertNotNull("EndMessage expected", endMessage);
-    assertEquals("TaskA", endMessage.getProperty("taskValue").getValue());
+    List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+    assertEquals(1, endSignals.size());
   }
 
-  public void testGateB() throws Exception
-  {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
-
-    // Add a signal listener that sends the other start trigger signal
-    SignalService sigManager = SignalService.locateSignalService();
-    MergeListener sigListener = new MergeListener(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B"));
-
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    // Verify the result
-    Message endMessage = getMessages().get(0);
-    assertNotNull("EndMessage expected", endMessage);
-    assertEquals("TaskB", endMessage.getProperty("taskValue").getValue());
-  }
-
-  public void testInvalidToken() throws Exception
-  {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
-
-    // Add a signal listener that sends the other start trigger signal
-    SignalService sigManager = SignalService.locateSignalService();
-    MergeListener sigListener = new MergeListener(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-      try
-      {
-        proc.waitForEnd();
-        fail("Expected: Unexpected token from: SequenceFlow[TaskA->Merge]");
-      }
-      catch (RuntimeException rte)
-      {
-        // expected
-      }
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    // Add a signal listener that sends the other start trigger signal
-    sigListener = new MergeListener(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B"));
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    // Verify the result
-    Message endMessage = getMessages().get(0);
-    assertNotNull("EndMessage expected", endMessage);
-    assertEquals("TaskA", endMessage.getProperty("taskValue").getValue());
-  }
-
   public ProcessDefinition getProcessDefinition() throws IOException
   {
     ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
-    EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A");
-    TaskBuilder taskBuilder = procBuilder.addSequenceFlow("TaskA").addTask("TaskA");
-    taskBuilder.addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValue");
-    taskBuilder.addSequenceFlow("Merge");
-    eventBuilder = procBuilder.addStartEvent("StartB", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B");
-    taskBuilder = procBuilder.addSequenceFlow("TaskB").addTask("TaskB");
-    taskBuilder.addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValue");
-    taskBuilder.addSequenceFlow("Merge");
+    procBuilder.addProcess("ExclusiveGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
+    procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
+    procBuilder.addTask("TaskA").addSequenceFlow("Merge");
+    procBuilder.addTask("TaskB").addSequenceFlow("Merge");
     procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("End");
-    procBuilder.addEndEvent("End", EventDetailType.Message).addMessageRef("EndMessage");
-    MessageBuilder msgBuilder = procBuilder.addProcessMessage("EndMessage");
-    msgBuilder.addToRef(getTestID()).addProperty("taskValue", null, true);
+    procBuilder.addEndEvent("End");
     return procBuilder.getProcessDefinition();
   }
-
-  class MergeListener implements SignalListener
-  {
-    private Signal nextSignal;
-
-    public MergeListener(Signal nextSignal)
-    {
-      this.nextSignal = nextSignal;
-    }
-
-    public boolean acceptSignal(Signal signal)
-    {
-      return signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER;
-    }
-
-    public void catchSignal(Signal signal)
-    {
-      if (nextSignal != null)
-      {
-        SignalService sigService = SignalService.locateSignalService();
-        sigService.throwSignal(nextSignal);
-        nextSignal = null;
-      }
-    }
-  }
 }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-10-06 17:09:29 UTC (rev 2490)
@@ -43,12 +43,12 @@
  */
 public class InclusiveGatewayMergeTest extends CTSTestCase
 {
-  public void testGateA() throws Exception
+  public void testSimpleMerge() throws Exception
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     Process proc = procDef.newInstance();
 
-    // Start the process and send start trigger signal
+    // Start the process
     proc.startProcess();
 
     // Wait for the process to end

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/parallel/ParallelGatewayMergeTest.java	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/gateway/parallel/ParallelGatewayMergeTest.java	2008-10-06 17:09:29 UTC (rev 2490)
@@ -52,7 +52,7 @@
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     Process proc = procDef.newInstance();
     
-    // Start the process and send start trigger signal
+    // Start the process
     proc.startProcess();
 
     // Wait for the process to end

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-10-06 17:09:29 UTC (rev 2490)
@@ -26,17 +26,12 @@
 import java.io.IOException;
 import java.util.List;
 
-import org.jbpm.api.client.SignalListener;
-import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
 import org.jbpm.api.model.Signal;
-import org.jbpm.api.model.Event.EventDetailType;
-import org.jbpm.api.model.Signal.SignalType;
-import org.jbpm.api.model.builder.EventBuilder;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.ProcessBuilderService;
-import org.jbpm.api.service.SignalService;
 import org.jbpm.api.test.CTSTestCase;
 
 /**
@@ -53,25 +48,12 @@
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     Process proc = procDef.newInstance();
 
-    // Add a signal listener that sends the other start trigger signal
-    MergeListener sigListener = new MergeListener(procDef.getName(), new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B"));          
-    SignalService sigManager = SignalService.locateSignalService();
-    sigManager.addSignalListener(sigListener);
+    // Start the process
+    proc.startProcess();
 
-    try
-    {
-      // Send start trigger signals
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
+    // Wait for the process to end
+    proc.waitForEnd();
 
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
     List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
     assertEquals(2, endSignals.size());
   }
@@ -79,37 +61,12 @@
   public ProcessDefinition getProcessDefinition() throws IOException
   {
     ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
-    EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A");
-    eventBuilder = procBuilder.addSequenceFlow("Merge").addStartEvent("StartB", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B");
-    procBuilder.addSequenceFlow("Merge").addGateway("Merge", Gateway.GatewayType.Inclusive).addSequenceFlow("End");
+    procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
+    procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
+    procBuilder.addTask("TaskA").addSequenceFlow("Merge");
+    procBuilder.addTask("TaskB").addSequenceFlow("Merge");
+    procBuilder.addGateway("Merge", GatewayType.Inclusive).addSequenceFlow("End");
     procBuilder.addEndEvent("End");
     return procBuilder.getProcessDefinition();
   }
-
-  class MergeListener implements SignalListener
-  {
-    private Signal nextSignal;
-
-    public MergeListener(String fromRef, Signal nextSignal)
-    {
-      this.nextSignal = nextSignal;
-    }
-
-    public boolean acceptSignal(Signal signal)
-    {
-      return signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER;
-    }
-
-    public void catchSignal(Signal signal)
-    {
-      if (nextSignal != null)
-      {
-        SignalService sigService = SignalService.locateSignalService();
-        sigService.throwSignal(nextSignal);
-        nextSignal = null;
-      }
-    }
-  }
 }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-10-06 15:53:38 UTC (rev 2489)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-10-06 17:09:29 UTC (rev 2490)
@@ -25,22 +25,16 @@
 
 import java.io.IOException;
 
-import org.jbpm.api.client.SignalListener;
-import org.jbpm.api.model.Gateway;
 import org.jbpm.api.model.Message;
 import org.jbpm.api.model.Process;
 import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.Signal;
 import org.jbpm.api.model.Assignment.AssignTime;
 import org.jbpm.api.model.Event.EventDetailType;
 import org.jbpm.api.model.Expression.ExpressionLanguage;
-import org.jbpm.api.model.Signal.SignalType;
-import org.jbpm.api.model.builder.EventBuilder;
+import org.jbpm.api.model.Gateway.GatewayType;
 import org.jbpm.api.model.builder.MessageBuilder;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.ProcessBuilderService;
-import org.jbpm.api.model.builder.TaskBuilder;
-import org.jbpm.api.service.SignalService;
 import org.jbpm.api.test.CTSTestCase;
 
 /**
@@ -57,105 +51,13 @@
   {
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     Process proc = procDef.newInstance();
-
-    // Add a signal listener that sends the other start trigger signal
-    MergeListener sigListener = new MergeListener(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B"));
-    SignalService sigManager = SignalService.locateSignalService();
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Start the process and send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    // Verify the result
-    Message endMessage = getMessages().get(0);
-    assertEquals("TaskA", endMessage.getProperty("taskValueA").getValue());
-    assertEquals("TaskB", endMessage.getProperty("taskValueB").getValue());
-  }
-
-  public void testMergeTimeout() throws Exception
-  {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
-
-    // Start the process and send start trigger signal
+    
+    // Start the process
     proc.startProcess();
-    SignalService sigService = SignalService.locateSignalService();
-    sigService.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
 
     // Wait for the process to end
-    try
-    {
-      proc.waitForEnd(1000);
-      fail("timeout expected");
-    }
-    catch (RuntimeException rte)
-    {
-      // expected
-    }
-  }
+    proc.waitForEnd();
 
-  public void testInvalidToken() throws Exception
-  {
-    ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
-    Process proc = procDef.newInstance();
-
-    // Add a signal listener that sends the other start trigger signal
-    Signal startTrigger = new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A");
-    MergeListener sigListener = new MergeListener(startTrigger);
-    SignalService sigManager = SignalService.locateSignalService();
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Start the process and send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-      try
-      {
-        proc.waitForEnd();
-        fail("Expected: Unexpected token from: SequenceFlow[TaskA->Merge]");
-      }
-      catch (RuntimeException rte)
-      {
-        // expected
-      }
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
-    // Add a signal listener that sends the other start trigger signal
-    startTrigger = new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "B");
-    sigListener = new MergeListener(startTrigger);
-    sigManager.addSignalListener(sigListener);
-
-    try
-    {
-      // Start the process and send start trigger signal
-      proc.startProcess();
-      sigManager.throwSignal(new Signal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
-
-      // Wait for the process to end
-      proc.waitForEnd();
-    }
-    finally
-    {
-      sigManager.removeSignalListener(sigListener);
-    }
-
     // Verify the result
     Message endMessage = getMessages().get(0);
     assertEquals("TaskA", endMessage.getProperty("taskValueA").getValue());
@@ -165,45 +67,14 @@
   public ProcessDefinition getProcessDefinition() throws IOException
   {
     ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
-    EventBuilder eventBuilder = procBuilder.addProcess("Synchronization").addStartEvent("StartA", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A");
-    TaskBuilder taskBuilder = procBuilder.addSequenceFlow("TaskA").addTask("TaskA");
-    taskBuilder.addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA");
-    taskBuilder.addSequenceFlow("Merge");
-    eventBuilder = procBuilder.addStartEvent("StartB", EventDetailType.Signal);
-    eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B");
-    taskBuilder = procBuilder.addSequenceFlow("TaskB").addTask("TaskB");
-    taskBuilder.addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValueB");
-    taskBuilder.addSequenceFlow("Merge");
-    procBuilder.addGateway("Merge", Gateway.GatewayType.Parallel).addSequenceFlow("End");
+    procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
+    procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
+    procBuilder.addTask("TaskA").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA").addSequenceFlow("Merge");
+    procBuilder.addTask("TaskB").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValueB").addSequenceFlow("Merge");
+    procBuilder.addGateway("Merge", GatewayType.Parallel).addSequenceFlow("End");
     procBuilder.addEndEvent("End", EventDetailType.Message).addMessageRef("EndMessage");
     MessageBuilder msgBuilder = procBuilder.addProcessMessage("EndMessage");
     msgBuilder.addToRef(getTestID()).addProperty("taskValueA", null, true).addProperty("taskValueB", null, true);
     return procBuilder.getProcessDefinition();
   }
-
-  public static class MergeListener implements SignalListener
-  {
-    private Signal nextSignal;
-
-    public MergeListener(Signal nextSignal)
-    {
-      this.nextSignal = nextSignal;
-    }
-
-    public boolean acceptSignal(Signal signal)
-    {
-      return signal.getSignalType() == SignalType.SYSTEM_GATEWAY_ENTER;
-    }
-
-    public void catchSignal(Signal signal)
-    {
-      if (nextSignal != null)
-      {
-        SignalService sigService = SignalService.locateSignalService();
-        sigService.throwSignal(nextSignal);
-        nextSignal = null;
-      }
-    }
-  }
 }




More information about the jbpm-commits mailing list