JBoss JBPM SVN: r1841 - in jbossbpm/spec/branches/tdiesler/modules: api/src/main/java/org/jboss/bpm/model and 18 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-08-07 02:42:26 -0400 (Thu, 07 Aug 2008)
New Revision: 1841
Added:
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EventBuilder.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventBuilderImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SignalEventDetailImpl.java
Modified:
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Activity.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/IntermediateEvent.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Process.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/runtime/FlowHandler.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java
jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/message/ProcessMessageTest.java
jbossbpm/spec/branches/tdiesler/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
jbossbpm/spec/branches/tdiesler/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
jbossbpm/spec/branches/tdiesler/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/FlowObjectImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayBuilderImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessIntegrityTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskMessageTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
Log:
WIP
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -96,7 +96,7 @@
{
ProcessManager pm = getProcessEngine().getProcessManager();
Process proc = pm.getProcessByID(procID);
- FlowObject target = proc.getFlowObjectByName(targetName);
+ FlowObject target = proc.getFlowObject(targetName);
if (target == null)
throw new IllegalArgumentException("Cannot find message target: " + targetName);
if (target instanceof MessageListener == false)
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -40,7 +40,6 @@
import org.apache.commons.logging.LogFactory;
import org.jboss.bpm.BPMException;
import org.jboss.bpm.EngineShutdownException;
-import org.jboss.bpm.ProcessTimeoutException;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.Process.Status;
import org.jboss.bpm.runtime.Attachments;
@@ -70,14 +69,14 @@
{
}
- /**
+ /**
* Get the ProcessEngine
*/
public ProcessEngine getProcessEngine()
{
return ProcessEngineLocator.locateProcessEngine();
}
-
+
/**
* Locate the ProcessManager
*/
@@ -86,7 +85,7 @@
ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
return engine.getProcessManager();
}
-
+
/**
* Create a Process from a XML string in one of the supported formats
*/
@@ -130,7 +129,7 @@
* @param status The optional process status
* @return An empty set if the process cannot be found
*/
- public Set<Process> findProcessByName(String name, Process.Status status)
+ public Set<Process> getProcesses(String name, Process.Status status)
{
Set<Process> procSet = new HashSet<Process>();
for (Process aux : procs)
@@ -160,17 +159,16 @@
}
/**
- * Register a Process.
- * This is not part of the API.
+ * Register a Process. This is not part of the API.
*/
protected void registerProcess(Process proc)
{
+ log.debug("registerProcess: " + proc);
procs.add(proc);
}
/**
- * Remove a Process
- * This is not part of the API.
+ * Remove a Process This is not part of the API.
*/
protected void removeProcess(Process proc)
{
@@ -182,60 +180,6 @@
*/
public abstract ObjectName startProcess(String name, Attachments att);
- /**
- * Wait for the Process to end. All Tokens that are generated at the Start Event for that Process must eventually
- * arrive at an End Event. The Process will be in a running state until all Tokens are consumed.
- * <p/>
- * If the process was aborted this method throws the causing RuntimeException if avaialable.
- *
- */
- public Status waitForEnd(ObjectName procID, long timeout)
- {
- Process proc = getProcessByID(procID);
- Status status = proc.getStatus();
-
- if (status == Status.None || status == Status.Ready)
- throw new IllegalStateException("Cannot wait for process in state: " + status);
-
- // Wait a little for the process to end
- boolean forever = (timeout < 1);
- long now = System.currentTimeMillis();
- long until = now + timeout;
- try
- {
- while (forever || now < until)
- {
- status = proc.getStatus();
- if (status == Status.Cancelled || status == Status.Completed)
- {
- return status;
- }
- else if (status == Status.Aborted)
- {
- RuntimeException rte = proc.getRuntimeException();
- if (rte == null)
- return status;
- else
- throw rte;
- }
- Thread.sleep(100);
- now = System.currentTimeMillis();
- }
- }
- catch (InterruptedException ex)
- {
- log.warn(ex);
- }
- finally
- {
- // Remove the process
- removeProcess(proc);
- }
-
- // Throw timeout exception if it took too long
- throw new ProcessTimeoutException("Process timeout for: " + procID);
- }
-
private String getNamespaceURI(InputStream inStream)
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
@@ -259,9 +203,17 @@
return nsURI;
}
- /**
- * Get the handler for the dialect with the given namespace URI
+ /**
+ * Wait for the Process to end. All Tokens that are generated at the Start Event for that Process must eventually
+ * arrive at an End Event. The Process will be in a running state until all Tokens are consumed. <p/> If the process
+ * was aborted this method throws the causing RuntimeException if avaialable.
+ *
*/
+ public abstract Status waitForEnd(ObjectName procID, long timeout);
+
+ /**
+ * Get the handler for the dialect with the given namespace URI
+ */
public DialectHandler getDialectHandler(String nsURI)
{
String dialectId = dialectRegistry.getDialect(nsURI);
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Activity.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Activity.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Activity.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -32,7 +32,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public interface Activity extends FlowObject, NameSupport, PropertySupport
+public interface Activity extends FlowObject, PropertySupport
{
/**
* The ActivityType MUST be of type Task or Sub-Process.
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -35,7 +35,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public interface EndEvent extends Event, NameSupport, SingleInFlowSupport
+public interface EndEvent extends Event, SingleInFlowSupport
{
/**
* Result defines the type of result expected for an End Event.
Added: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EventBuilder.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EventBuilder.java (rev 0)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EventBuilder.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+//$Id$
+
+import org.jboss.bpm.model.Signal.SignalType;
+
+/**
+ * The EventBuilder can be used to build an {@link Event} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface EventBuilder extends ProcessBuilder
+{
+ /**
+ * Add a signal trigger to the last added {@link Event}
+ */
+ EventBuilder addSignalTrigger(String fromRef, SignalType signalType, String signalMessage);
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/EventBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/FlowObject.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -30,7 +30,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public interface FlowObject extends GraphicalElement
+public interface FlowObject extends GraphicalElement, NameSupport
{
/**
* Get the associated Process
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -35,7 +35,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public interface Gateway extends FlowObject, NameSupport, MultipleInFlowSupport
+public interface Gateway extends FlowObject, MultipleInFlowSupport
{
/**
* The GatewayType
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/IntermediateEvent.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/IntermediateEvent.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/IntermediateEvent.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -33,6 +33,6 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public interface IntermediateEvent extends Event, NameSupport, SingleInFlowSupport, SingleOutFlowSupport
+public interface IntermediateEvent extends Event, SingleInFlowSupport, SingleOutFlowSupport
{
}
\ No newline at end of file
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Process.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -27,7 +27,6 @@
import javax.management.ObjectName;
-import org.jboss.bpm.BPMException;
import org.jboss.bpm.runtime.Attachments;
/**
@@ -70,6 +69,17 @@
List<FlowObject> getFlowObjects();
/**
+ * Get a list of flow objects of a given type.
+ */
+ <T extends FlowObject> List<T> getFlowObjects(Class<T> clazz);
+
+ /**
+ * Get a flow object by name.
+ * @return null if not found
+ */
+ FlowObject getFlowObject(String name);
+
+ /**
* One or more Performers MAY be entered. The Performers attribute defines the resource that will be responsible for
* the Process. The Performers entry could be in the form of a specific individual, a group, an organization role or
* position, or an organization.
@@ -97,42 +107,26 @@
*/
List<OutputSet> getOutputSets();
- // Not Part of BPMN ========================================================================
-
/**
- * Make a deep copy of the process
+ * Get the list of associated {@link Message} objects.
+ * @return An empty list if there are none
*/
- Process copyProcess();
-
- /**
- * Get the possible runtime exception when the process was aborted.
- */
- RuntimeException getRuntimeException();
+ List<Message> getMessages();
/**
- * Get the start event
- * @throws BPMException if there are other than exactly one start event of type None
+ * Get an associated {@link Message} by name.
+ * @return null if not found
*/
- StartEvent getStartEvent();
+ Message getMessage(String msgName);
+
+ // Not Part of BPMN ========================================================================
/**
- * Get a start event by name
- * @return null if there is none
+ * Make a deep copy of the process
*/
- StartEvent getStartEvent(String name);
-
+ Process copyProcess();
+
/**
- * Get the set of end events
- */
- List<EndEvent> getEndEvents();
-
- /**
- * Get an end event by name
- * @return null if there is none
- */
- EndEvent getEndEvent(String name);
-
- /**
* Start the process
*/
ObjectName startProcess();
@@ -143,24 +137,6 @@
ObjectName startProcess(Attachments att);
/**
- * Find a flow object by name
- * @return null if not found
- */
- FlowObject getFlowObjectByName(String name);
-
- /**
- * Get the list of associated {@link Message} objects.
- * @return An empty list if there are none
- */
- List<Message> getMessages();
-
- /**
- * Get an associated {@link Message} by name.
- * @return null if not found
- */
- Message getMessageByName(String msgName);
-
- /**
* All Tokens that are generated at the Start Event for that Process must eventually arrive at an End Event.
* The Process will be in a running state until all Tokens are consumed.
* <p/>
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -76,19 +76,19 @@
ProcessBuilder addMessageFlow(String targetName);
/**
- * Add a {@link StartEvent}
+ * Add a {@link StartEvent} with a given name
*/
- ProcessBuilder addStartEvent();
+ EventBuilder addStartEvent(String name);
/**
* Add an {@link IntermediateEvent} with a given name
*/
- ProcessBuilder addEvent(String name);
+ EventBuilder addEvent(String name);
/**
* Add an {@link EndEvent} with a given name
*/
- ProcessBuilder addEndEvent(String name);
+ EventBuilder addEndEvent(String name);
/**
* Add a {@link Task} of {@link TaskType} NONE with a given name
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -34,17 +34,24 @@
/**
* Defines the types of supported Signals
*/
- public enum Type
+ public enum SignalType
{
- ENTER_START_EVENT, EXIT_START_EVENT, ENTER_EVENT, EXIT_EVENT, ENTER_END_EVENT, EXIT_END_EVENT, ENTER_GATEWAY, EXIT_GATEWAY, ENTER_PROCESS, EXIT_PROCESS, ENTER_SUB_PROCESS, EXIT_SUB_PROCESS, ENTER_TASK, EXIT_TASK, USER_SIGNAL
+ ENTER_START_EVENT, EXIT_START_EVENT, START_TRIGGER,
+ ENTER_EVENT, EXIT_EVENT, EVENT_TRIGGER,
+ ENTER_END_EVENT, EXIT_END_EVENT, END_TRIGGER,
+ ENTER_GATEWAY, EXIT_GATEWAY,
+ ENTER_PROCESS, EXIT_PROCESS,
+ ENTER_SUB_PROCESS, EXIT_SUB_PROCESS,
+ ENTER_TASK, EXIT_TASK, TASK_TRIGGER,
+ USER_SIGNAL
}
- private Type type;
+ private SignalType type;
private String message;
private String fromRef;
/** Create the signal for a given process */
- public Signal(String fromRef, Type type)
+ public Signal(String fromRef, SignalType type)
{
this.fromRef = fromRef;
this.type = type;
@@ -55,7 +62,7 @@
}
/** Create the signal for a given process */
- public Signal(String fromRef, Type type, String message)
+ public Signal(String fromRef, SignalType type, String message)
{
this(fromRef, type);
this.message = message;
@@ -66,7 +73,7 @@
return fromRef;
}
- public Type getType()
+ public SignalType getType()
{
return type;
}
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/runtime/FlowHandler.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/runtime/FlowHandler.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/runtime/FlowHandler.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -24,8 +24,8 @@
//$Id$
import org.jboss.bpm.client.ProcessEngine;
-import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.FlowObject;
+import org.jboss.bpm.model.SequenceFlow;
/**
* The {@link ProcessEngine} invokes the FlowHandler on an {@link HandlerSupport}
@@ -39,8 +39,8 @@
/**
* Execute the the FlowHandler.
* <p/>
- * The FlowHandler will add the active outgoing {@link ConnectingObject}s to
- * some {@link ConnectingObject} queue for the {@link ProcessEngine} to execute.
+ * The FlowHandler will add the active outgoing {@link SequenceFlow}s to
+ * the the {@link FlowScheduler} for the {@link ProcessEngine} to execute.
*/
void execute(FlowScheduler scheduler, Token token);
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -121,7 +121,7 @@
return Collections.unmodifiableList(signals);
}
- public List<Signal> getSignals(Signal.Type type)
+ public List<Signal> getSignals(Signal.SignalType type)
{
List<Signal> retSignals = new ArrayList<Signal>();
for (Signal sig : signals)
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -184,7 +184,7 @@
{
if (jaxb instanceof JAXBStartEvent)
{
- procBuilder.addStartEvent();
+ procBuilder.addStartEvent("Start");
JAXBStartEvent jaxbStart = (JAXBStartEvent)jaxb;
addOutFlow(procBuilder, jaxbStart.getOutFlow());
}
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -42,7 +42,7 @@
ProcessManager pm = ProcessManager.locateProcessManager();
Process proc = pm.createProcess(getResourceURL("include/proc-api10.xml"));
- ReceiveTask recTask = (ReceiveTask)proc.getFlowObjectByName("A");
+ ReceiveTask recTask = (ReceiveTask)proc.getFlowObject("A");
Message msg = recTask.getMessageRef();
assertEquals("FooMsg", msg.getName());
assertEquals("bar", msg.getPropertyValue("foo"));
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/message/ProcessMessageTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/message/ProcessMessageTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/message/ProcessMessageTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -48,7 +48,7 @@
public void testProcessMessage() throws Exception
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("End").addEndEvent("End");
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("End").addEndEvent("End");
MessageBuilder msgBuilder = procBuilder.addMessage("FooMsg");
msgBuilder.addProperty("foo", "bar");
Process expProc = procBuilder.getProcess();
@@ -60,14 +60,14 @@
dh.marshallProcess(expProc, strwr);
Process wasProc = dh.createProcess(strwr.toString(), false);
- Message msg = wasProc.getMessageByName("FooMsg");
+ Message msg = wasProc.getMessage("FooMsg");
assertEquals("bar", msg.getPropertyValue("foo"));
}
public void testReceiveTaskWithMessage() throws Exception
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("A");
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("A");
TaskBuilder taskBuilder = procBuilder.addTask("A", TaskType.Receive);
MessageBuilder msgBuilder = taskBuilder.addMessage("FooMsg");
msgBuilder.addProperty("foo", "bar");
@@ -81,7 +81,7 @@
dh.marshallProcess(expProc, strwr);
Process wasProc = dh.createProcess(strwr.toString(), false);
- ReceiveTask recTask = (ReceiveTask)wasProc.getFlowObjectByName("A");
+ ReceiveTask recTask = (ReceiveTask)wasProc.getFlowObject("A");
Message msg = recTask.getMessageRef();
assertEquals("FooMsg", msg.getName());
assertEquals("bar", msg.getPropertyValue("foo"));
@@ -90,7 +90,7 @@
public void testReceiveTaskWithMessageRef() throws Exception
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("A");
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("A");
MessageBuilder msgBuilder = procBuilder.addMessage("FooMsg");
msgBuilder.addProperty("foo", "bar");
TaskBuilder taskBuilder = procBuilder.addTask("A", TaskType.Receive);
@@ -105,7 +105,7 @@
dh.marshallProcess(expProc, strwr);
Process wasProc = dh.createProcess(strwr.toString(), false);
- ReceiveTask recTask = (ReceiveTask)wasProc.getFlowObjectByName("A");
+ ReceiveTask recTask = (ReceiveTask)wasProc.getFlowObject("A");
Message msg = recTask.getMessageRef();
assertEquals("FooMsg", msg.getName());
assertEquals("bar", msg.getPropertyValue("foo"));
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -84,7 +84,7 @@
private void adaptStartState(ProcessBuilder builder, JPDL32StartState jpdlStart)
{
- builder.addStartEvent();
+ builder.addStartEvent("Start");
adaptTransitions(builder, jpdlStart.getDescriptionOrTaskOrTransition());
}
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -157,7 +157,7 @@
ActivityType activityType = stpActivity.getActivityType();
if (activityType == ActivityType.EVENT_START_EMPTY)
{
- builder.addStartEvent();
+ builder.addStartEvent("Start");
adaptOutgoingEdges(builder, stpActivity);
}
else if (activityType == ActivityType.EVENT_END_EMPTY)
Modified: jbossbpm/spec/branches/tdiesler/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -53,7 +53,7 @@
{
if (xpdlEvent.getStartEvent() != null)
{
- builder.addStartEvent();
+ builder.addStartEvent("Start");
}
else if (xpdlEvent.getEndEvent() != null)
{
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -33,6 +33,7 @@
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.model.StartEvent;
import org.jboss.bpm.model.Process.Status;
+import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.model.internal.ProcessImpl;
import org.jboss.bpm.model.internal.RuntimeProcessImpl;
import org.jboss.bpm.model.internal.SequenceFlowImpl;
@@ -74,7 +75,7 @@
String procName = proc.getName();
SignalManager signalManager = getProcessEngine().getSignalManager();
- signalManager.throwSignal(procName, new Signal(procName, Signal.Type.ENTER_PROCESS));
+ signalManager.throwSignal(procName, new Signal(procName, SignalType.ENTER_PROCESS));
MutableFlowScheduler flowScheduler = rtProc.getFlowScheduler();
try
{
@@ -121,7 +122,7 @@
}
finally
{
- signalManager.throwSignal(procName, new Signal(procName, Signal.Type.EXIT_PROCESS));
+ signalManager.throwSignal(procName, new Signal(procName, Signal.SignalType.EXIT_PROCESS));
}
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -28,11 +28,15 @@
import javax.management.ObjectName;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.ProcessTimeoutException;
import org.jboss.bpm.client.DialectHandler;
import org.jboss.bpm.client.DialectRegistry;
import org.jboss.bpm.client.ExecutionManager;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.internal.ProcessImpl;
import org.jboss.bpm.model.Process.Status;
import org.jboss.bpm.runtime.Attachments;
@@ -44,6 +48,9 @@
*/
public class ProcessManagerImpl extends ProcessManager
{
+ // provide logging
+ private static final Log log = LogFactory.getLog(ProcessManagerImpl.class);
+
public void setDialectHandlers(Map<String, DialectHandler> dialectHandlers)
{
this.dialectHandlers = dialectHandlers;
@@ -70,7 +77,7 @@
public ObjectName startProcess(String name, Attachments att)
{
- Set<Process> procSet = findProcessByName(name, Status.Ready);
+ Set<Process> procSet = getProcesses(name, Status.Ready);
if (procSet.size() == 0)
throw new IllegalStateException("Cannot obtain process with name: " + name);
if (procSet.size() > 1)
@@ -91,4 +98,52 @@
return proc.getID();
}
+
+ @Override
+ public Status waitForEnd(ObjectName procID, long timeout)
+ {
+ ProcessImpl proc = (ProcessImpl)getProcessByID(procID);
+ Status status = proc.getStatus();
+
+ if (status == Status.None || status == Status.Ready)
+ throw new IllegalStateException("Cannot wait for process in state: " + status);
+
+ // Wait a little for the process to end
+ boolean forever = (timeout < 1);
+ long now = System.currentTimeMillis();
+ long until = now + timeout;
+ try
+ {
+ while (forever || now < until)
+ {
+ status = proc.getStatus();
+ if (status == Status.Cancelled || status == Status.Completed)
+ {
+ return status;
+ }
+ else if (status == Status.Aborted)
+ {
+ RuntimeException rte = proc.getRuntimeException();
+ if (rte == null)
+ return status;
+ else
+ throw rte;
+ }
+ Thread.sleep(100);
+ now = System.currentTimeMillis();
+ }
+ }
+ catch (InterruptedException ex)
+ {
+ log.warn(ex);
+ }
+ finally
+ {
+ // Remove the process
+ removeProcess(proc);
+ }
+
+ // Throw timeout exception if it took too long
+ throw new ProcessTimeoutException("Process timeout for: " + procID);
+ }
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -56,7 +56,6 @@
public abstract class ActivityImpl extends FlowObjectImpl implements Activity, MutablePropertySupport,
SingleInFlowSetterSupport, SingleOutFlowSetterSupport
{
- private String name;
private List<InputSet> inputSets = new ArrayList<InputSet>();
private List<OutputSet> outputSets = new ArrayList<OutputSet>();
private List<Expression> ioRules = new ArrayList<Expression>();
@@ -66,19 +65,9 @@
public ActivityImpl(String name)
{
- this.name = name;
+ super(name);
}
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
public int getStartQuantity()
{
throw new NotImplementedException();
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -51,20 +51,14 @@
// provide logging
private static final Log log = LogFactory.getLog(EndEventImpl.class);
- private String name;
private Set<EventDetail> result;
private ConnectingObject inFlow;
public EndEventImpl(String name)
{
- this.name = name;
+ super(name);
}
- public String getName()
- {
- return name;
- }
-
public ConnectingObject getInFlow()
{
return inFlow;
@@ -108,12 +102,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.Type.ENTER_END_EVENT);
+ return new Signal(getName(), Signal.SignalType.ENTER_END_EVENT);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.Type.EXIT_END_EVENT);
+ return new Signal(getName(), Signal.SignalType.EXIT_END_EVENT);
}
};
}
Added: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventBuilderImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventBuilderImpl.java (rev 0)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventBuilderImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model.internal;
+
+//$Id$
+
+import org.jboss.bpm.NotImplementedException;
+import org.jboss.bpm.model.Event;
+import org.jboss.bpm.model.EventBuilder;
+import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.StartEvent;
+import org.jboss.bpm.model.Signal.SignalType;
+
+/**
+ * The EventBuilder can be used to build an {@link Event} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class EventBuilderImpl extends ProcessBuilderImpl implements EventBuilder
+{
+ public EventBuilderImpl(ProcessImpl proc, FlowObjectImpl flowObject)
+ {
+ super(proc, flowObject);
+ }
+
+ public EventBuilder addSignalTrigger(String fromRef, SignalType signalType, String message)
+ {
+ EventImpl event = getEvent();
+ if (event instanceof StartEvent)
+ {
+ StartEventImpl start = (StartEventImpl)event;
+ Signal signal = new Signal(fromRef, signalType, message);
+ start.addTrigger(new SignalEventDetailImpl(signal));
+ }
+ else
+ {
+ throw new NotImplementedException("Trigger on: " + event);
+ }
+ return this;
+ }
+
+ private EventImpl getEvent()
+ {
+ if (flowObject instanceof Event == false)
+ throw new IllegalStateException("Last added flow object is not an Event: " + flowObject);
+ return (EventImpl)flowObject;
+ }
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventBuilderImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -36,5 +36,8 @@
@SuppressWarnings("serial")
public abstract class EventImpl extends FlowObjectImpl implements Event
{
-
+ public EventImpl(String name)
+ {
+ super(name);
+ }
}
\ No newline at end of file
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ExclusiveGatewayImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -26,10 +26,9 @@
import java.util.HashMap;
import java.util.Map;
-import org.jboss.bpm.NotImplementedException;
+import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.ExclusiveGateway;
import org.jboss.bpm.model.Expression;
-import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.Gate;
import org.jboss.bpm.model.Gateway;
import org.jboss.bpm.model.SequenceFlow;
@@ -65,9 +64,6 @@
@Override
public void addInFlow(ConnectingObject inFlow)
{
- if (getInFlows().size() > 0)
- throw new NotImplementedException("ExclusiveGateway with multiple inFlows");
-
super.addInFlow(inFlow);
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/FlowObjectImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/FlowObjectImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/FlowObjectImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -50,16 +50,32 @@
@SuppressWarnings("serial")
public abstract class FlowObjectImpl extends GraphicalElementImpl implements FlowObject, HandlerSetterSupport, Executable
{
+ private String name;
private Process proc;
private FlowHandler flowHandler;
private SignalHandler signalHandler;
private ExecutionHandler executionHandler;
+ public FlowObjectImpl(String name)
+ {
+ this.name = name;
+ }
+
public Process getProcess()
{
return proc;
}
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
public ExecutionHandler getExecutionHandler()
{
return executionHandler;
@@ -171,7 +187,7 @@
if (flow != null)
{
String name = flow.getTargetName();
- FlowObject target = proc.getFlowObjectByName(name);
+ FlowObject target = proc.getFlowObject(name);
if (target == null)
throw new InvalidProcessException("Cannot find target for out flow: " + name);
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayBuilderImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayBuilderImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayBuilderImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -68,7 +68,7 @@
private GatewayImpl getGateway()
{
if (flowObject instanceof Gateway == false)
- throw new IllegalStateException("Last added flow object is not a Gateway");
+ throw new IllegalStateException("Last added flow object is not a Gateway: " + flowObject);
return (GatewayImpl)flowObject;
}
}
\ No newline at end of file
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -25,28 +25,23 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.NotImplementedException;
import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.Gate;
import org.jboss.bpm.model.Gateway;
-import org.jboss.bpm.model.GraphicalElement;
-import org.jboss.bpm.model.NameSupport;
import org.jboss.bpm.model.SequenceFlow;
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.model.SequenceFlow.ConditionType;
import org.jboss.bpm.runtime.ExecutionHandler;
import org.jboss.bpm.runtime.FlowHandler;
-import org.jboss.bpm.runtime.FlowScheduler;
import org.jboss.bpm.runtime.SignalHandler;
import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.runtime.internal.TokenImpl;
/**
* Gateways are modelling elements that are used to control how Sequence Flow interact as they converge and diverge
@@ -61,24 +56,14 @@
// provide logging
private static final Log log = LogFactory.getLog(GatewayImpl.class);
- private String name;
protected List<ConnectingObject> inFlows = new ArrayList<ConnectingObject>();
private Map<String, Gate> gates = new LinkedHashMap<String, Gate>();
- // Sync management
- private Set<ConnectingObject> outstandingFlows;
- private Set<Token> mergeTokens;
-
public GatewayImpl(String name)
{
- this.name = name;
+ super(name);
}
- public String getName()
- {
- return name;
- }
-
public List<Gate> getGates()
{
return Collections.unmodifiableList(new ArrayList<Gate>(gates.values()));
@@ -124,28 +109,7 @@
@Override
public void execute(Token token)
{
- // Multiple incomingFlows must be synchronized
- if (getInFlows().size() > 1)
- {
- if (outstandingFlows == null)
- {
- outstandingFlows = new HashSet<ConnectingObject>(inFlows);
- mergeTokens = new HashSet<Token>();
- }
-
- ConnectingObject flow = token.getFlow();
- outstandingFlows.remove(flow);
-
- if (outstandingFlows.size() > 0)
- mergeTokens.add(token);
- }
-
- // Call the execution handler with the InputSet
- ExecutionHandler handler = getExecutionHandler();
- if (handler != null)
- {
- handler.execute(token);
- }
+ throw new NotImplementedException("Overwrite to implemente gateway behaviour");
}
public ExecutionHandler getExecutionHandler()
@@ -166,58 +130,9 @@
public FlowHandler getFlowHandler()
{
- FlowHandler handler = super.getFlowHandler();
- if (handler == null && gates.size() == 1)
- {
- Gate onlyGate = gates.values().iterator().next();
- final SequenceFlow outFlow = onlyGate.getOutgoingSequenceFlow();
- handler = new FlowHandler()
- {
- public void execute(FlowScheduler scheduler, Token token)
- {
- if (getInFlows().size() > 1)
- {
- if (outstandingFlows.size() == 0)
- {
- Token mergedToken = mergeTokens(token);
- scheduler.scheduleTuple(outFlow, mergedToken);
- outstandingFlows = null;
- mergeTokens = null;
- }
- else
- {
- // Log the list of outstanding flows
- Set<String> sourceNames = new HashSet<String>();
- for (ConnectingObject flow : outstandingFlows)
- {
- GraphicalElement sourceRef = flow.getSourceRef();
- if (sourceRef instanceof NameSupport)
- sourceNames.add(((NameSupport)sourceRef).getName());
- else
- sourceNames.add(sourceRef.getID().getCanonicalName());
- }
- log.debug("Waiting for " + outstandingFlows + " in gateway: " + sourceNames);
- }
- }
- else
- {
- scheduler.scheduleTuple(outFlow, token);
- }
- }
- };
- }
- return handler;
+ throw new NotImplementedException("Overwrite to implemente gateway behaviour");
}
- private Token mergeTokens(Token token)
- {
- TokenImpl mergedToken = new TokenImpl(null);
- for (Token auxToken : mergeTokens)
- mergedToken.mergeToken(auxToken);
-
- return mergedToken;
- }
-
public SignalHandler getSignalHandler()
{
SignalHandler handler = super.getSignalHandler();
@@ -227,12 +142,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.Type.ENTER_GATEWAY);
+ return new Signal(getName(), Signal.SignalType.ENTER_GATEWAY);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.Type.EXIT_GATEWAY);
+ return new Signal(getName(), Signal.SignalType.EXIT_GATEWAY);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -48,20 +48,14 @@
// provide logging
private static final Log log = LogFactory.getLog(IntermediateEventImpl.class);
- private String name;
private ConnectingObject inFlow;
private ConnectingObject outFlow;
public IntermediateEventImpl(String name)
{
- this.name = name;
+ super(name);
}
- public String getName()
- {
- return name;
- }
-
public ConnectingObject getInFlow()
{
return inFlow;
@@ -123,12 +117,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.Type.ENTER_EVENT);
+ return new Signal(getName(), Signal.SignalType.ENTER_EVENT);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.Type.EXIT_EVENT);
+ return new Signal(getName(), Signal.SignalType.EXIT_EVENT);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ParallelGatewayImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -23,12 +23,22 @@
//$Id$
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.Gate;
+import org.jboss.bpm.model.GraphicalElement;
+import org.jboss.bpm.model.NameSupport;
import org.jboss.bpm.model.ParallelGateway;
import org.jboss.bpm.model.SequenceFlow;
+import org.jboss.bpm.runtime.ExecutionHandler;
import org.jboss.bpm.runtime.FlowHandler;
import org.jboss.bpm.runtime.FlowScheduler;
import org.jboss.bpm.runtime.Token;
+import org.jboss.bpm.runtime.internal.TokenImpl;
/**
@@ -40,6 +50,13 @@
@SuppressWarnings("serial")
public class ParallelGatewayImpl extends GatewayImpl implements ParallelGateway
{
+ // provide logging
+ private static final Log log = LogFactory.getLog(ParallelGatewayImpl.class);
+
+ // Sync management
+ private Set<ConnectingObject> outstandingFlows;
+ private Set<Token> mergeTokens;
+
public ParallelGatewayImpl(String name)
{
super(name);
@@ -50,18 +67,81 @@
return GatewayType.Parallel;
}
- /**
- * The default FlowHandler adds all out flows to the queue
- */
+ @Override
+ public void execute(Token token)
+ {
+ // Multiple incomingFlows must be synchronized
+ if (getInFlows().size() > 1)
+ {
+ if (outstandingFlows == null)
+ {
+ outstandingFlows = new HashSet<ConnectingObject>(inFlows);
+ mergeTokens = new HashSet<Token>();
+ }
+
+ ConnectingObject flow = token.getFlow();
+ outstandingFlows.remove(flow);
+
+ if (outstandingFlows.size() > 0)
+ mergeTokens.add(token);
+ }
+
+ // Call the execution handler with the InputSet
+ ExecutionHandler handler = getExecutionHandler();
+ if (handler != null)
+ {
+ handler.execute(token);
+ }
+ }
+
public FlowHandler getFlowHandler()
{
FlowHandler handler = super.getFlowHandler();
- if (handler == null)
+ if (handler == null && getGates().size() == 1)
{
+ Gate onlyGate = getGates().iterator().next();
+ final SequenceFlow outFlow = onlyGate.getOutgoingSequenceFlow();
handler = new FlowHandler()
{
public void execute(FlowScheduler scheduler, Token token)
{
+ if (getInFlows().size() > 1)
+ {
+ if (outstandingFlows.size() == 0)
+ {
+ Token mergedToken = mergeTokens(token);
+ scheduler.scheduleTuple(outFlow, mergedToken);
+ outstandingFlows = null;
+ mergeTokens = null;
+ }
+ else
+ {
+ // Log the list of outstanding flows
+ Set<String> sourceNames = new HashSet<String>();
+ for (ConnectingObject flow : outstandingFlows)
+ {
+ GraphicalElement sourceRef = flow.getSourceRef();
+ if (sourceRef instanceof NameSupport)
+ sourceNames.add(((NameSupport)sourceRef).getName());
+ else
+ sourceNames.add(sourceRef.getID().getCanonicalName());
+ }
+ log.debug("Waiting for " + outstandingFlows + " in gateway: " + sourceNames);
+ }
+ }
+ else
+ {
+ scheduler.scheduleTuple(outFlow, token);
+ }
+ }
+ };
+ }
+ else if (handler == null && getGates().size() > 1)
+ {
+ handler = new FlowHandler()
+ {
+ public void execute(FlowScheduler scheduler, Token token)
+ {
for(Gate gate : getGates())
{
SequenceFlow outFlow = gate.getOutgoingSequenceFlow();
@@ -73,6 +153,15 @@
return handler;
}
+ private Token mergeTokens(Token token)
+ {
+ TokenImpl mergedToken = new TokenImpl(null);
+ for (Token auxToken : mergeTokens)
+ mergedToken.mergeToken(auxToken);
+
+ return mergedToken;
+ }
+
public String toString()
{
return "ParallelGateway[" + getName() + "]";
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -24,6 +24,7 @@
//$Id$
import org.jboss.bpm.NotImplementedException;
+import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.FlowObject;
import org.jboss.bpm.model.Gateway;
import org.jboss.bpm.model.GatewayBuilder;
@@ -136,26 +137,26 @@
return this;
}
- public ProcessBuilder addStartEvent()
+ public EventBuilder addStartEvent(String name)
{
- flowObject = addFlowObject(new StartEventImpl());
- return this;
+ flowObject = addFlowObject(new StartEventImpl(name));
+ return new EventBuilderImpl(proc, flowObject);
}
- public ProcessBuilder addEvent(String name)
+ public EventBuilder addEvent(String name)
{
- flowObject = (FlowObjectImpl)proc.getFlowObjectByName(name);
+ flowObject = (FlowObjectImpl)proc.getFlowObject(name);
if (flowObject == null)
flowObject = addFlowObject(new IntermediateEventImpl(name));
- return this;
+ return new EventBuilderImpl(proc, flowObject);
}
- public ProcessBuilder addEndEvent(String name)
+ public EventBuilder addEndEvent(String name)
{
- flowObject = (FlowObjectImpl)proc.getFlowObjectByName(name);
+ flowObject = (FlowObjectImpl)proc.getFlowObject(name);
if (flowObject == null)
flowObject = addFlowObject(new EndEventImpl(name));
- return this;
+ return new EventBuilderImpl(proc, flowObject);
}
public TaskBuilder addTask(String name)
@@ -165,7 +166,7 @@
public TaskBuilder addTask(String name, TaskType type)
{
- flowObject = (FlowObjectImpl)proc.getFlowObjectByName(name);
+ flowObject = (FlowObjectImpl)proc.getFlowObject(name);
if (flowObject == null)
{
if (type == TaskType.None || type == null)
@@ -191,7 +192,7 @@
public GatewayBuilder addGateway(String name, GatewayType type)
{
- flowObject = (FlowObjectImpl)proc.getFlowObjectByName(name);
+ flowObject = (FlowObjectImpl)proc.getFlowObject(name);
if (flowObject == null)
{
if (GatewayType.Exclusive == type)
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -180,7 +180,7 @@
public StartEvent getStartEvent(String name)
{
- FlowObject fo = getFlowObjectByName(name);
+ FlowObject fo = getFlowObject(name);
if (fo instanceof StartEvent == false)
throw new IllegalArgumentException("Is not a start event: " + fo);
@@ -202,7 +202,7 @@
public EndEvent getEndEvent(String name)
{
- FlowObject fo = getFlowObjectByName(name);
+ FlowObject fo = getFlowObject(name);
if (fo instanceof EndEvent == false)
throw new IllegalArgumentException("Is not an end event: " + fo);
@@ -253,7 +253,7 @@
throw new IllegalStateException("Cannot start process in state: " + getStatus());
// Register the process if needed
- if (pm.findProcessByName(getName(), null).size() == 0)
+ if (pm.getProcesses(getName(), null).size() == 0)
{
pm.registerProcess(this);
}
@@ -273,7 +273,7 @@
pm.waitForEnd(getID(), timeout);
}
- public FlowObject getFlowObjectByName(String name)
+ public FlowObject getFlowObject(String name)
{
if (name == null)
throw new IllegalArgumentException("Cannot find flow object with name: null");
@@ -294,6 +294,18 @@
return flowObject;
}
+ @SuppressWarnings("unchecked")
+ public <T extends FlowObject> List<T> getFlowObjects(Class<T> clazz)
+ {
+ List<T> retFlowObjects = new ArrayList<T>();
+ for (FlowObject fo : flowObjects)
+ {
+ if (clazz.isAssignableFrom(fo.getClass()))
+ retFlowObjects.add((T)fo);
+ }
+ return retFlowObjects;
+ }
+
public Status getStatus()
{
return status;
@@ -311,13 +323,13 @@
public void addMessage(Message msg)
{
- if (getMessageByName(msg.getName()) != null)
+ if (getMessage(msg.getName()) != null)
throw new InvalidProcessException("Duplicate message: " + msg);
messages.add(msg);
}
- public Message getMessageByName(String msgName)
+ public Message getMessage(String msgName)
{
for (Message msg : messages)
{
@@ -342,10 +354,10 @@
this.name = "AnonymousProcess#" + pm.getProcesses().size();
}
- if (getStartEvent() == null)
+ if (getFlowObjects(StartEvent.class).size() == 0)
throw new InvalidProcessException("Process does not have a start event");
- if (getEndEvents().size() == 0)
+ if (getFlowObjects(EndEvent.class).size() == 0)
throw new InvalidProcessException("Process does not have end events");
// Set the associated process
Added: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SignalEventDetailImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SignalEventDetailImpl.java (rev 0)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SignalEventDetailImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model.internal;
+
+//$Id$
+
+import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.SignalEventDetail;
+
+/**
+ * The Signal event detail
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@SuppressWarnings("serial")
+public class SignalEventDetailImpl extends SupportingElementImpl implements SignalEventDetail
+{
+ private Signal signal;
+
+ public SignalEventDetailImpl(Signal signal)
+ {
+ this.signal = signal;
+ }
+
+ public EventDetailType getEventDetailType()
+ {
+ return EventDetailType.Signal;
+ }
+
+ public Signal getSignalRef()
+ {
+ return signal;
+ }
+}
Property changes on: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SignalEventDetailImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -56,11 +56,21 @@
private ConnectingObject outFlow;
private List<EventDetail> triggers = new ArrayList<EventDetail>();
+ public StartEventImpl(String name)
+ {
+ super(name);
+ }
+
public List<EventDetail> getTrigger()
{
return Collections.unmodifiableList(triggers);
}
+ public void addTrigger(EventDetail eventDetail)
+ {
+ triggers.add(eventDetail);
+ }
+
public ConnectingObject getOutFlow()
{
return outFlow;
@@ -112,12 +122,12 @@
{
public Signal getEnterSignal()
{
- return new Signal("Start", Signal.Type.ENTER_START_EVENT);
+ return new Signal("Start", Signal.SignalType.ENTER_START_EVENT);
}
public Signal getExitSignal()
{
- return new Signal("Start", Signal.Type.EXIT_START_EVENT);
+ return new Signal("Start", Signal.SignalType.EXIT_START_EVENT);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -55,12 +55,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.Type.ENTER_SUB_PROCESS);
+ return new Signal(getName(), Signal.SignalType.ENTER_SUB_PROCESS);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.Type.EXIT_SUB_PROCESS);
+ return new Signal(getName(), Signal.SignalType.EXIT_SUB_PROCESS);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -63,12 +63,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.Type.ENTER_TASK);
+ return new Signal(getName(), Signal.SignalType.ENTER_TASK);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.Type.EXIT_TASK);
+ return new Signal(getName(), Signal.SignalType.EXIT_TASK);
}
};
}
@@ -83,7 +83,7 @@
protected void initializeMessageRef(Process proc, Message msg)
{
String msgName = msg.getName();
- MessageImpl procMsg = (MessageImpl)proc.getMessageByName(msgName);
+ MessageImpl procMsg = (MessageImpl)proc.getMessage(msgName);
if (procMsg != null)
{
MessageImpl msgImpl = (MessageImpl)msg;
Modified: jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -98,7 +98,7 @@
procBuilder.addProcess(PROCESS_NAME);
// Add Start Event
- procBuilder.addStartEvent().addSequenceFlow(TASK_RECEIVE_REQUEST);
+ procBuilder.addStartEvent("Start").addSequenceFlow(TASK_RECEIVE_REQUEST);
// Build the ReceiveReqTask
TaskBuilder taskBuilder = procBuilder.addTask(TASK_RECEIVE_REQUEST, TaskType.Receive);
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -24,6 +24,12 @@
// $Id$
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.Gateway.GatewayType;
+import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -46,6 +52,20 @@
public void testGateA() throws Exception
{
- System.out.println("FIXME: ExclusiveMergeTest");
+ Process proc = getProcess();
+ assertNotNull(proc);
}
+
+ private Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
+ eventBuilder.addSignalTrigger(getName(), SignalType.START_TRIGGER, "A").addSequenceFlow("Merge");
+ eventBuilder = procBuilder.addStartEvent("StartB");
+ eventBuilder.addSignalTrigger(getName(), SignalType.START_TRIGGER, "B").addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", GatewayType.Exclusive);
+ procBuilder.addSequenceFlow("End").addEndEvent("End");
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -62,7 +62,7 @@
proc.startProcess(att);
proc.waitForEnd();
- List<Signal> endSignals = getSignals(Signal.Type.EXIT_END_EVENT);
+ List<Signal> endSignals = getSignals(Signal.SignalType.EXIT_END_EVENT);
assertEquals(1, endSignals.size());
assertEquals("EndA", endSignals.get(0).getFromRef());
}
@@ -76,7 +76,7 @@
proc.startProcess(att);
proc.waitForEnd();
- List<Signal> endSignals = getSignals(Signal.Type.EXIT_END_EVENT);
+ List<Signal> endSignals = getSignals(Signal.SignalType.EXIT_END_EVENT);
assertEquals(1, endSignals.size());
assertEquals("EndB", endSignals.get(0).getFromRef());
}
@@ -102,7 +102,7 @@
private Process getProcess()
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("Split");
+ 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");
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessIntegrityTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessIntegrityTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessIntegrityTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -23,8 +23,6 @@
// $Id$
-import java.util.List;
-
import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.model.EndEvent;
import org.jboss.bpm.model.FlowObject;
@@ -47,19 +45,19 @@
{
// Create a Process through the ProcessBuilder
ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = builder.addProcess(null).addStartEvent().addSequenceFlow("taskA").addTask("taskA").
- addSequenceFlow("end").addEndEvent("end").getProcess();
+ Process proc = builder.addProcess(null).addStartEvent("Start").addSequenceFlow("taskA").addTask("taskA").
+ addSequenceFlow("End").addEndEvent("End").getProcess();
assertEquals("AnonymousProcess#0", proc.getName());
- StartEvent start = proc.getStartEvent();
+ StartEvent start = (StartEvent)proc.getFlowObject("Start");
assertNotNull("Start expected", start);
- FlowObject nfo = proc.getFlowObjectByName("taskA");
+ FlowObject nfo = proc.getFlowObject("taskA");
assertNotNull("FlowObject expected", nfo);
assertTrue("Task expected", nfo instanceof Task);
- List<EndEvent> ends = proc.getEndEvents();
- assertEquals(1, ends.size());
+ EndEvent end = (EndEvent)proc.getFlowObject("End");
+ assertNotNull(end);
}
public void testNoStartState() throws Exception
@@ -83,7 +81,7 @@
{
// Create a Process through the ProcessBuilder
ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- builder.addProcess(null).addStartEvent().addSequenceFlow("taskA").addTask("taskA").addSequenceFlow("end").
+ builder.addProcess(null).addStartEvent("Start").addSequenceFlow("taskA").addTask("taskA").addSequenceFlow("end").
addTask("end").getProcess();
fail("InvalidProcessException expected");
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -65,7 +65,7 @@
private Process getProcess()
{
ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = builder.addProcess(getName()).addStartEvent().addSequenceFlow("taskA").
+ Process proc = builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("taskA").
addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
return proc;
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -75,7 +75,7 @@
private Process getProcess()
{
ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = builder.addProcess(getName()).addStartEvent().addSequenceFlow("taskA").
+ Process proc = builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("taskA").
addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
return proc;
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskMessageTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskMessageTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskMessageTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -40,7 +40,7 @@
public void testReceiveTaskWithNoMessage() throws Exception
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("A");
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("A");
procBuilder.addTask("A", TaskType.Receive).addSequenceFlow("End").addEndEvent("End");
try
{
@@ -56,7 +56,7 @@
public void testSendTaskWithNoMessage() throws Exception
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("A");
+ procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("A");
procBuilder.addTask("A", TaskType.Send).addSequenceFlow("End").addEndEvent("End");
try
{
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -72,7 +72,7 @@
{
// Create a Process through the ProcessBuilder
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("gateway").addGateway("gateway", GatewayType.Parallel).
+ Process proc = procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("gateway").addGateway("gateway", GatewayType.Parallel).
addSequenceFlow("endA").addSequenceFlow("endB").addEndEvent("endA").addEndEvent("endB").getProcess();
runProcess(proc);
@@ -86,12 +86,12 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(5).getType());
+ assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(5).getType());
assertEquals("endA", signals.get(5).getFromRef());
- assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(6).getType());
+ assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(6).getType());
- assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(7).getType());
+ assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(7).getType());
assertEquals("endB", signals.get(7).getFromRef());
- assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(8).getType());
+ assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(8).getType());
}
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -72,7 +72,7 @@
{
// Create a Process through the ProcessBuilder
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("stateA").addTask("stateA").
+ Process proc = procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("stateA").addTask("stateA").
addSequenceFlow("end").addEndEvent("end").getProcess();
runProcess(proc);
@@ -86,13 +86,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.Type.ENTER_PROCESS, signals.get(0).getType());
- assertEquals(Signal.Type.ENTER_START_EVENT, signals.get(1).getType());
- assertEquals(Signal.Type.EXIT_START_EVENT, signals.get(2).getType());
- assertEquals(Signal.Type.ENTER_TASK, signals.get(3).getType());
- assertEquals(Signal.Type.EXIT_TASK, signals.get(4).getType());
- assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(5).getType());
- assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(6).getType());
- assertEquals(Signal.Type.EXIT_PROCESS, signals.get(7).getType());
+ assertEquals(Signal.SignalType.ENTER_PROCESS, signals.get(0).getType());
+ assertEquals(Signal.SignalType.ENTER_START_EVENT, signals.get(1).getType());
+ assertEquals(Signal.SignalType.EXIT_START_EVENT, signals.get(2).getType());
+ assertEquals(Signal.SignalType.ENTER_TASK, signals.get(3).getType());
+ assertEquals(Signal.SignalType.EXIT_TASK, signals.get(4).getType());
+ assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(5).getType());
+ assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(6).getType());
+ assertEquals(Signal.SignalType.EXIT_PROCESS, signals.get(7).getType());
}
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-07 06:40:15 UTC (rev 1840)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-07 06:42:26 UTC (rev 1841)
@@ -72,7 +72,7 @@
{
// Create a Process through the ProcessBuilder
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = procBuilder.addProcess(getName()).addStartEvent().addSequenceFlow("stateA").addTask("stateA").
+ Process proc = procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("stateA").addTask("stateA").
addExecutionHandler(TaskA.class).addSequenceFlow("end").addEndEvent("end").getProcess();
runProcess(proc);
@@ -86,13 +86,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.Type.ENTER_PROCESS, signals.get(0).getType());
- assertEquals(Signal.Type.ENTER_START_EVENT, signals.get(1).getType());
- assertEquals(Signal.Type.EXIT_START_EVENT, signals.get(2).getType());
- assertEquals(Signal.Type.ENTER_TASK, signals.get(3).getType());
- assertEquals(Signal.Type.EXIT_TASK, signals.get(4).getType());
- assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(5).getType());
- assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(6).getType());
- assertEquals(Signal.Type.EXIT_PROCESS, signals.get(7).getType());
+ assertEquals(Signal.SignalType.ENTER_PROCESS, signals.get(0).getType());
+ assertEquals(Signal.SignalType.ENTER_START_EVENT, signals.get(1).getType());
+ assertEquals(Signal.SignalType.EXIT_START_EVENT, signals.get(2).getType());
+ assertEquals(Signal.SignalType.ENTER_TASK, signals.get(3).getType());
+ assertEquals(Signal.SignalType.EXIT_TASK, signals.get(4).getType());
+ assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(5).getType());
+ assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(6).getType());
+ assertEquals(Signal.SignalType.EXIT_PROCESS, signals.get(7).getType());
}
}
17 years, 8 months
JBoss JBPM SVN: r1840 - jbossbpm/spec/branches.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-08-07 02:40:15 -0400 (Thu, 07 Aug 2008)
New Revision: 1840
Added:
jbossbpm/spec/branches/tdiesler/
Log:
recreate userbranch
Copied: jbossbpm/spec/branches/tdiesler (from rev 1839, jbossbpm/spec/trunk)
17 years, 8 months
JBoss JBPM SVN: r1839 - jbossbpm/spec/branches.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-08-07 02:39:51 -0400 (Thu, 07 Aug 2008)
New Revision: 1839
Removed:
jbossbpm/spec/branches/tdiesler/
Log:
recreate userbranch
17 years, 8 months
JBoss JBPM SVN: r1838 - in jbpm3/trunk: modules/console and 3 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-06 23:27:10 -0400 (Wed, 06 Aug 2008)
New Revision: 1838
Modified:
jbpm3/trunk/modules/console/pom.xml
jbpm3/trunk/modules/jbpm4jsf/pom.xml
jbpm3/trunk/modules/jpdl/core/pom.xml
jbpm3/trunk/modules/jpdl/identity/pom.xml
jbpm3/trunk/pom.xml
Log:
final dependency scope modifications for web console
Modified: jbpm3/trunk/modules/console/pom.xml
===================================================================
--- jbpm3/trunk/modules/console/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
+++ jbpm3/trunk/modules/console/pom.xml 2008-08-07 03:27:10 UTC (rev 1838)
@@ -38,6 +38,52 @@
<groupId>org.jboss.jbpm</groupId>
<artifactId>jbpm-jbpm4jsf</artifactId>
<version>${version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>jackrabbit-core</artifactId>
+ <groupId>org.apache.jackrabbit</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>hibernate</artifactId>
+ <groupId>org.hibernate</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>bsh</artifactId>
+ <groupId>bsh</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>dom4j</artifactId>
+ <groupId>dom4j</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>junit</artifactId>
+ <groupId>junit</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>ant</artifactId>
+ <groupId>org.apache.ant</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jsf-impl</artifactId>
+ <groupId>javax.faces</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jcr</artifactId>
+ <groupId>javax.jcr</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>mail</artifactId>
+ <groupId>javax.mail</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>el-api</artifactId>
+ <groupId>javax.el</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jsf-api</artifactId>
+ <groupId>javax.faces</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
Modified: jbpm3/trunk/modules/jbpm4jsf/pom.xml
===================================================================
--- jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
+++ jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-07 03:27:10 UTC (rev 1838)
@@ -44,35 +44,25 @@
<dependency>
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
- <scope>provided</scope>
</dependency>
<!-- Provided Dependencies -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jpdl/core/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/core/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
+++ jbpm3/trunk/modules/jpdl/core/pom.xml 2008-08-07 03:27:10 UTC (rev 1838)
@@ -40,59 +40,43 @@
<dependency>
<groupId>bsh</groupId>
<artifactId>bsh</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- </dependency>
- <dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
- <scope>provided</scope>
</dependency>
-
- <!-- Test Dependencies -->
<dependency>
<groupId>dumbster</groupId>
<artifactId>dumbster</artifactId>
@@ -118,6 +102,8 @@
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
+
+ <!-- Test Dependencies -->
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jpdl/identity/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/identity/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
+++ jbpm3/trunk/modules/jpdl/identity/pom.xml 2008-08-07 03:27:10 UTC (rev 1838)
@@ -59,26 +59,6 @@
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>bsh</groupId>
- <artifactId>bsh</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
+++ jbpm3/trunk/pom.xml 2008-08-07 03:27:10 UTC (rev 1838)
@@ -69,6 +69,7 @@
<jaxen.version>1.1.1</jaxen.version>
<jboss.gravel.version>1.0.0.GA</jboss.gravel.version>
<jboss.seam.version>2.0.2.GA</jboss.seam.version>
+ <junit.version>3.8.1</junit.version>
<oscache.version>2.4</oscache.version>
<poi.version>3.0.2-FINAL</poi.version>
<richfaces.ui.version>3.2.1.GA</richfaces.ui.version>
@@ -102,6 +103,7 @@
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
<version>${facelets.version}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
@@ -183,58 +185,75 @@
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>${javax.ejb.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>${javax.el.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${javax.faces.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${javax.faces.version}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>${javax.jcr.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>${javax.jms.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jws</groupId>
<artifactId>jsr181-api</artifactId>
<version>${javax.jws.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>${javax.mail.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>${javax.persistence.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${javax.servlet.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${javax.jaxb.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>opensymphony</groupId>
<artifactId>oscache</artifactId>
<version>${oscache.version}</version>
@@ -243,6 +262,7 @@
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>${apache.ant.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cactus</groupId>
17 years, 8 months
JBoss JBPM SVN: r1837 - in jbpm3/trunk/modules: enterprise and 3 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-06 15:49:08 -0400 (Wed, 06 Aug 2008)
New Revision: 1837
Modified:
jbpm3/trunk/modules/console/pom.xml
jbpm3/trunk/modules/enterprise/pom.xml
jbpm3/trunk/modules/jbpm4jsf/pom.xml
jbpm3/trunk/modules/jpdl/simulation/pom.xml
jbpm3/trunk/modules/jpdl/ws/pom.xml
Log:
some more dependency scope modifications: JBPM-1446
Modified: jbpm3/trunk/modules/console/pom.xml
===================================================================
--- jbpm3/trunk/modules/console/pom.xml 2008-08-06 13:06:04 UTC (rev 1836)
+++ jbpm3/trunk/modules/console/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
@@ -48,6 +48,11 @@
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/enterprise/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/pom.xml 2008-08-06 13:06:04 UTC (rev 1836)
+++ jbpm3/trunk/modules/enterprise/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
@@ -64,6 +64,16 @@
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jbpm4jsf/pom.xml
===================================================================
--- jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-06 13:06:04 UTC (rev 1836)
+++ jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
@@ -68,6 +68,11 @@
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jpdl/simulation/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/simulation/pom.xml 2008-08-06 13:06:04 UTC (rev 1836)
+++ jbpm3/trunk/modules/jpdl/simulation/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
@@ -45,6 +45,19 @@
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
</dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jpdl/ws/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/ws/pom.xml 2008-08-06 13:06:04 UTC (rev 1836)
+++ jbpm3/trunk/modules/jpdl/ws/pom.xml 2008-08-06 19:49:08 UTC (rev 1837)
@@ -31,14 +31,6 @@
<dependencies>
<!-- jBPM Dependencies -->
<dependency>
- <groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm-jpdl-identity</artifactId>
- <version>${version}</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- Provided Dependencies -->
- <dependency>
<groupId>javax.jws</groupId>
<artifactId>jsr181-api</artifactId>
<scope>provided</scope>
@@ -48,6 +40,18 @@
<artifactId>jaxb-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.jbpm</groupId>
+ <artifactId>jbpm-jpdl-core</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Provided Dependencies -->
</dependencies>
<!-- Plugins -->
17 years, 8 months
JBoss JBPM SVN: r1836 - in jbossbpm/spec/trunk/modules: api/src/main/java/org/jboss/bpm/runtime and 13 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-08-06 09:06:04 -0400 (Wed, 06 Aug 2008)
New Revision: 1836
Added:
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneEventDetail.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventDetailImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/NoneEventDetailImpl.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn_diagram
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn_diagram
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn_diagram
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn_diagram
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn_diagram
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
Removed:
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java
Modified:
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EventDetail.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
jbossbpm/spec/trunk/modules/testsuite/.project
Log:
Add CTS Gateway stubs
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EndEvent.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -21,6 +21,8 @@
*/
package org.jboss.bpm.model;
+import java.util.Set;
+
//$Id$
/**
@@ -36,8 +38,13 @@
public interface EndEvent extends Event, NameSupport, SingleInFlowSupport
{
/**
- * Get the {@link Result}
+ * Result defines the type of result expected for an End Event.
+ * Of the set of EventDetailTypes only six can be applied to an
+ * End Event: Message, Error, Cancel, Compensation, Signal, and Terminate.
+ *
+ * If there is no EventDetail defined, then this is considered a None End Event.
+ * If there is more than one EventDetail defined, this is considered a Multiple EndEvent.
*/
- Result getResult();
+ Set<EventDetail> getResult();
}
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EventDetail.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EventDetail.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/EventDetail.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -34,9 +34,9 @@
/**
* Defines the type of an {@link Event}
*/
- enum EventDetailType
+ public enum EventDetailType
{
- Message, Timer, Error, Conditional, Link, Signal, Compensate, Cancel, Terminate
+ None, Message, Timer, Error, Conditional, Link, Signal, Compensate, Cancel, Terminate
};
/**
Added: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneEventDetail.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneEventDetail.java (rev 0)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneEventDetail.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+//$Id$
+
+/**
+ * The Cancel event detail
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 21-Jul-2008
+ */
+public interface NoneEventDetail extends EventDetail
+{
+
+}
Property changes on: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneEventDetail.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Process.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -27,6 +27,7 @@
import javax.management.ObjectName;
+import org.jboss.bpm.BPMException;
import org.jboss.bpm.runtime.Attachments;
/**
@@ -110,15 +111,28 @@
/**
* Get the start event
+ * @throws BPMException if there are other than exactly one start event of type None
*/
StartEvent getStartEvent();
/**
+ * Get a start event by name
+ * @return null if there is none
+ */
+ StartEvent getStartEvent(String name);
+
+ /**
* Get the set of end events
*/
List<EndEvent> getEndEvents();
/**
+ * Get an end event by name
+ * @return null if there is none
+ */
+ EndEvent getEndEvent(String name);
+
+ /**
* Start the process
*/
ObjectName startProcess();
Deleted: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Result.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -1,40 +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.model;
-
-//$Id$
-
-import org.jboss.bpm.runtime.Attachments;
-
-/**
- * A Result is consequence of reaching an End Event.
- * <p/>
- * Results can be of different types, including: Message, Error, Compensation, Link, and Multiple.
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public interface Result
-{
- /** Get the Attachments from the result */
- Attachments getAttachments();
-}
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/Token.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -23,6 +23,7 @@
//$Id$
+import org.jboss.bpm.model.Activity;
import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.InputSet;
import org.jboss.bpm.model.OutputSet;
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -121,6 +121,17 @@
return Collections.unmodifiableList(signals);
}
+ public List<Signal> getSignals(Signal.Type type)
+ {
+ List<Signal> retSignals = new ArrayList<Signal>();
+ for (Signal sig : signals)
+ {
+ if (sig.getType() == type)
+ retSignals.add(sig);
+ }
+ return Collections.unmodifiableList(retSignals);
+ }
+
public ObjectName getMessageListenerID()
{
return ObjectNameFactory.create(BPMNElement.ID_DOMAIN, "test", getName());
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -23,11 +23,13 @@
//$Id$
+import java.util.Set;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.EndEvent;
-import org.jboss.bpm.model.ConnectingObject;
-import org.jboss.bpm.model.Result;
+import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.runtime.FlowHandler;
import org.jboss.bpm.runtime.FlowScheduler;
@@ -50,7 +52,7 @@
private static final Log log = LogFactory.getLog(EndEventImpl.class);
private String name;
- private Result result;
+ private Set<EventDetail> result;
private ConnectingObject inFlow;
public EndEventImpl(String name)
@@ -76,7 +78,7 @@
this.inFlow = inFlow;
}
- public Result getResult()
+ public Set<EventDetail> getResult()
{
return result;
}
Added: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventDetailImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventDetailImpl.java (rev 0)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventDetailImpl.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model.internal;
+
+//$Id$
+
+import org.jboss.bpm.model.EventDetail;
+
+/**
+ * The base of all supported event details.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@SuppressWarnings("serial")
+public abstract class EventDetailImpl extends SupportingElementImpl implements EventDetail
+{
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EventDetailImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/NoneEventDetailImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/NoneEventDetailImpl.java (rev 0)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/NoneEventDetailImpl.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model.internal;
+
+//$Id$
+
+import org.jboss.bpm.model.NoneEventDetail;
+
+/**
+ * The None event detail.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@SuppressWarnings("serial")
+public class NoneEventDetailImpl extends EventDetailImpl implements NoneEventDetail
+{
+ public EventDetailType getEventDetailType()
+ {
+ return EventDetailType.None;
+ }
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/NoneEventDetailImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -38,6 +38,7 @@
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.client.internal.ProcessManagerImpl;
import org.jboss.bpm.model.EndEvent;
+import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.FlowObject;
import org.jboss.bpm.model.InputSet;
import org.jboss.bpm.model.Message;
@@ -157,20 +158,35 @@
this.runtimeException = rte;
}
- public StartEventImpl getStartEvent()
+ public StartEvent getStartEvent()
{
- StartEventImpl start = null;
+ StartEvent start = null;
for (FlowObject aux : flowObjects)
{
if (aux instanceof StartEvent)
{
- start = (StartEventImpl)aux;
- break;
+ StartEvent tmpStart = (StartEvent)aux;
+ List<EventDetail> triggers = tmpStart.getTrigger();
+ if (triggers.size() == 0)
+ {
+ if (start != null)
+ throw new InvalidProcessException("Process cannot have multiple start events with no trigger");
+ start = tmpStart;
+ }
}
}
return start;
}
+ public StartEvent getStartEvent(String name)
+ {
+ FlowObject fo = getFlowObjectByName(name);
+ if (fo instanceof StartEvent == false)
+ throw new IllegalArgumentException("Is not a start event: " + fo);
+
+ return (StartEvent)fo;
+ }
+
public List<EndEvent> getEndEvents()
{
List<EndEvent> ends = new ArrayList<EndEvent>();
@@ -184,6 +200,15 @@
return Collections.unmodifiableList(ends);
}
+ public EndEvent getEndEvent(String name)
+ {
+ FlowObject fo = getFlowObjectByName(name);
+ if (fo instanceof EndEvent == false)
+ throw new IllegalArgumentException("Is not an end event: " + fo);
+
+ return (EndEvent)fo;
+ }
+
public List<FlowObject> getFlowObjects()
{
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -23,11 +23,12 @@
//$Id$
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jboss.bpm.NotImplementedException;
import org.jboss.bpm.model.ConnectingObject;
import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Signal;
@@ -53,10 +54,11 @@
private static final Log log = LogFactory.getLog(StartEventImpl.class);
private ConnectingObject outFlow;
+ private List<EventDetail> triggers = new ArrayList<EventDetail>();
public List<EventDetail> getTrigger()
{
- throw new NotImplementedException();
+ return Collections.unmodifiableList(triggers);
}
public ConnectingObject getOutFlow()
Modified: jbossbpm/spec/trunk/modules/testsuite/.project
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/.project 2008-08-06 11:34:18 UTC (rev 1835)
+++ jbossbpm/spec/trunk/modules/testsuite/.project 2008-08-06 13:06:04 UTC (rev 1836)
@@ -15,9 +15,15 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.stp.bpmn.validation.BatchValidationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
+ <nature>org.eclipse.stp.bpmn.validation.BatchValidationBuildAbleNature</nature>
</natures>
</projectDescription>
Added: 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 (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.exclusive;
+
+// $Id$
+
+import org.jboss.bpm.client.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveMergeTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ public void testGateA() throws Exception
+ {
+ System.out.println("FIXME: ExclusiveMergeTest");
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.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/exclusive/ExclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,113 @@
+/*
+ * 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.client.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class ExclusiveSplitTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ 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.Type.EXIT_END_EVENT);
+ 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.Type.EXIT_END_EVENT);
+ 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
+ }
+ }
+
+ private Process getProcess()
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess(getName()).addStartEvent().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;
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.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/inclusive/InclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.inclusive;
+
+// $Id$
+
+import org.jboss.bpm.client.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveMergeTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ public void testGateA() throws Exception
+ {
+ System.out.println("FIXME: InclusiveMergeTest");
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.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/inclusive/InclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.inclusive;
+
+// $Id$
+
+import org.jboss.bpm.client.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class InclusiveSplitTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ public void testGateA() throws Exception
+ {
+ System.out.println("FIXME: InclusiveSplitTest");
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.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/ParallelMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.cts.gateway.parallel;
+
+// $Id$
+
+import org.jboss.bpm.client.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelMergeTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ public void testGateA() throws Exception
+ {
+ System.out.println("FIXME: ParallelMergeTest");
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.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/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java 2008-08-06 13:06:04 UTC (rev 1836)
@@ -0,0 +1,50 @@
+/*
+ * 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.SignalManager;
+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(a)jboss.com
+ * @since 06-Aug-2008
+ */
+public class ParallelSplitTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager engine = SignalManager.locateSignalManager();
+ engine.addSignalListener(getName(), this);
+ }
+
+ public void testGateA() throws Exception
+ {
+ System.out.println("FIXME: ParallelSplitTest");
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_l8nUEWOQEd2mS_8SFTXMeQ" iD="_l8nUEGOQEd2mS_8SFTXMeQ">
+ <pools xmi:type="bpmn:Pool" xmi:id="_l8n7IWOQEd2mS_8SFTXMeQ" iD="_l8n7IGOQEd2mS_8SFTXMeQ" name="Pool">
+ <vertices xmi:type="bpmn:Activity" xmi:id="_qdNxcWOQEd2mS_8SFTXMeQ" iD="_qdNxcGOQEd2mS_8SFTXMeQ" outgoingEdges="_uRhwkWOQEd2mS_8SFTXMeQ" name="StartA" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_rWe7wWOQEd2mS_8SFTXMeQ" iD="_rWe7wGOQEd2mS_8SFTXMeQ" outgoingEdges="_u0nPgWOQEd2mS_8SFTXMeQ" name="StartB" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_sa_FsWOQEd2mS_8SFTXMeQ" iD="_sa_FsGOQEd2mS_8SFTXMeQ" outgoingEdges="_w0h40WOQEd2mS_8SFTXMeQ" incomingEdges="_uRhwkWOQEd2mS_8SFTXMeQ _u0nPgWOQEd2mS_8SFTXMeQ" activityType="GatewayDataBasedExclusive"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_tWoOkWOQEd2mS_8SFTXMeQ" iD="_tWoOkGOQEd2mS_8SFTXMeQ" incomingEdges="_w0h40WOQEd2mS_8SFTXMeQ" activityType="EventEndEmpty"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_uRhwkWOQEd2mS_8SFTXMeQ" iD="_uRhwkGOQEd2mS_8SFTXMeQ" source="_qdNxcWOQEd2mS_8SFTXMeQ" target="_sa_FsWOQEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_u0nPgWOQEd2mS_8SFTXMeQ" iD="_u0nPgGOQEd2mS_8SFTXMeQ" source="_rWe7wWOQEd2mS_8SFTXMeQ" target="_sa_FsWOQEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_w0h40WOQEd2mS_8SFTXMeQ" iD="_w0h40GOQEd2mS_8SFTXMeQ" source="_sa_FsWOQEd2mS_8SFTXMeQ" target="_tWoOkWOQEd2mS_8SFTXMeQ"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn_diagram (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-join.bpmn_diagram 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_l8nUEmOQEd2mS_8SFTXMeQ" type="Bpmn" name="exclusive-join.bpmn_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_l8pJQGOQEd2mS_8SFTXMeQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_l8pwUGOQEd2mS_8SFTXMeQ" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_l8qXYGOQEd2mS_8SFTXMeQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_qdOYgGOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_qdO_kGOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qdOYgWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_qdOYgmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_qdOYg2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_qdOYhGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-join.bpmn#_qdNxcWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qdOYhWOQEd2mS_8SFTXMeQ" x="60" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rWgJ4GOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_rWgw8GOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_rWgJ4WOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_rWgJ4mOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_rWgJ42OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_rWgJ5GOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-join.bpmn#_rWe7wWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rWgJ5WOQEd2mS_8SFTXMeQ" x="60" y="132"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_sa_swGOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_sbAT0WOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_sa_swWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_sa_swmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_sa_sw2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_sa_sxGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-join.bpmn#_sa_FsWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbAT0GOQEd2mS_8SFTXMeQ" x="134" y="74"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tWpcsGOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_tWqDwGOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tWpcsWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_tWpcsmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_tWpcs2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_tWpctGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-join.bpmn#_tWoOkWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tWpctWOQEd2mS_8SFTXMeQ" x="252" y="84"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_l8qXYWOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_l8qXYmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_l8qXY2OQEd2mS_8SFTXMeQ"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l8pJQWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_l8pJQmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_l8pJQ2OQEd2mS_8SFTXMeQ" fillColor="16771304"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_l8pJRGOQEd2mS_8SFTXMeQ" lineColor="11119017"/>
+ <element xmi:type="bpmn:Pool" href="exclusive-join.bpmn#_l8n7IWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l8q-cGOQEd2mS_8SFTXMeQ" x="16" y="16" width="369" height="200"/>
+ </children>
+ <styles xmi:type="notation:PageStyle" xmi:id="_l8nUE2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:GuideStyle" xmi:id="_l8nUFGOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_l8nUFWOQEd2mS_8SFTXMeQ"/>
+ <element xmi:type="bpmn:BpmnDiagram" href="exclusive-join.bpmn#_l8nUEWOQEd2mS_8SFTXMeQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_uRi-sGOQEd2mS_8SFTXMeQ" type="3001" source="_qdOYgGOQEd2mS_8SFTXMeQ" target="_sa_swGOQEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_uRjlwmOQEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_uRkM0GOQEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_uRkM0WOQEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uRkM0mOQEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_uRi-sWOQEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uRi-smOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_uRjlwGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-join.bpmn#_uRhwkWOQEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uRjlwWOQEd2mS_8SFTXMeQ" points="[15, 6, -92, -54]$[122, 50, 15, -10]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_u0odoGOQEd2mS_8SFTXMeQ" type="3001" source="_rWgJ4GOQEd2mS_8SFTXMeQ" target="_sa_swGOQEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_u0pEsGOQEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_u0pEsWOQEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_u0pEsmOQEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u0pEs2OQEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_u0odoWOQEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_u0odomOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_u0odo2OQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-join.bpmn#_u0nPgWOQEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u0odpGOQEd2mS_8SFTXMeQ" points="[15, -7, -86, 27]$[112, -48, 11, -14]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_w0jG8GOQEd2mS_8SFTXMeQ" type="3001" source="_sa_swGOQEd2mS_8SFTXMeQ" target="_tWpcsGOQEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_w0juAGOQEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_w0juAWOQEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_w0juAmOQEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w0juA2OQEd2mS_8SFTXMeQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_w0jG8WOQEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w0jG8mOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_w0jG82OQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-join.bpmn#_w0h40WOQEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w0jG9GOQEd2mS_8SFTXMeQ" points="[23, 1, -85, 1]$[109, 15, 1, 15]"/>
+ </edges>
+</notation:Diagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_Ce5-8GOIEd2mS_8SFTXMeQ" iD="_Ce0fYWOIEd2mS_8SFTXMeQ">
+ <pools xmi:type="bpmn:Pool" xmi:id="_ChQvYWOIEd2mS_8SFTXMeQ" iD="_ChQvYGOIEd2mS_8SFTXMeQ" name="Pool">
+ <vertices xmi:type="bpmn:Activity" xmi:id="_God1UWOIEd2mS_8SFTXMeQ" iD="_God1UGOIEd2mS_8SFTXMeQ" outgoingEdges="_J85agWOIEd2mS_8SFTXMeQ" activityType="EventStartEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_JC0-8WOIEd2mS_8SFTXMeQ" iD="_JC0-8GOIEd2mS_8SFTXMeQ" outgoingEdges="_O1xN8WOIEd2mS_8SFTXMeQ _SCzKoWOIEd2mS_8SFTXMeQ" incomingEdges="_J85agWOIEd2mS_8SFTXMeQ" activityType="GatewayDataBasedExclusive"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_NheUgWOIEd2mS_8SFTXMeQ" iD="_NheUgGOIEd2mS_8SFTXMeQ" incomingEdges="_O1xN8WOIEd2mS_8SFTXMeQ" name="EndA" activityType="EventEndEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_Qpi4sWOIEd2mS_8SFTXMeQ" iD="_Qpi4sGOIEd2mS_8SFTXMeQ" incomingEdges="_SCzKoWOIEd2mS_8SFTXMeQ" name="EndB " activityType="EventEndEmpty"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_J85agWOIEd2mS_8SFTXMeQ" iD="_J85agGOIEd2mS_8SFTXMeQ" source="_God1UWOIEd2mS_8SFTXMeQ" target="_JC0-8WOIEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_O1xN8WOIEd2mS_8SFTXMeQ" iD="_O1xN8GOIEd2mS_8SFTXMeQ" source="_JC0-8WOIEd2mS_8SFTXMeQ" target="_NheUgWOIEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_SCzKoWOIEd2mS_8SFTXMeQ" iD="_SCzKoGOIEd2mS_8SFTXMeQ" source="_JC0-8WOIEd2mS_8SFTXMeQ" target="_Qpi4sWOIEd2mS_8SFTXMeQ"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn_diagram (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/exclusive/exclusive-split.bpmn_diagram 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_CgnPIGOIEd2mS_8SFTXMeQ" type="Bpmn" name="exclusive-split.bpmn_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_CiuH8GOIEd2mS_8SFTXMeQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ci_NsGOIEd2mS_8SFTXMeQ" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_CjEGMGOIEd2mS_8SFTXMeQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_GomYMGOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_GonmUGOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GomYMWOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_GomYMmOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_Gom_QGOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Gom_QWOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-split.bpmn#_God1UWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gom_QmOIEd2mS_8SFTXMeQ" x="24" y="84"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_JC2NEGOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_JC20IGOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_JC2NEWOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_JC2NEmOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_JC2NE2OIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_JC2NFGOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-split.bpmn#_JC0-8WOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JC2NFWOIEd2mS_8SFTXMeQ" x="96" y="72"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NhfioGOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_NhgJsGOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NhfioWOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_NhfiomOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_Nhfio2OIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_NhfipGOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-split.bpmn#_NheUgWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NhfipWOIEd2mS_8SFTXMeQ" x="180" y="12" width="74"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_QpkG0GOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_Qpkt4GOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_QpkG0WOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_QpkG0mOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_QpkG02OIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_QpkG1GOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="exclusive-split.bpmn#_Qpi4sWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QpkG1WOIEd2mS_8SFTXMeQ" x="179" y="144"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_CjEGMWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CjEGMmOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CjEGM2OIEd2mS_8SFTXMeQ"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CiuvAGOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_CiuvAWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_CiuvAmOIEd2mS_8SFTXMeQ" fillColor="16771304"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_CiuvA2OIEd2mS_8SFTXMeQ" lineColor="11119017"/>
+ <element xmi:type="bpmn:Pool" href="exclusive-split.bpmn#_ChQvYWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CjFUUGOIEd2mS_8SFTXMeQ" x="16" y="16" width="321" height="225"/>
+ </children>
+ <styles xmi:type="notation:PageStyle" xmi:id="_CgnPIWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:GuideStyle" xmi:id="_CgnPImOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_CgnPI2OIEd2mS_8SFTXMeQ"/>
+ <element xmi:type="bpmn:BpmnDiagram" href="exclusive-split.bpmn#_Ce5-8GOIEd2mS_8SFTXMeQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_J89r8GOIEd2mS_8SFTXMeQ" type="3001" source="_GomYMGOIEd2mS_8SFTXMeQ" target="_JC2NEGOIEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_J9AIMGOIEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_J9AIMWOIEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_J9AIMmOIEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_J9AIM2OIEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_J89r8WOIEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_J89r8mOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_J89r82OIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-split.bpmn#_J85agWOIEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J89r9GOIEd2mS_8SFTXMeQ" points="[15, 0, -91, -10]$[92, -2, -14, -12]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_O1zDIGOIEd2mS_8SFTXMeQ" type="3001" source="_JC2NEGOIEd2mS_8SFTXMeQ" target="_NhfioGOIEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_O1zqMGOIEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_O1zqMWOIEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_O10RQGOIEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_O10RQWOIEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_O1zDIWOIEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_O1zDImOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_O1zDI2OIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-split.bpmn#_O1xN8WOIEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O1zDJGOIEd2mS_8SFTXMeQ" points="[18, -7, -103, 38]$[136, -50, 15, -5]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_SC1m4GOIEd2mS_8SFTXMeQ" type="3001" source="_JC2NEGOIEd2mS_8SFTXMeQ" target="_QpkG0GOIEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_SC2N8GOIEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_SC2N8WOIEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_SC2N8mOIEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SC2N82OIEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_SC1m4WOIEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SC1m4mOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_SC1m42OIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="exclusive-split.bpmn#_SCzKoWOIEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SC1m5GOIEd2mS_8SFTXMeQ" points="[14, 10, -52, -31]$[51, 42, -15, 1]"/>
+ </edges>
+</notation:Diagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_l8nUEWOQEd2mS_8SFTXMeQ" iD="_l8nUEGOQEd2mS_8SFTXMeQ">
+ <pools xmi:type="bpmn:Pool" xmi:id="_l8n7IWOQEd2mS_8SFTXMeQ" iD="_l8n7IGOQEd2mS_8SFTXMeQ" name="Pool">
+ <vertices xmi:type="bpmn:Activity" xmi:id="_qdNxcWOQEd2mS_8SFTXMeQ" iD="_qdNxcGOQEd2mS_8SFTXMeQ" outgoingEdges="_SIYfIWOREd2mS_8SFTXMeQ" name="StartA" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_rWe7wWOQEd2mS_8SFTXMeQ" iD="_rWe7wGOQEd2mS_8SFTXMeQ" outgoingEdges="_Sr7REWOREd2mS_8SFTXMeQ" name="StartB" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_tWoOkWOQEd2mS_8SFTXMeQ" iD="_tWoOkGOQEd2mS_8SFTXMeQ" incomingEdges="_UaiH8WOREd2mS_8SFTXMeQ" activityType="EventEndEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_ReploWOREd2mS_8SFTXMeQ" iD="_ReploGOREd2mS_8SFTXMeQ" outgoingEdges="_UaiH8WOREd2mS_8SFTXMeQ" incomingEdges="_SIYfIWOREd2mS_8SFTXMeQ _Sr7REWOREd2mS_8SFTXMeQ" activityType="GatewayDataBasedInclusive"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_SIYfIWOREd2mS_8SFTXMeQ" iD="_SIYfIGOREd2mS_8SFTXMeQ" source="_qdNxcWOQEd2mS_8SFTXMeQ" target="_ReploWOREd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_Sr7REWOREd2mS_8SFTXMeQ" iD="_Sr7REGOREd2mS_8SFTXMeQ" source="_rWe7wWOQEd2mS_8SFTXMeQ" target="_ReploWOREd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_UaiH8WOREd2mS_8SFTXMeQ" iD="_UaiH8GOREd2mS_8SFTXMeQ" source="_ReploWOREd2mS_8SFTXMeQ" target="_tWoOkWOQEd2mS_8SFTXMeQ"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn_diagram (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-join.bpmn_diagram 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_l8nUEmOQEd2mS_8SFTXMeQ" type="Bpmn" name="inclusive-join.bpmn_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_l8pJQGOQEd2mS_8SFTXMeQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_l8pwUGOQEd2mS_8SFTXMeQ" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_l8qXYGOQEd2mS_8SFTXMeQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_qdOYgGOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_qdO_kGOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qdOYgWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_qdOYgmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_qdOYg2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_qdOYhGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-join.bpmn#_qdNxcWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qdOYhWOQEd2mS_8SFTXMeQ" x="60" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rWgJ4GOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_rWgw8GOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_rWgJ4WOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_rWgJ4mOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_rWgJ42OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_rWgJ5GOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-join.bpmn#_rWe7wWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rWgJ5WOQEd2mS_8SFTXMeQ" x="60" y="144"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tWpcsGOQEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_tWqDwGOQEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tWpcsWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_tWpcsmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_tWpcs2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_tWpctGOQEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-join.bpmn#_tWoOkWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tWpctWOQEd2mS_8SFTXMeQ" x="228" y="96"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ReqMsGOREd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_ReqzwmOREd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ReqMsWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_ReqMsmOREd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_ReqMs2OREd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_ReqzwGOREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-join.bpmn#_ReploWOREd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ReqzwWOREd2mS_8SFTXMeQ" x="132" y="84"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_l8qXYWOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_l8qXYmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_l8qXY2OQEd2mS_8SFTXMeQ"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l8pJQWOQEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_l8pJQmOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_l8pJQ2OQEd2mS_8SFTXMeQ" fillColor="16771304"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_l8pJRGOQEd2mS_8SFTXMeQ" lineColor="11119017"/>
+ <element xmi:type="bpmn:Pool" href="inclusive-join.bpmn#_l8n7IWOQEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l8q-cGOQEd2mS_8SFTXMeQ" x="16" y="16" width="345" height="212"/>
+ </children>
+ <styles xmi:type="notation:PageStyle" xmi:id="_l8nUE2OQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:GuideStyle" xmi:id="_l8nUFGOQEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_l8nUFWOQEd2mS_8SFTXMeQ"/>
+ <element xmi:type="bpmn:BpmnDiagram" href="inclusive-join.bpmn#_l8nUEWOQEd2mS_8SFTXMeQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_SIZtQGOREd2mS_8SFTXMeQ" type="3001" source="_qdOYgGOQEd2mS_8SFTXMeQ" target="_ReqMsGOREd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_SIaUUGOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_SIaUUWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_SIaUUmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SIaUU2OREd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_SIZtQWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SIZtQmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_SIZtQ2OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-join.bpmn#_SIYfIWOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SIZtRGOREd2mS_8SFTXMeQ" points="[15, 9, -74, -59]$[112, 66, 23, -2]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Sr9GQGOREd2mS_8SFTXMeQ" type="3001" source="_rWgJ4GOQEd2mS_8SFTXMeQ" target="_ReqMsGOREd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_Sr9tUGOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_Sr9tUWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Sr9tUmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sr9tU2OREd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_Sr9GQWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Sr9GQmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Sr9GQ2OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-join.bpmn#_Sr7REWOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sr9GRGOREd2mS_8SFTXMeQ" points="[15, -7, -74, 33]$[74, -30, -15, 10]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_UajWEGOREd2mS_8SFTXMeQ" type="3001" source="_ReqMsGOREd2mS_8SFTXMeQ" target="_tWpcsGOQEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_Uaj9IGOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_Uaj9IWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Uaj9ImOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Uaj9I2OREd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_UajWEWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_UajWEmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_UajWE2OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-join.bpmn#_UaiH8WOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UajWFGOREd2mS_8SFTXMeQ" points="[23, 2, -80, -2]$[118, 2, 15, -2]"/>
+ </edges>
+</notation:Diagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_Ce5-8GOIEd2mS_8SFTXMeQ" iD="_Ce0fYWOIEd2mS_8SFTXMeQ">
+ <pools xmi:type="bpmn:Pool" xmi:id="_ChQvYWOIEd2mS_8SFTXMeQ" iD="_ChQvYGOIEd2mS_8SFTXMeQ" name="Pool">
+ <vertices xmi:type="bpmn:Activity" xmi:id="_God1UWOIEd2mS_8SFTXMeQ" iD="_God1UGOIEd2mS_8SFTXMeQ" outgoingEdges="_aB8cYWOREd2mS_8SFTXMeQ" activityType="EventStartEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_NheUgWOIEd2mS_8SFTXMeQ" iD="_NheUgGOIEd2mS_8SFTXMeQ" incomingEdges="_axitUWOREd2mS_8SFTXMeQ" name="EndA" activityType="EventEndEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_Qpi4sWOIEd2mS_8SFTXMeQ" iD="_Qpi4sGOIEd2mS_8SFTXMeQ" incomingEdges="_bT8PwWOREd2mS_8SFTXMeQ" name="EndB " activityType="EventEndEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_ZMKD4WOREd2mS_8SFTXMeQ" iD="_ZMKD4GOREd2mS_8SFTXMeQ" outgoingEdges="_axitUWOREd2mS_8SFTXMeQ _bT8PwWOREd2mS_8SFTXMeQ" incomingEdges="_aB8cYWOREd2mS_8SFTXMeQ" activityType="GatewayDataBasedInclusive"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_aB8cYWOREd2mS_8SFTXMeQ" iD="_aB8cYGOREd2mS_8SFTXMeQ" source="_God1UWOIEd2mS_8SFTXMeQ" target="_ZMKD4WOREd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_axitUWOREd2mS_8SFTXMeQ" iD="_axitUGOREd2mS_8SFTXMeQ" source="_ZMKD4WOREd2mS_8SFTXMeQ" target="_NheUgWOIEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_bT8PwWOREd2mS_8SFTXMeQ" iD="_bT8PwGOREd2mS_8SFTXMeQ" source="_ZMKD4WOREd2mS_8SFTXMeQ" target="_Qpi4sWOIEd2mS_8SFTXMeQ"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn_diagram (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/inclusive/inclusive-split.bpmn_diagram 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_CgnPIGOIEd2mS_8SFTXMeQ" type="Bpmn" name="inclusive-split.bpmn_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_CiuH8GOIEd2mS_8SFTXMeQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ci_NsGOIEd2mS_8SFTXMeQ" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="_CjEGMGOIEd2mS_8SFTXMeQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_GomYMGOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_GonmUGOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GomYMWOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_GomYMmOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_Gom_QGOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Gom_QWOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-split.bpmn#_God1UWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gom_QmOIEd2mS_8SFTXMeQ" x="24" y="84"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NhfioGOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_NhgJsGOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NhfioWOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_NhfiomOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_Nhfio2OIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_NhfipGOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-split.bpmn#_NheUgWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NhfipWOIEd2mS_8SFTXMeQ" x="180" y="12" width="74"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_QpkG0GOIEd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_Qpkt4GOIEd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_QpkG0WOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_QpkG0mOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_QpkG02OIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_QpkG1GOIEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-split.bpmn#_Qpi4sWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QpkG1WOIEd2mS_8SFTXMeQ" x="179" y="144"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZMLSAGOREd2mS_8SFTXMeQ" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_ZML5EGOREd2mS_8SFTXMeQ" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZMLSAWOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_ZMLSAmOREd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_ZMLSA2OREd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_ZMLSBGOREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="inclusive-split.bpmn#_ZMKD4WOREd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZMLSBWOREd2mS_8SFTXMeQ" x="96" y="72"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_CjEGMWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CjEGMmOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CjEGM2OIEd2mS_8SFTXMeQ"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CiuvAGOIEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_CiuvAWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_CiuvAmOIEd2mS_8SFTXMeQ" fillColor="16771304"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_CiuvA2OIEd2mS_8SFTXMeQ" lineColor="11119017"/>
+ <element xmi:type="bpmn:Pool" href="inclusive-split.bpmn#_ChQvYWOIEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CjFUUGOIEd2mS_8SFTXMeQ" x="16" y="16" width="393" height="225"/>
+ </children>
+ <styles xmi:type="notation:PageStyle" xmi:id="_CgnPIWOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:GuideStyle" xmi:id="_CgnPImOIEd2mS_8SFTXMeQ"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_CgnPI2OIEd2mS_8SFTXMeQ"/>
+ <element xmi:type="bpmn:BpmnDiagram" href="inclusive-split.bpmn#_Ce5-8GOIEd2mS_8SFTXMeQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_aB9qgGOREd2mS_8SFTXMeQ" type="3001" source="_GomYMGOIEd2mS_8SFTXMeQ" target="_ZMLSAGOREd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_aB-RkGOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_aB-RkWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_aB-RkmOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aB-Rk2OREd2mS_8SFTXMeQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_aB9qgWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aB9qgmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_aB9qg2OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-split.bpmn#_aB8cYWOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aB9qhGOREd2mS_8SFTXMeQ" points="[15, -1, -67, 1]$[84, -25, 2, -23]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_axj7cGOREd2mS_8SFTXMeQ" type="3001" source="_ZMLSAGOREd2mS_8SFTXMeQ" target="_NhfioGOIEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_axkigGOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_axkigWOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_axlJkGOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_axlJkWOREd2mS_8SFTXMeQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_axj7cWOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_axj7cmOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_axj7c2OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-split.bpmn#_axitUWOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_axj7dGOREd2mS_8SFTXMeQ" points="[13, -12, -61, 58]$[89, -71, 15, -1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_bT9d4GOREd2mS_8SFTXMeQ" type="3001" source="_ZMLSAGOREd2mS_8SFTXMeQ" target="_QpkG0GOIEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_bT-E8GOREd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_bT-E8WOREd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_bT-E8mOREd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bT-E82OREd2mS_8SFTXMeQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_bT9d4WOREd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bT9d4mOREd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_bT9d42OREd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="inclusive-split.bpmn#_bT8PwWOREd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bT9d5GOREd2mS_8SFTXMeQ" points="[12, 12, -62, -50]$[74, 77, 0, 15]"/>
+ </edges>
+</notation:Diagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_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="_LxpxIWOSEd2mS_8SFTXMeQ" incomingEdges="_ImmxcWOSEd2mS_8SFTXMeQ _JC-kYWOSEd2mS_8SFTXMeQ" activityType="GatewayParallel"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_FY9wwWOSEd2mS_8SFTXMeQ" iD="_FY9wwGOSEd2mS_8SFTXMeQ" outgoingEdges="_ImmxcWOSEd2mS_8SFTXMeQ" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_FobwIWOSEd2mS_8SFTXMeQ" iD="_FobwIGOSEd2mS_8SFTXMeQ" outgoingEdges="_JC-kYWOSEd2mS_8SFTXMeQ" activityType="EventStartSignal"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_LFtRIWOSEd2mS_8SFTXMeQ" iD="_LFtRIGOSEd2mS_8SFTXMeQ" incomingEdges="_LxpxIWOSEd2mS_8SFTXMeQ" activityType="EventEndEmpty"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_ImmxcWOSEd2mS_8SFTXMeQ" iD="_ImmxcGOSEd2mS_8SFTXMeQ" source="_FY9wwWOSEd2mS_8SFTXMeQ" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_JC-kYWOSEd2mS_8SFTXMeQ" iD="_JC-kYGOSEd2mS_8SFTXMeQ" source="_FobwIWOSEd2mS_8SFTXMeQ" target="_EPuQwWOSEd2mS_8SFTXMeQ"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_LxpxIWOSEd2mS_8SFTXMeQ" iD="_LxpxIGOSEd2mS_8SFTXMeQ" source="_EPuQwWOSEd2mS_8SFTXMeQ" target="_LFtRIWOSEd2mS_8SFTXMeQ"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn_diagram
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn_diagram (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/cts/gateway/parallel/parallel-join.bpmn_diagram 2008-08-06 13:06:04 UTC (rev 1836)
@@ -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="_AXGZYGOSEd2mS_8SFTXMeQ" type="Bpmn" name="parallel-join.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-join.bpmn#_EPuQwWOSEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EPve5WOSEd2mS_8SFTXMeQ" x="108" 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-join.bpmn#_FY9wwWOSEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FY--5WOSEd2mS_8SFTXMeQ" x="43" y="23"/>
+ </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-join.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-join.bpmn#_LFtRIWOSEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LFufRGOSEd2mS_8SFTXMeQ" x="204" y="84"/>
+ </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-join.bpmn#_AXHAcWOSEd2mS_8SFTXMeQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AXI1pWOSEd2mS_8SFTXMeQ" x="16" y="16" width="345" height="200"/>
+ </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-join.bpmn#_AXFyUWOSEd2mS_8SFTXMeQ"/>
+ <edges xmi:type="notation:Edge" xmi:id="_ImomoGOSEd2mS_8SFTXMeQ" type="3001" source="_FY--4GOSEd2mS_8SFTXMeQ" target="_EPve4GOSEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_Imp0wGOSEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_Imp0wWOSEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Imp0wmOSEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imp0w2OSEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_ImomoWOSEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ImomomOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Imomo2OSEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-join.bpmn#_ImmxcWOSEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ImompGOSEd2mS_8SFTXMeQ" points="[15, 11, -73, -63]$[106, 80, 18, 6]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_JC_ygGOSEd2mS_8SFTXMeQ" type="3001" source="_Foc-QGOSEd2mS_8SFTXMeQ" target="_EPve4GOSEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_JDAZkGOSEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_JDAZkWOSEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_JDAZkmOSEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JDAZk2OSEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_JC_ygWOSEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_JC_ygmOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_JC_yg2OSEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-join.bpmn#_JC-kYWOSEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JC_yhGOSEd2mS_8SFTXMeQ" points="[15, -8, -70, 42]$[95, -35, 10, 15]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Lxq_QGOSEd2mS_8SFTXMeQ" type="3001" source="_EPve4GOSEd2mS_8SFTXMeQ" target="_LFt4MGOSEd2mS_8SFTXMeQ">
+ <children xmi:type="notation:Node" xmi:id="_LxrmUGOSEd2mS_8SFTXMeQ" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_LxrmUWOSEd2mS_8SFTXMeQ" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_LxrmUmOSEd2mS_8SFTXMeQ" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LxrmU2OSEd2mS_8SFTXMeQ" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_Lxq_QWOSEd2mS_8SFTXMeQ" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Lxq_QmOSEd2mS_8SFTXMeQ" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Lxq_Q2OSEd2mS_8SFTXMeQ" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-join.bpmn#_LxpxIWOSEd2mS_8SFTXMeQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lxq_RGOSEd2mS_8SFTXMeQ" points="[24, -1, -86, -3]$[125, -4, 15, -6]"/>
+ </edges>
+</notation:Diagram>
Added: 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-06 13:06:04 UTC (rev 1836)
@@ -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>
Added: 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-06 13:06:04 UTC (rev 1836)
@@ -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>
17 years, 8 months
JBoss JBPM SVN: r1835 - in jbpm4/pvm/trunk/modules/core/src: test/java/org/jbpm/pvm and 4 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-06 07:34:18 -0400 (Wed, 06 Aug 2008)
New Revision: 1835
Modified:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobAddedNotification.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/DbTests.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/AutomaticActivity.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTest.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTests.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/Recorder.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/WaitState.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/db/model/DbModelTests.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTests.java
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/WireTests.java
Log:
added continuation tests
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobAddedNotification.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobAddedNotification.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/jobexecutor/JobAddedNotification.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -48,4 +48,8 @@
public void beforeCompletion() {
}
+
+ public String toString() {
+ return "job-added-notification";
+ }
}
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/DbTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/DbTests.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/DbTests.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -46,7 +46,7 @@
defaultConfigTests.addTest(DbModelTests.suite());
defaultConfigTests.addTest(DbSvcTests.suite());
defaultConfigTests.addTest(JobExecutorTests.suite());
- // defaultConfigTests.addTest(ContinuationTests.suite());
+ defaultConfigTests.addTest(ContinuationTests.suite());
suite.addTest(new EnvironmentFactoryTestSetup(defaultConfigTests, "environment.cfg.xml"));
suite.addTest(new EnvironmentFactoryTestSetup(DbLangExtTests.suite(), "org/jbpm/pvm/internal/db/langext/environment.cfg.xml"));
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/AutomaticActivity.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/AutomaticActivity.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/AutomaticActivity.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -23,7 +23,6 @@
import org.jbpm.pvm.activity.Activity;
import org.jbpm.pvm.activity.ActivityExecution;
-import org.jbpm.pvm.env.Environment;
/** a node behaviour implementation that records its execution and then
* just proceeds.
@@ -38,10 +37,6 @@
}
public void execute(ActivityExecution execution) throws Exception {
- Environment environment = Environment.getCurrent();
- Recorder recorder = environment.get(Recorder.class);
- if (recorder!=null) {
- recorder.record(execution.getDbid(), execution.getNode().getName());
- }
+ ContinuationTest.recorder.record(execution.getDbid(), "execute("+execution.getNode().getName()+")");
}
}
\ No newline at end of file
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTest.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTest.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTest.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -21,7 +21,9 @@
*/
package org.jbpm.pvm.api.db.continuation;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
@@ -31,7 +33,7 @@
import org.jbpm.pvm.client.ClientProcessInstance;
import org.jbpm.pvm.env.Environment;
import org.jbpm.pvm.env.EnvironmentFactory;
-import org.jbpm.pvm.env.PvmEnvironmentFactory;
+import org.jbpm.pvm.internal.cmd.Command;
import org.jbpm.pvm.internal.job.JobImpl;
import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
import org.jbpm.pvm.internal.log.Log;
@@ -39,80 +41,87 @@
import org.jbpm.pvm.model.ProcessFactory;
import org.jbpm.pvm.session.DbSession;
import org.jbpm.pvm.session.PvmDbSession;
-import org.jbpm.pvm.test.base.JbpmTestCase;
+import org.jbpm.pvm.test.base.DbTestCase;
/**
* @author Tom Baeyens
*/
-public class ContinuationTest extends JbpmTestCase {
+public class ContinuationTest extends DbTestCase {
private static final Log log = Log.getLog(ContinuationTest.class.getName());
+ static Recorder recorder = new Recorder();
+
public void testContinuations() {
int nbrOfExecutions = 20;
- int testTimeoutMillis = 200000;
+ int testTimeoutMillis = 20000;
int checkInterval = 500;
- EnvironmentFactory environmentFactory = new PvmEnvironmentFactory(
- "org/jbpm/pvm/api/db/continuation/ContinuationTest.cfg.xml"
- );
+ EnvironmentFactory environmentFactory = getEnvironmentFactory();
Set<Integer> expected = new HashSet<Integer>();
JobExecutor jobExecutor = environmentFactory.get(JobExecutor.class);
try {
deployProcess(environmentFactory);
startExecutions(nbrOfExecutions, environmentFactory, expected);
- startExecutions(nbrOfExecutions, environmentFactory, expected);
+ jobExecutor.start();
waitTillNoMoreMessages(jobExecutor, testTimeoutMillis, checkInterval, environmentFactory);
} finally {
jobExecutor.stop(true);
}
- Recorder recorder = environmentFactory.get(Recorder.class);
- log.debug("recorder: "+recorder.executionEvents);
+ List<String> expectedLogs = new ArrayList<String>();
+ expectedLogs.add("execute(start)");
+ expectedLogs.add("execute(a)");
+ expectedLogs.add("execute(b)");
+ expectedLogs.add("execute(c)");
+ expectedLogs.add("execute(end)");
+
+ assertEquals(nbrOfExecutions, recorder.executionEvents.size());
+ for (List<String> executionLogs: recorder.executionEvents.values()) {
+ assertEquals(expectedLogs, executionLogs);
+ }
}
- public void startExecutions(int nbrOfExecutions, EnvironmentFactory environmentFactory, Set<Integer> expected) {
- for (int i=0; i<nbrOfExecutions; i++) {
- Environment environment = environmentFactory.openEnvironment();
- try {
- PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
- ClientProcessDefinition processDefinition = pvmDbSession.findProcessDefinition("continuations");
- ClientProcessInstance execution = processDefinition.beginProcessInstance();
- pvmDbSession.save(execution);
-
- } finally {
- environment.close();
+ public void deployProcess(EnvironmentFactory environmentFactory) {
+ commandService.execute(new Command<Object>() {
+ public Object execute(Environment environment) throws Exception {
+ log.debug("building process 'continuations'");
+ ProcessDefinition processDefinition = ProcessFactory.build("continuations")
+ .node("start").initial().behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("a")
+ .node("a").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("b")
+ .node("b").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("c")
+ .node("c").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("end")
+ .node("end").behaviour(WaitState.class)
+ .done();
+
+ log.debug("saving process 'continuations'");
+ environment.get(DbSession.class).save(processDefinition);
+ return null;
}
- }
+ });
}
- public void deployProcess(EnvironmentFactory environmentFactory) {
- Environment environment = environmentFactory.openEnvironment();
- try {
- log.debug("building process 'continuations'");
- ProcessDefinition processDefinition = ProcessFactory.build("continuations")
- .node("start").initial().behaviour(AutomaticActivity.class)
- .asyncExecute()
- .transition().to("a")
- .node("a").behaviour(AutomaticActivity.class)
- .asyncExecute()
- .transition().to("b")
- .node("b").behaviour(AutomaticActivity.class)
- .asyncExecute()
- .transition().to("c")
- .node("c").behaviour(AutomaticActivity.class)
- .asyncExecute()
- .transition().to("end")
- .node("end").behaviour(WaitState.class)
- .done();
-
- log.debug("saving process 'continuations'");
- environment.get(DbSession.class).save(processDefinition);
-
- } finally {
- environment.close();
+ public void startExecutions(int nbrOfExecutions, EnvironmentFactory environmentFactory, Set<Integer> expected) {
+ for (int i=0; i<nbrOfExecutions; i++) {
+ commandService.execute(new Command<Object>() {
+ public Object execute(Environment environment) throws Exception {
+ PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
+ ClientProcessDefinition processDefinition = pvmDbSession.findProcessDefinition("continuations");
+ ClientProcessInstance execution = processDefinition.beginProcessInstance();
+ pvmDbSession.save(execution);
+ return null;
+ }
+ });
}
}
@@ -146,17 +155,17 @@
}
private boolean areJobsAvailable(EnvironmentFactory environmentFactory) {
- int nbrOfJobsAvailable = 0;
- Environment environment = environmentFactory.openEnvironment();
- try {
- Session session = environment.get(Session.class);
- Number jobs = (Number) session.createQuery("select count(*) from " + JobImpl.class.getName()).uniqueResult();
- if (jobs!=null) {
- nbrOfJobsAvailable = jobs.intValue();
+ Integer nbrOfJobsAvailable = (Integer) commandService.execute(new Command<Object>() {
+ public Object execute(Environment environment) throws Exception {
+ Session session = environment.get(Session.class);
+ Number jobs = (Number) session.createQuery("select count(*) from " + JobImpl.class.getName()).uniqueResult();
+ if (jobs!=null) {
+ return jobs.intValue();
+ }
+ return 0;
}
- } finally {
- environment.close();
- }
+ });
+
boolean areJobsAvailable = nbrOfJobsAvailable>0;
if (areJobsAvailable) {
log.debug("there are "+nbrOfJobsAvailable+" jobs currently in the jobImpl table");
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTests.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTests.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -31,7 +31,7 @@
public class ContinuationTests {
public static Test suite() {
- TestSuite suite = new TestSuite("Test for org.jbpm.pvm.api.db.continuation");
+ TestSuite suite = new TestSuite("org.jbpm.pvm.api.db.continuation");
//$JUnit-BEGIN$
suite.addTestSuite(ContinuationTest.class);
//$JUnit-END$
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/Recorder.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/Recorder.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/Recorder.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -31,15 +31,15 @@
*/
public class Recorder {
- public Map<Object, List<Object>> executionEvents = null;
+ public Map<Object, List<String>> executionEvents = null;
- public synchronized void record(long executionDbid, Object event) {
+ public synchronized void record(long executionDbid, String event) {
if (executionEvents==null) {
- executionEvents = new HashMap<Object, List<Object>>();
+ executionEvents = new HashMap<Object, List<String>>();
}
- List<Object> events = executionEvents.get(executionDbid);
+ List<String> events = executionEvents.get(executionDbid);
if (events == null) {
- events = new ArrayList<Object>();
+ events = new ArrayList<String>();
executionEvents.put(executionDbid, events);
}
events.add(event);
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/WaitState.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/WaitState.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/db/continuation/WaitState.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -25,7 +25,6 @@
import org.jbpm.pvm.activity.ActivityExecution;
import org.jbpm.pvm.activity.ExternalActivity;
-import org.jbpm.pvm.env.Environment;
/**
* @author Tom Baeyens
@@ -38,18 +37,14 @@
}
public void execute(ActivityExecution execution) throws Exception {
- record("execute", execution);
- execution.waitForSignal();
+ ContinuationTest.recorder.record(execution.getDbid(), "execute("+execution.getNode().getName()+")");
}
public void signal(ActivityExecution execution, String signal, Map<String, Object> parameters) throws Exception {
- record("signal", execution);
+ throw new UnsupportedOperationException();
}
/** records event[currentNodeName] if there is a recorder */
public void record(String event, ActivityExecution execution) {
- Environment environment = Environment.getCurrent();
- Recorder recorder = environment.get(Recorder.class);
- recorder.record(execution.getDbid(), event+"["+execution.getNode().getName()+"]");
}
}
\ No newline at end of file
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/db/model/DbModelTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/db/model/DbModelTests.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/db/model/DbModelTests.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -31,7 +31,7 @@
public class DbModelTests {
public static Test suite() {
- TestSuite suite = new TestSuite("Test for org.jbpm.pvm.db.model");
+ TestSuite suite = new TestSuite("org.jbpm.pvm.internal.db.model");
//$JUnit-BEGIN$
suite.addTestSuite(SessionFactoryDbTest.class);
suite.addTestSuite(ProcessCacheDbTest.class);
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTests.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTests.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -31,7 +31,7 @@
public class JobExecutorTests {
public static Test suite() {
- TestSuite suite = new TestSuite("Test for org.jbpm.pvm.jobexecutor");
+ TestSuite suite = new TestSuite("org.jbpm.pvm.internal.jobexecutor");
//$JUnit-BEGIN$
suite.addTestSuite(JobExecutorTest.class);
//$JUnit-END$
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/WireTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/WireTests.java 2008-08-06 09:59:01 UTC (rev 1834)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/internal/wire/WireTests.java 2008-08-06 11:34:18 UTC (rev 1835)
@@ -31,7 +31,7 @@
public class WireTests {
public static Test suite() {
- TestSuite suite = new TestSuite("Test for org.jbpm.wire");
+ TestSuite suite = new TestSuite("org.jbpm.pvm.internal.wire");
//$JUnit-BEGIN$
suite.addTestSuite(AutoWireTest.class);
suite.addTestSuite(BasicTypeWireTest.class);
17 years, 8 months
JBoss JBPM SVN: r1834 - in jbpm4/pvm/trunk: modules and 3 other directories.
by do-not-reply@jboss.org
Author: porcherg
Date: 2008-08-06 05:59:01 -0400 (Wed, 06 Aug 2008)
New Revision: 1834
Added:
jbpm4/pvm/trunk/modules/minimal/
jbpm4/pvm/trunk/modules/minimal/pom.xml
Modified:
jbpm4/pvm/trunk/modules/core/pom.xml
jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java
jbpm4/pvm/trunk/pom.xml
Log:
create a minimal module for the pvm without external dependencies. Check that basic features tests runs on this configuration. ( JBPM-1413 )
Modified: jbpm4/pvm/trunk/modules/core/pom.xml
===================================================================
--- jbpm4/pvm/trunk/modules/core/pom.xml 2008-08-06 09:16:01 UTC (rev 1833)
+++ jbpm4/pvm/trunk/modules/core/pom.xml 2008-08-06 09:59:01 UTC (rev 1834)
@@ -69,6 +69,7 @@
<dependency>
<groupId>com.cenqua.clover</groupId>
<artifactId>clover</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
@@ -79,6 +80,10 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+<!--
+ Not in scope test because org.jbpm.pvm.test.base package is in main source: see JBPM-1416
+ <scope>test</scope>
+-->
</dependency>
<dependency>
@@ -119,6 +124,7 @@
<dependency>
<groupId>cactus</groupId>
<artifactId>cactus</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
@@ -144,6 +150,16 @@
</configuration>
</plugin>
<plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<applicationXml>${basedir}/src/main/etc/ear/META-INF/application.xml</applicationXml>
Modified: jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java 2008-08-06 09:16:01 UTC (rev 1833)
+++ jbpm4/pvm/trunk/modules/core/src/test/java/org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java 2008-08-06 09:59:01 UTC (rev 1834)
@@ -22,13 +22,14 @@
package org.jbpm.pvm.api.basicfeatures;
import junit.framework.Test;
+import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* @author Tom Baeyens
*/
-public class BasicFeaturesTests {
+public class BasicFeaturesTests extends TestCase {
public static Test suite() {
TestSuite suite = new TestSuite("org.jbpm.pvm.api.basicfeatures");
Added: jbpm4/pvm/trunk/modules/minimal/pom.xml
===================================================================
--- jbpm4/pvm/trunk/modules/minimal/pom.xml (rev 0)
+++ jbpm4/pvm/trunk/modules/minimal/pom.xml 2008-08-06 09:59:01 UTC (rev 1834)
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <name>JBoss jBPM - PVM Minimal Dependencies</name>
+ <groupId>org.jboss.jbpm.pvm</groupId>
+ <artifactId>pvm-minimal</artifactId>
+ <packaging>pom</packaging>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jboss.jbpm.pvm</groupId>
+ <artifactId>pvm-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.jbpm.pvm</groupId>
+ <artifactId>pvm</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel-engine</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel-impl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-j2ee</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>jboss-seam</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.livetribe</groupId>
+ <artifactId>livetribe-jsr223</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbpm.pvm</groupId>
+ <artifactId>pvm</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel-engine</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>juel</groupId>
+ <artifactId>juel-impl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-j2ee</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>jboss-seam</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.livetribe</groupId>
+ <artifactId>livetribe-jsr223</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testSourceDirectory>${basedir}/../core/src/test/java</testSourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>test</phase>
+ <goals><goal>testCompile</goal></goals>
+ </execution>
+ </executions>
+ <configuration>
+ <testIncludes>
+ <include>org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java</include>
+ </testIncludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>test</phase>
+ <goals><goal>test</goal></goals>
+ </execution>
+ </executions>
+ <configuration>
+ <includes>
+ <include>org/jbpm/pvm/api/basicfeatures/BasicFeaturesTests.java</include>
+ </includes>
+ <testSourceDirectory>${basedir}/../core/src/test/java</testSourceDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Property changes on: jbpm4/pvm/trunk/modules/minimal/pom.xml
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: jbpm4/pvm/trunk/pom.xml
===================================================================
--- jbpm4/pvm/trunk/pom.xml 2008-08-06 09:16:01 UTC (rev 1833)
+++ jbpm4/pvm/trunk/pom.xml 2008-08-06 09:59:01 UTC (rev 1834)
@@ -31,6 +31,7 @@
<!-- ### MODULES ######################################################## -->
<modules>
<module>modules/core</module>
+ <module>modules/minimal</module>
</modules>
<!-- ### PROPERTIES ##################################################### -->
17 years, 8 months
JBoss JBPM SVN: r1833 - jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2008-08-06 05:16:01 -0400 (Wed, 06 Aug 2008)
New Revision: 1833
Added:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java
Modified:
jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java
Log:
removed dependency on javax.transaction.Syncronization in ExceptionHandlerImpl
Modified: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java 2008-08-06 08:13:08 UTC (rev 1832)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerImpl.java 2008-08-06 09:16:01 UTC (rev 1833)
@@ -25,21 +25,15 @@
import java.util.ArrayList;
import java.util.List;
-import javax.transaction.Status;
-import javax.transaction.Synchronization;
import org.jbpm.pvm.PvmException;
import org.jbpm.pvm.env.Environment;
-import org.jbpm.pvm.env.EnvironmentFactory;
import org.jbpm.pvm.env.Transaction;
-import org.jbpm.pvm.internal.cmd.Command;
-import org.jbpm.pvm.internal.cmd.CommandService;
import org.jbpm.pvm.internal.log.Log;
import org.jbpm.pvm.internal.model.op.MoveToChildNode;
import org.jbpm.pvm.internal.wire.Descriptor;
import org.jbpm.pvm.listener.EventListener;
import org.jbpm.pvm.model.ProcessDefinition;
-import org.jbpm.pvm.session.DbSession;
/**
* @author Tom Baeyens
@@ -47,7 +41,7 @@
public class ExceptionHandlerImpl implements Serializable {
private static final long serialVersionUID = 1L;
- private static final Log log = Log.getLog(ExceptionHandlerImpl.class.getName());
+ static final Log log = Log.getLog(ExceptionHandlerImpl.class.getName());
protected long dbid;
protected int dbversion;
@@ -127,12 +121,14 @@
Transaction transaction = (environment!=null ? environment.get(Transaction.class) : null);
if (transaction!=null) {
log.trace("registering exception handler to "+transaction);
- AfterTxCompletionListener afterTxCompletionListener = new AfterTxCompletionListener(
- execution,
+ ExceptionHandlerSynchronization exceptionHandlerSynchronization = new ExceptionHandlerSynchronization(
+ this, execution,
exception,
environment.getEnvironmentFactory()
);
- transaction.registerSynchronization(afterTxCompletionListener);
+ // registration of the synchronization is delegated to the AfterTxCompletionListener
+ // to avoid a dependency on class Synchronization
+ exceptionHandlerSynchronization.register(transaction);
log.trace("registering exception handler to "+transaction);
throw new PvmException("transaction exception handler registered handler after transaction completed. make sure this transaction is rolled back", exception);
} else {
@@ -143,7 +139,7 @@
}
}
- private void executeHandler(ExecutionImpl execution, Exception exception) {
+ void executeHandler(ExecutionImpl execution, Exception exception) {
if (eventListenerReferences!=null) {
for (ObjectReference<EventListener> eventListenerReference: eventListenerReferences) {
@@ -216,46 +212,6 @@
}
}
- private class AfterTxCompletionListener implements Synchronization, Command<Object> {
-
- private static final long serialVersionUID = 1L;
-
- protected ExecutionImpl execution;
- protected Exception exception;
- protected EnvironmentFactory environmentFactory;
-
- public AfterTxCompletionListener(ExecutionImpl execution, Exception exception, EnvironmentFactory environmentFactory) {
- this.execution = execution;
- this.exception = exception;
- this.environmentFactory = environmentFactory;
- }
-
- public void afterCompletion(int status) {
- if (status!=Status.STATUS_ROLLEDBACK) {
- log.info("WARNING: no rollback after transactional exception handler. did you forget to rollback the transaction ?");
- }
- CommandService commandService = environmentFactory.get(CommandService.class);
- if (commandService==null) {
- throw new PvmException("environment factory doesn't have a command service");
- }
- commandService.execute(this);
- }
-
- public Object execute(Environment environment) {
- // reload the execution
- DbSession dbSession = environment.get(DbSession.class);
- if (dbSession==null) {
- throw new PvmException("no "+DbSession.class.getName()+" available in the environment for reloading the execution");
- }
- execution = dbSession.get(ExecutionImpl.class, execution.getDbid());
- executeHandler(execution, exception);
- return null;
- }
-
- public void beforeCompletion() {
- }
- }
-
public static void rethrow(Exception exception, String prefixMessage) {
log.trace("rethrowing "+exception);
if (exception instanceof RuntimeException) {
Added: jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java
===================================================================
--- jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java (rev 0)
+++ jbpm4/pvm/trunk/modules/core/src/main/java/org/jbpm/pvm/internal/model/ExceptionHandlerSynchronization.java 2008-08-06 09:16:01 UTC (rev 1833)
@@ -0,0 +1,82 @@
+/*
+ * 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.jbpm.pvm.internal.model;
+
+import javax.transaction.Status;
+import javax.transaction.Synchronization;
+
+import org.jbpm.pvm.PvmException;
+import org.jbpm.pvm.env.Environment;
+import org.jbpm.pvm.env.EnvironmentFactory;
+import org.jbpm.pvm.env.Transaction;
+import org.jbpm.pvm.internal.cmd.Command;
+import org.jbpm.pvm.internal.cmd.CommandService;
+import org.jbpm.pvm.session.DbSession;
+
+public class ExceptionHandlerSynchronization implements Synchronization, Command<Object> {
+
+ private final ExceptionHandlerImpl exceptionHandler;
+
+ private static final long serialVersionUID = 1L;
+
+ protected ExecutionImpl execution;
+ protected Exception exception;
+ protected EnvironmentFactory environmentFactory;
+
+ public ExceptionHandlerSynchronization(ExceptionHandlerImpl exceptionHandler, ExecutionImpl execution, Exception exception, EnvironmentFactory environmentFactory) {
+ this.exceptionHandler = exceptionHandler;
+ this.execution = execution;
+ this.exception = exception;
+ this.environmentFactory = environmentFactory;
+ }
+
+ public void afterCompletion(int status) {
+ if (status!=Status.STATUS_ROLLEDBACK) {
+ ExceptionHandlerImpl.log.info("WARNING: no rollback after transactional exception handler. did you forget to rollback the transaction ?");
+ }
+ CommandService commandService = environmentFactory.get(CommandService.class);
+ if (commandService==null) {
+ throw new PvmException("environment factory doesn't have a command service");
+ }
+ commandService.execute(this);
+ }
+
+ public Object execute(Environment environment) {
+ // reload the execution
+ DbSession dbSession = environment.get(DbSession.class);
+ if (dbSession==null) {
+ throw new PvmException("no "+DbSession.class.getName()+" available in the environment for reloading the execution");
+ }
+ execution = dbSession.get(ExecutionImpl.class, execution.getDbid());
+ exceptionHandler.executeHandler(execution, exception);
+ return null;
+ }
+
+ public void beforeCompletion() {
+ }
+
+ public void register(Transaction transaction) {
+ // registration of the synchronization is delegated to the AfterTxCompletionListener
+ // to avoid a dependency on class Synchronization in class ExceptionHandlerImpl
+ transaction.registerSynchronization(this);
+ }
+}
\ No newline at end of file
17 years, 8 months
JBoss JBPM SVN: r1832 - in jbpm3/trunk/modules: jbpm4jsf and 3 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-06 04:13:08 -0400 (Wed, 06 Aug 2008)
New Revision: 1832
Modified:
jbpm3/trunk/modules/console/pom.xml
jbpm3/trunk/modules/jbpm4jsf/pom.xml
jbpm3/trunk/modules/jpdl/core/pom.xml
jbpm3/trunk/modules/jpdl/examples/pom.xml
jbpm3/trunk/modules/jpdl/identity/pom.xml
Log:
modified dependency scopes with jboss as in mind, for the console's benefit
Modified: jbpm3/trunk/modules/console/pom.xml
===================================================================
--- jbpm3/trunk/modules/console/pom.xml 2008-08-06 07:15:57 UTC (rev 1831)
+++ jbpm3/trunk/modules/console/pom.xml 2008-08-06 08:13:08 UTC (rev 1832)
@@ -36,34 +36,14 @@
<!-- jBPM Dependencies -->
<dependency>
<groupId>org.jboss.jbpm</groupId>
- <artifactId>jbpm-jpdl-identity</artifactId>
- <version>${version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.jbpm</groupId>
<artifactId>jbpm-jbpm4jsf</artifactId>
<version>${version}</version>
- <scope>provided</scope>
</dependency>
-
<dependency>
- <groupId>com.sun.facelets</groupId>
- <artifactId>jsf-facelets</artifactId>
- </dependency>
- <dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.gravel</groupId>
- <artifactId>gravel</artifactId>
- </dependency>
- <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
Modified: jbpm3/trunk/modules/jbpm4jsf/pom.xml
===================================================================
--- jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-06 07:15:57 UTC (rev 1831)
+++ jbpm3/trunk/modules/jbpm4jsf/pom.xml 2008-08-06 08:13:08 UTC (rev 1832)
@@ -44,18 +44,22 @@
<dependency>
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
+ <scope>provided</scope>
</dependency>
<!-- Provided Dependencies -->
Modified: jbpm3/trunk/modules/jpdl/core/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/core/pom.xml 2008-08-06 07:15:57 UTC (rev 1831)
+++ jbpm3/trunk/modules/jpdl/core/pom.xml 2008-08-06 08:13:08 UTC (rev 1832)
@@ -40,6 +40,7 @@
<dependency>
<groupId>bsh</groupId>
<artifactId>bsh</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
@@ -48,18 +49,22 @@
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
@@ -69,18 +74,22 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
+ <scope>provided</scope>
</dependency>
<!-- Test Dependencies -->
Modified: jbpm3/trunk/modules/jpdl/examples/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/examples/pom.xml 2008-08-06 07:15:57 UTC (rev 1831)
+++ jbpm3/trunk/modules/jpdl/examples/pom.xml 2008-08-06 08:13:08 UTC (rev 1832)
@@ -47,6 +47,21 @@
<artifactId>drools-core</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
Modified: jbpm3/trunk/modules/jpdl/identity/pom.xml
===================================================================
--- jbpm3/trunk/modules/jpdl/identity/pom.xml 2008-08-06 07:15:57 UTC (rev 1831)
+++ jbpm3/trunk/modules/jpdl/identity/pom.xml 2008-08-06 08:13:08 UTC (rev 1832)
@@ -59,6 +59,26 @@
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>bsh</groupId>
+ <artifactId>bsh</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
17 years, 8 months