[jbpm-commits] JBoss JBPM SVN: r1636 - in api/trunk/modules: api/src/main/java/org/jboss/bpm/client and 15 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Jul 15 09:05:26 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-07-15 09:05:25 -0400 (Tue, 15 Jul 2008)
New Revision: 1636
Added:
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSetterSupport.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSupport.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/
api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split-api10.xml
api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn
api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn_diagram
api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.png
Removed:
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Executable.java
api/trunk/modules/api/src/test/java/org/jboss/bpm/pattern/
Modified:
api/trunk/modules/api/pom.xml
api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/EventImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/HandlerImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/jaxb/JAXBHandler.java
api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/TaskA.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/TaskA.java
api/trunk/modules/testsuite/src/test/resources/samples/sequence/basic-sequence-api10.xml
api/trunk/modules/testsuite/src/test/resources/samples/task/basic-task-api10.xml
Log:
[JBPM-1321] ParallelSplit
Modified: api/trunk/modules/api/pom.xml
===================================================================
--- api/trunk/modules/api/pom.xml 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/pom.xml 2008-07-15 13:05:25 UTC (rev 1636)
@@ -62,18 +62,17 @@
<plugins>
<plugin>
<!--
- ~/.m2/settings.xml
+ ~/.m2/settings.xml
+ <pluginGroups>
+ <pluginGroup>com.sun.tools.jxc.maven2</pluginGroup>
+ </pluginGroups>
- <pluginGroups>
- <pluginGroup>com.sun.tools.jxc.maven2</pluginGroup>
- </pluginGroups>
-
- mvn jaxb-schemagen:generate
+ mvn jaxb-schemagen:generate
-->
<groupId>com.sun.tools.jxc.maven2</groupId>
<artifactId>maven-jaxb-schemagen-plugin</artifactId>
<configuration>
- <srcdir>src/main/java/org/jboss/bpm/model</srcdir>
+ <srcdir>${basedir}/src/main/java/org/jboss/bpm/model/internal/jaxb</srcdir>
<destdir>target/schema</destdir>
<schemas>
<schema>
@@ -82,37 +81,29 @@
</schema>
</schemas>
<includes>
+ <include>JAXBActivity.java</include>
+ <include>JAXBComplexGateway.java</include>
+ <include>JAXBEndEvent.java</include>
+ <include>JAXBEvent.java</include>
+ <include>JAXBExclusiveGateway.java</include>
+ <include>JAXBExecutionHandler.java</include>
+ <include>JAXBFlowHandler.java</include>
+ <include>JAXBFlow.java</include>
+ <include>JAXBFlowObject.java</include>
+ <include>JAXBGateway.java</include>
+ <include>JAXBHandler.java</include>
+ <include>JAXBInclusiveGateway.java</include>
+ <include>JAXBIntermediateEvent.java</include>
+ <include>JAXBMessageFlow.java</include>
+ <include>JAXBParallelGateway.java</include>
+ <include>JAXBProcess.java</include>
+ <include>JAXBSequenceFlow.java</include>
+ <include>JAXBSignalHandler.java</include>
+ <include>JAXBStartEvent.java</include>
+ <include>JAXBSubProcess.java</include>
+ <include>JAXBTask.java</include>
+ <include>ObjectFactory.java</include>
<include>package-info.java</include>
- <include>AbstractActivity.java</include>
- <include>AbstractEndEvent.java</include>
- <include>AbstractEvent.java</include>
- <include>AbstractFlow.java</include>
- <include>AbstractFlowObject.java</include>
- <include>AbstractGateway.java</include>
- <include>AbstractItermediateEvent.java</include>
- <include>AbstractProcess.java</include>
- <include>AbstractStartEvent.java</include>
- <include>AbstractSubProcess.java</include>
- <include>AbstractTask.java</include>
-
- <include>Activity.java</include>
- <include>ComplexGateway.java</include>
- <include>EndEvent.java</include>
- <include>Event.java</include>
- <include>ExclusiveGateway.java</include>
- <include>FlowObject.java</include>
- <include>Flow.java</include>
- <include>Gateway.java</include>
- <include>InclusiveGateway.java</include>
- <include>ItermediateEvent.java</include>
- <include>MessageFlow.java</include>
- <include>ParallelGateway.java</include>
- <include>Process.java</include>
- <include>SequenceFlow.java</include>
- <include>Signal.java</include>
- <include>StartEvent.java</include>
- <include>SubProcess.java</include>
- <include>Task.java</include>
</includes>
<verbose>false</verbose>
</configuration>
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -25,7 +25,6 @@
import java.util.concurrent.Future;
-import org.jboss.bpm.model.Executable;
import org.jboss.bpm.model.ExecutionHandler;
import org.jboss.bpm.model.FlowHandler;
import org.jboss.bpm.model.FlowObject;
@@ -34,6 +33,7 @@
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.model.SignalHandler;
import org.jboss.bpm.runtime.Attachments;
+import org.jboss.bpm.runtime.HandlerSupport;
/**
* The ExecutionManager executes processes
@@ -70,21 +70,21 @@
protected ExecutionHandler getExecutionHandler(FlowObject target)
{
- Executable exfo = getExecutable(target);
+ HandlerSupport exfo = getExecutable(target);
ExecutionHandler handler = exfo.getExecutionHandler();
return handler != null ? handler : exfo.getDefaultExecutionHandler();
}
protected SignalHandler getSignalHandler(FlowObject target)
{
- Executable exfo = getExecutable(target);
+ HandlerSupport exfo = getExecutable(target);
SignalHandler handler = exfo.getSignalHandler();
return handler != null ? handler : exfo.getDefaultSignalHandler();
}
protected FlowHandler getFlowHandler(FlowObject target)
{
- Executable exfo = getExecutable(target);
+ HandlerSupport exfo = getExecutable(target);
FlowHandler handler = exfo.getFlowHandler();
return handler != null ? handler : exfo.getDefaultFlowHandler();
}
@@ -95,10 +95,10 @@
sm.throwSignal(signal);
}
- private Executable getExecutable(FlowObject fo)
+ private HandlerSupport getExecutable(FlowObject fo)
{
- if (fo instanceof Executable == false)
+ if (fo instanceof HandlerSupport == false)
throw new IllegalStateException("Flow object is not executable: " + fo);
- return (Executable)fo;
+ return (HandlerSupport)fo;
}
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Event.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -21,6 +21,7 @@
*/
package org.jboss.bpm.model;
+
//$Id$
/**
@@ -31,7 +32,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public interface Event extends FlowObject, Executable
+public interface Event extends FlowObject
{
}
\ No newline at end of file
Deleted: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Executable.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Executable.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Executable.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -1,51 +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$
-
-/**
- * A combined interface for execution aspects
- *
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public interface Executable
-{
- /** Get the associated ExecutionHandler */
- ExecutionHandler getExecutionHandler();
-
- /** Get the default ExecutionHandler */
- ExecutionHandler getDefaultExecutionHandler();
-
- /** Get the associated SignalHandler */
- SignalHandler getSignalHandler();
-
- /** Get the default SignalHandler */
- SignalHandler getDefaultSignalHandler();
-
- /** Get the associated FlowHandler */
- FlowHandler getFlowHandler();
-
- /** Get the default FlowHandler */
- FlowHandler getDefaultFlowHandler();
-}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ExecutionHandler.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -24,10 +24,11 @@
//$Id$
import org.jboss.bpm.client.ProcessEngine;
+import org.jboss.bpm.runtime.HandlerSupport;
import org.jboss.bpm.runtime.Token;
/**
- * The {@link ProcessEngine} invokes the ExecutionHandler on an {@link Executable}
+ * The {@link ProcessEngine} invokes the ExecutionHandler on an {@link HandlerSupport}
* {@link FlowObject} to execute user provided business logic.
*
* @author thomas.diesler at jboss.com
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/FlowHandler.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -24,10 +24,11 @@
//$Id$
import org.jboss.bpm.client.ProcessEngine;
+import org.jboss.bpm.runtime.HandlerSupport;
import org.jboss.bpm.runtime.Token;
/**
- * The {@link ProcessEngine} invokes the FlowHandler on an {@link Executable}
+ * The {@link ProcessEngine} invokes the FlowHandler on an {@link HandlerSupport}
* {@link FlowObject} to move the {@link Token} to the next {@link FlowObject}.
*
* @author thomas.diesler at jboss.com
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Gateway.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -21,6 +21,7 @@
*/
package org.jboss.bpm.model;
+
//$Id: ExecutionHandlerImpl.java 1627 2008-07-14 15:16:28Z thomas.diesler at jboss.com $
/**
@@ -31,7 +32,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public interface Gateway extends FlowObject, NamedFlowObject, Executable, MultipleOutFlowSupport, MultipleInFlowSupport
+public interface Gateway extends FlowObject, NamedFlowObject, MultipleOutFlowSupport, MultipleInFlowSupport
{
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilder.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -21,142 +21,94 @@
*/
package org.jboss.bpm.model;
+import org.jboss.bpm.client.ProcessManager;
+
//$Id$
-import org.jboss.bpm.model.internal.ComplexGatewayImpl;
-import org.jboss.bpm.model.internal.EndEventImpl;
-import org.jboss.bpm.model.internal.ExclusiveGatewayImpl;
-import org.jboss.bpm.model.internal.FlowObjectImpl;
-import org.jboss.bpm.model.internal.InclusiveGatewayImpl;
-import org.jboss.bpm.model.internal.IntermediateEventImpl;
-import org.jboss.bpm.model.internal.MessageFlowImpl;
-import org.jboss.bpm.model.internal.ParallelGatewayImpl;
-import org.jboss.bpm.model.internal.ProcessImpl;
-import org.jboss.bpm.model.internal.SequenceFlowImpl;
-import org.jboss.bpm.model.internal.StartEventImpl;
-import org.jboss.bpm.model.internal.SubProcessImpl;
-import org.jboss.bpm.model.internal.TaskImpl;
/**
- * The ProcessBuilder can be used to dynamically build {@link Process}es.
+ * The ProcessBuilder can be used to build a {@link Process} dynamically.
*
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public class ProcessBuilder
+public interface ProcessBuilder
{
- private ProcessImpl proc;
- private FlowObjectImpl flowObject;
-
- public ProcessBuilder (String procName)
- {
- proc = new ProcessImpl(procName);
- }
-
- public Process getProcess()
- {
- proc.initialize();
- return proc;
- }
-
- public ProcessBuilder addStartEvent()
- {
- flowObject = new StartEventImpl();
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addSequenceFlow(String name)
- {
- if (flowObject instanceof SingleOutFlowSupport)
- {
- SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
- outFlow.setOutFlow(new SequenceFlowImpl(name));
- }
- else if (flowObject instanceof MultipleOutFlowSupport)
- {
- MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
- outFlow.addOutFlow(new SequenceFlowImpl(name));
- }
- else
- {
- throw new IllegalStateException("Cannot add a sequence flow to: " + flowObject);
- }
- return this;
- }
-
- public ProcessBuilder addMessageFlow(String name)
- {
- if (flowObject instanceof SingleOutFlowSupport)
- {
- SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
- outFlow.setOutFlow(new MessageFlowImpl(name));
- }
- else if (flowObject instanceof MultipleOutFlowSupport)
- {
- MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
- outFlow.addOutFlow(new MessageFlowImpl(name));
- }
- else
- {
- throw new IllegalStateException("Cannot add a message flow to: " + flowObject);
- }
- return this;
- }
-
- public ProcessBuilder addTask(String name)
- {
- flowObject = new TaskImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addExclusiveGateway(String name)
- {
- flowObject = new ExclusiveGatewayImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addInclusiveGateway(String name)
- {
- flowObject = new InclusiveGatewayImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addComplexGateway(String name)
- {
- flowObject = new ComplexGatewayImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addParallelGateway(String name)
- {
- flowObject = new ParallelGatewayImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addSubProcess(String name)
- {
- flowObject = new SubProcessImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addItermediateEvent(String name)
- {
- flowObject = new IntermediateEventImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
-
- public ProcessBuilder addEndEvent(String name)
- {
- flowObject = new EndEventImpl(name);
- proc.addFlowObject(flowObject);
- return this;
- }
+ /**
+ * Create the {@link Process}.
+ * <p/>
+ * This is the final call to the ProcessBuilder after all elements have been added.
+ * Internally it registers the {@link Process} with the {@link ProcessManager}.
+ */
+ Process createProcess();
+
+ /**
+ * Add a {@link StartEvent}
+ */
+ ProcessBuilder addStartEvent();
+
+ /**
+ * Add a {@link SequenceFlow} with a given name
+ */
+ ProcessBuilder addSequenceFlow(String name);
+
+ /**
+ * Add a {@link MessageFlow} with a given name
+ */
+ ProcessBuilder addMessageFlow(String name);
+
+ /**
+ * Add a {@link Task} with a given name
+ */
+ ProcessBuilder addTask(String name);
+
+ /**
+ * Add an {@link ExclusiveGateway} with a given name
+ */
+ ProcessBuilder addExclusiveGateway(String name);
+
+ /**
+ * Add an {@link InclusiveGateway} with a given name
+ */
+ ProcessBuilder addInclusiveGateway(String name);
+
+ /**
+ * Add a {@link ComplexGateway} with a given name
+ */
+ ProcessBuilder addComplexGateway(String name);
+
+ /**
+ * Add a {@link ParallelGateway} with a given name
+ */
+ ProcessBuilder addParallelGateway(String name);
+
+ /**
+ * Add a {@link SubProcess} with a given name
+ */
+ ProcessBuilder addSubProcess(String name);
+
+ /**
+ * Add an {@link ItermediateEvent} with a given name
+ */
+ ProcessBuilder addItermediateEvent(String name);
+
+ /**
+ * Add an {@link EndEvent} with a given name
+ */
+ ProcessBuilder addEndEvent(String name);
+
+ /**
+ * Add an {@link ExecutionHandler} with a given Class
+ */
+ ProcessBuilder addExecutionHandler(Class<?> clazz);
+
+ /**
+ * Add an {@link FlowHandler} with a given Class
+ */
+ ProcessBuilder addFlowHandler(Class<?> clazz);
+
+ /**
+ * Add an {@link SignalHandler} with a given Class
+ */
+ ProcessBuilder addSignalHandler(Class<?> clazz);
}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.model;
+
+import org.jboss.bpm.model.internal.ProcessBuilderImpl;
+
+//$Id$
+
+/**
+ * A Factory for the {@link ProcessBuilder}.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public abstract class ProcessBuilderFactory
+{
+ /**
+ * Get a {@link ProcessBuilder} for a given process name.
+ */
+ public static ProcessBuilder newInstance(String processName)
+ {
+ return new ProcessBuilderImpl(processName);
+ }
+
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/ProcessBuilderFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SignalHandler.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -25,9 +25,10 @@
import org.jboss.bpm.client.ProcessEngine;
import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.runtime.HandlerSupport;
/**
- * The {@link ProcessEngine} invokes the SignalHandler on an {@link Executable}
+ * The {@link ProcessEngine} invokes the SignalHandler on an {@link HandlerSupport}
* {@link FlowObject} to send {@link Signal}s to the {@link SignalManager}.
*
* @author thomas.diesler at jboss.com
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/SubProcess.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -21,6 +21,7 @@
*/
package org.jboss.bpm.model;
+
//$Id$
/**
@@ -29,6 +30,6 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public interface SubProcess extends Process, Executable, SingleInFlowSupport, SingleOutFlowSupport
+public interface SubProcess extends Process, SingleInFlowSupport, SingleOutFlowSupport
{
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/Task.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -21,6 +21,7 @@
*/
package org.jboss.bpm.model;
+
//$Id$
/**
@@ -32,6 +33,6 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public interface Task extends Activity, Executable, SingleInFlowSupport, SingleOutFlowSupport
+public interface Task extends Activity, SingleInFlowSupport, SingleOutFlowSupport
{
}
\ No newline at end of file
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/EventImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/EventImpl.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/EventImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -26,6 +26,7 @@
import org.jboss.bpm.model.FlowHandler;
import org.jboss.bpm.model.SignalHandler;
import org.jboss.bpm.model.internal.jaxb.JAXBEvent;
+import org.jboss.bpm.runtime.HandlerSetterSupport;
//$Id$
@@ -37,7 +38,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public abstract class EventImpl extends FlowObjectImpl implements Event
+public abstract class EventImpl extends FlowObjectImpl implements Event, HandlerSetterSupport
{
private ExecutionHandler executionHandler;
private FlowHandler flowHandler;
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -38,6 +38,7 @@
import org.jboss.bpm.model.SignalHandler;
import org.jboss.bpm.model.internal.jaxb.JAXBFlow;
import org.jboss.bpm.model.internal.jaxb.JAXBGateway;
+import org.jboss.bpm.runtime.HandlerSetterSupport;
import org.jboss.bpm.runtime.Token;
/**
@@ -47,7 +48,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public class GatewayImpl extends FlowObjectImpl implements Gateway
+public class GatewayImpl extends FlowObjectImpl implements Gateway, HandlerSetterSupport
{
// provide logging
private static final Log log = LogFactory.getLog(GatewayImpl.class);
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/HandlerImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/HandlerImpl.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/HandlerImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -25,6 +25,7 @@
import org.jboss.bpm.model.Handler;
import org.jboss.bpm.model.internal.jaxb.JAXBHandler;
+import org.jboss.bpm.NotImplementedException;
/**
* Implement to handle the outgoing Flows for an FlowObject
@@ -41,8 +42,30 @@
this.delegate = delegate;
}
+ @SuppressWarnings("unchecked")
protected <T> T newInstance(Class<T> clazz)
{
- return delegate.newInstance(clazz);
+ try
+ {
+ String className = delegate.getClassName();
+ String beanRef = delegate.getBeanRef();
+ if (className != null)
+ {
+ ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+ return (T)ctxLoader.loadClass(className).newInstance();
+ }
+ else if (beanRef != null)
+ {
+ throw new NotImplementedException();
+ }
+ else
+ {
+ throw new IllegalStateException("There is no 'class' nor 'bean' attribute set for this handler");
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException("Cannot instanciate the handler", ex);
+ }
}
}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,199 @@
+/*
+ * 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.client.ProcessManager;
+import org.jboss.bpm.model.ExecutionHandler;
+import org.jboss.bpm.model.FlowHandler;
+import org.jboss.bpm.model.MultipleOutFlowSupport;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.SignalHandler;
+import org.jboss.bpm.model.SingleOutFlowSupport;
+import org.jboss.bpm.runtime.HandlerSetterSupport;
+
+/**
+ * The ProcessBuilder can be used to dynamically build {@link Process}es.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public class ProcessBuilderImpl implements ProcessBuilder
+{
+ private ProcessImpl proc;
+ private FlowObjectImpl flowObject;
+
+ public ProcessBuilderImpl(String procName)
+ {
+ proc = new ProcessImpl(procName);
+ }
+
+ public Process createProcess()
+ {
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ pm.registerProcess(proc);
+ return proc;
+ }
+
+ public ProcessBuilder addStartEvent()
+ {
+ flowObject = new StartEventImpl();
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addSequenceFlow(String name)
+ {
+ if (flowObject instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
+ outFlow.setOutFlow(new SequenceFlowImpl(name));
+ }
+ else if (flowObject instanceof MultipleOutFlowSupport)
+ {
+ MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
+ outFlow.addOutFlow(new SequenceFlowImpl(name));
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot add a sequence flow to: " + flowObject);
+ }
+ return this;
+ }
+
+ public ProcessBuilder addMessageFlow(String name)
+ {
+ if (flowObject instanceof SingleOutFlowSupport)
+ {
+ SingleOutFlowSupport outFlow = (SingleOutFlowSupport)flowObject;
+ outFlow.setOutFlow(new MessageFlowImpl(name));
+ }
+ else if (flowObject instanceof MultipleOutFlowSupport)
+ {
+ MultipleOutFlowSupport outFlow = (MultipleOutFlowSupport)flowObject;
+ outFlow.addOutFlow(new MessageFlowImpl(name));
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot add a message flow to: " + flowObject);
+ }
+ return this;
+ }
+
+ public ProcessBuilder addTask(String name)
+ {
+ flowObject = new TaskImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addExclusiveGateway(String name)
+ {
+ flowObject = new ExclusiveGatewayImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addInclusiveGateway(String name)
+ {
+ flowObject = new InclusiveGatewayImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addComplexGateway(String name)
+ {
+ flowObject = new ComplexGatewayImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addParallelGateway(String name)
+ {
+ flowObject = new ParallelGatewayImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addSubProcess(String name)
+ {
+ flowObject = new SubProcessImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addItermediateEvent(String name)
+ {
+ flowObject = new IntermediateEventImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addEndEvent(String name)
+ {
+ flowObject = new EndEventImpl(name);
+ proc.addFlowObject(flowObject);
+ return this;
+ }
+
+ public ProcessBuilder addExecutionHandler(Class<?> clazz)
+ {
+ return addHandler(clazz);
+ }
+
+ public ProcessBuilder addFlowHandler(Class<?> clazz)
+ {
+ return addHandler(clazz);
+ }
+
+ public ProcessBuilder addSignalHandler(Class<?> clazz)
+ {
+ return addHandler(clazz);
+ }
+
+ private ProcessBuilder addHandler(Class<?> clazz)
+ {
+ if (flowObject instanceof HandlerSetterSupport == false)
+ throw new IllegalStateException("Current flow object does not support handlers: " + flowObject);
+
+ HandlerSetterSupport hs = (HandlerSetterSupport)flowObject;
+ try
+ {
+ Object handler = clazz.newInstance();
+ if (handler instanceof ExecutionHandler)
+ hs.setExecutionHandler((ExecutionHandler)handler);
+ else if (handler instanceof FlowHandler)
+ hs.setFlowHandler((FlowHandler)handler);
+ else if (handler instanceof SignalHandler)
+ hs.setSignalHandler((SignalHandler)handler);
+ else
+ throw new IllegalArgumentException("Given class is not a supported handler");
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalArgumentException("Cannot instanciate handler", ex);
+ }
+ return this;
+ }
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/ProcessBuilderImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -32,6 +32,7 @@
import org.jboss.bpm.model.SubProcess;
import org.jboss.bpm.model.internal.jaxb.JAXBFlow;
import org.jboss.bpm.model.internal.jaxb.JAXBSubProcess;
+import org.jboss.bpm.runtime.HandlerSetterSupport;
import org.jboss.bpm.runtime.Token;
/**
@@ -40,7 +41,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public class SubProcessImpl extends ProcessImpl implements SubProcess
+public class SubProcessImpl extends ProcessImpl implements SubProcess, HandlerSetterSupport
{
private Flow inFlow;
private Flow outFlow;
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -32,6 +32,7 @@
import org.jboss.bpm.model.Task;
import org.jboss.bpm.model.internal.jaxb.JAXBFlow;
import org.jboss.bpm.model.internal.jaxb.JAXBTask;
+import org.jboss.bpm.runtime.HandlerSetterSupport;
import org.jboss.bpm.runtime.Token;
//$Id$
@@ -45,7 +46,7 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public class TaskImpl extends ActivityImpl implements Task
+public class TaskImpl extends ActivityImpl implements Task, HandlerSetterSupport
{
// provide logging
private static final Log log = LogFactory.getLog(TaskImpl.class);
Modified: api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/jaxb/JAXBHandler.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/jaxb/JAXBHandler.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/model/internal/jaxb/JAXBHandler.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -26,8 +26,6 @@
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
-import org.jboss.bpm.NotImplementedException;
-
/**
* Implement to handle the outgoing Flows for an FlowObject
*
@@ -61,29 +59,4 @@
{
this.beanRef = beanRef;
}
-
- @SuppressWarnings("unchecked")
- public <T> T newInstance(Class<T> clazz)
- {
- try
- {
- if (className != null)
- {
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- return (T)ctxLoader.loadClass(className).newInstance();
- }
- else if (beanRef != null)
- {
- throw new NotImplementedException();
- }
- else
- {
- throw new IllegalStateException("There is no 'class' nor 'bean' attribute set for this handler");
- }
- }
- catch (Exception ex)
- {
- throw new IllegalStateException("Cannot instanciate the handler", ex);
- }
- }
}
\ No newline at end of file
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSetterSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSetterSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSetterSupport.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,46 @@
+/*
+ * 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.runtime;
+
+import org.jboss.bpm.model.ExecutionHandler;
+import org.jboss.bpm.model.FlowHandler;
+import org.jboss.bpm.model.SignalHandler;
+
+//$Id$
+
+/**
+ * A combined interface for execution aspects
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface HandlerSetterSupport extends HandlerSupport
+{
+ /** Set the associated ExecutionHandler */
+ void setExecutionHandler(ExecutionHandler handler);
+
+ /** Set the associated SignalHandler */
+ void setSignalHandler(SignalHandler handler);
+
+ /** Set the associated FlowHandler */
+ void setFlowHandler(FlowHandler handler);
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSetterSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSupport.java
===================================================================
--- api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSupport.java (rev 0)
+++ api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSupport.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.runtime;
+
+import org.jboss.bpm.model.ExecutionHandler;
+import org.jboss.bpm.model.FlowHandler;
+import org.jboss.bpm.model.SignalHandler;
+
+//$Id$
+
+/**
+ * A combined interface for execution aspects
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface HandlerSupport
+{
+ /** Get the associated ExecutionHandler */
+ ExecutionHandler getExecutionHandler();
+
+ /** Get the default ExecutionHandler */
+ ExecutionHandler getDefaultExecutionHandler();
+
+ /** Get the associated SignalHandler */
+ SignalHandler getSignalHandler();
+
+ /** Get the default SignalHandler */
+ SignalHandler getDefaultSignalHandler();
+
+ /** Get the associated FlowHandler */
+ FlowHandler getFlowHandler();
+
+ /** Get the default FlowHandler */
+ FlowHandler getDefaultFlowHandler();
+}
\ No newline at end of file
Property changes on: api/trunk/modules/api/src/main/java/org/jboss/bpm/runtime/HandlerSupport.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java
===================================================================
--- api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/api/src/test/java/org/jboss/bpm/model/ProcessMarshallerTest.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -26,8 +26,8 @@
import java.io.StringReader;
import java.io.StringWriter;
-import junit.framework.TestCase;
-
+import org.jboss.bpm.MockEngineTestCase;
+import org.jboss.bpm.model.internal.ProcessBuilderImpl;
import org.jboss.bpm.util.ProcessMarshaller;
import org.jboss.bpm.util.ProcessUnmarshaller;
@@ -37,21 +37,21 @@
* @author thomas.diesler at jboss.com
* @since 08-Jul-2008
*/
-public class ProcessMarshallerTest extends TestCase
+public class ProcessMarshallerTest extends MockEngineTestCase
{
public void testProcess() throws Exception
{
- Process inProc = new ProcessBuilder("myproc").addStartEvent().addSequenceFlow("task").addTask("task").
+ Process inProc = new ProcessBuilderImpl("myproc").addStartEvent().addSequenceFlow("task").addTask("task").
addSequenceFlow("split").addParallelGateway("split").addSequenceFlow("subproc").addSequenceFlow("event").
addSubProcess("subproc").addSequenceFlow("join").addItermediateEvent("event").addSequenceFlow("join").
- addParallelGateway("join").addSequenceFlow("end").addEndEvent("end").getProcess();
+ addParallelGateway("join").addSequenceFlow("end").addEndEvent("end").createProcess();
StringWriter strwr = new StringWriter();
ProcessMarshaller marshaller = new ProcessMarshaller();
marshaller.marshallProcess(inProc, strwr);
String xml = strwr.toString();
- System.out.println(xml);
+ //System.out.println(xml);
ProcessUnmarshaller unmarshaller = new ProcessUnmarshaller();
Process outProc = unmarshaller.unmarshallProcess(new StringReader(xml));
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/TaskA.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/TaskA.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/context/TaskA.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -23,7 +23,7 @@
// $Id$
-import org.jboss.bpm.model.internal.ExecutionHandlerImpl;
+import org.jboss.bpm.model.ExecutionHandler;
import org.jboss.bpm.runtime.ExecutionContext;
import org.jboss.bpm.runtime.Token;
@@ -33,9 +33,8 @@
* @author Thomas.Diesler at jboss.com
* @since 04-Jul-2008
*/
-public class TaskA extends ExecutionHandlerImpl
+public class TaskA implements ExecutionHandler
{
- @Override
public void execute(Token token)
{
ExecutionContext ctx = token.getExecutionContext();
Added: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java (rev 0)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,98 @@
+/*
+ * 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.samples.parallelsplit;
+
+// $Id$
+
+import java.net.URL;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalManager;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.model.Result;
+import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * A point in the workflow process where a single thread of control splits
+ * into multiple threads of control which can be executed in parallel,
+ * thus allowing activities to be executed simultaneously or in any order.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 03-Jul-2008
+ */
+public class ParallelSplitTest extends DefaultEngineTestCase
+{
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ SignalManager em = SignalManager.locateSignalManager();
+ em.addListener(getName(), this);
+ }
+
+ /**
+ * The ParallelGateway uses non threaded SequenceFlows
+ */
+ public void testParallelSplit() throws Exception
+ {
+ URL jpdlURL = getResourceURL("samples/parallelsplit/parallel-split-" + getDialect() + ".xml");
+
+ // Create a Process through the ProcessManager
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ Process proc = pm.createProcess(jpdlURL);
+
+ runProcess(proc);
+ }
+
+ public void testParallelSplitDynamic() throws Exception
+ {
+ // Create a Process through the ProcessBuilder
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance(getName());
+ Process proc = procBuilder.addStartEvent().addSequenceFlow("gateway").addParallelGateway("gateway").
+ addSequenceFlow("endA").addSequenceFlow("endB").addEndEvent("endA").addEndEvent("endB").createProcess();
+
+ runProcess(proc);
+ }
+
+ private void runProcess(Process proc) throws InterruptedException, ExecutionException
+ {
+ // Start the Process
+ Future<Result> end = proc.startProcess();
+ Result result = end.get();
+
+ // Validate received signals
+ List<Signal> signals = getSignals();
+ assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(5).getType());
+ assertEquals("EndEvent[endA]", signals.get(5).getFlowObject());
+ assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(6).getType());
+
+ assertEquals(Signal.Type.ENTER_END_EVENT, signals.get(7).getType());
+ assertEquals("EndEvent[endB]", signals.get(7).getFlowObject());
+ assertEquals(Signal.Type.EXIT_END_EVENT, signals.get(8).getType());
+ }
+}
Property changes on: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -25,11 +25,14 @@
import java.net.URL;
import java.util.List;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.client.SignalManager;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Result;
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.test.DefaultEngineTestCase;
@@ -42,34 +45,51 @@
*/
public class BasicSequenceTest extends DefaultEngineTestCase
{
- private URL jpdlURL;
-
@Override
protected void setUp() throws Exception
{
super.setUp();
- jpdlURL = getResourceURL("samples/sequence/basic-sequence-" + getDialect() + ".xml");
SignalManager em = SignalManager.locateSignalManager();
- em.addListener("basic-sequence", this);
+ em.addListener(getName(), this);
}
/**
* Test a basic sequence
*/
- public void testBasicSequence() throws Exception
+ public void testBasicSequence() throws Exception
{
+ URL jpdlURL = getResourceURL("samples/sequence/basic-sequence-" + getDialect() + ".xml");
+
// Create a Process through the ProcessManager
ProcessManager pm = ProcessManager.locateProcessManager();
Process proc = pm.createProcess(jpdlURL);
-
+
+ runProcess(proc);
+ }
+
+ /**
+ * Test a basic sequence through the ProcessBuilder
+ */
+ public void testBasicSequenceDynamic() throws Exception
+ {
+ // Create a Process through the ProcessBuilder
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance(getName());
+ Process proc = procBuilder.addStartEvent().addSequenceFlow("stateA").addTask("stateA").
+ addSequenceFlow("end").addEndEvent("end").createProcess();
+
+ runProcess(proc);
+ }
+
+ private void runProcess(Process proc) throws InterruptedException, ExecutionException
+ {
// Start the Process
Future<Result> end = proc.startProcess();
Result result = end.get();
-
+
// Validate the Result
assertNotNull("Result expected", result);
assertEquals("No attachments expected", 0, result.getAttachments().getAttachmentKeys().size());
-
+
// Validate received signals
List<Signal> signals = getSignals();
assertEquals(Signal.Type.ENTER_PROCESS, signals.get(0).getType());
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -25,11 +25,14 @@
import java.net.URL;
import java.util.List;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.client.SignalManager;
import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Result;
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.runtime.Attachments;
@@ -43,37 +46,53 @@
*/
public class BasicTaskTest extends DefaultEngineTestCase
{
- private URL jpdlURL;
-
@Override
protected void setUp() throws Exception
{
super.setUp();
- jpdlURL = getResourceURL("samples/task/basic-task-" + getDialect() + ".xml");
SignalManager em = SignalManager.locateSignalManager();
- em.addListener("basic-task", this);
+ em.addListener(getName(), this);
}
/**
- * Test that the execution context variables set by the Task
- * are visible to the client.
+ * Test that the execution context variables set by the Task are visible to the client.
*/
public void testBasicTask() throws Exception
{
+ URL jpdlURL = getResourceURL("samples/task/basic-task-" + getDialect() + ".xml");
+
// Create a Process through the ProcessManager
ProcessManager pm = ProcessManager.locateProcessManager();
Process proc = pm.createProcess(jpdlURL);
-
+
+ runProcess(proc);
+ }
+
+ /**
+ * Test a basic task through the ProcessBuilder
+ */
+ public void testBasicTaskDynamic() throws Exception
+ {
+ // Create a Process through the ProcessBuilder
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance(getName());
+ Process proc = procBuilder.addStartEvent().addSequenceFlow("stateA").addTask("stateA").addExecutionHandler(TaskA.class).
+ addSequenceFlow("end").addEndEvent("end").createProcess();
+
+ runProcess(proc);
+ }
+
+ private void runProcess(Process proc) throws InterruptedException, ExecutionException
+ {
// Start the Process
Future<Result> end = proc.startProcess();
Result result = end.get();
-
+
// Validate the Result
assertNotNull("Result expected", result);
Attachments att = result.getAttachments();
assertEquals("Attachments expected", 1, att.getAttachmentKeys().size());
assertEquals("Task: TaskA", att.getAttachment(String.class));
-
+
// Validate received signals
List<Signal> signals = getSignals();
assertEquals(Signal.Type.ENTER_PROCESS, signals.get(0).getType());
Modified: api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/TaskA.java
===================================================================
--- api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/TaskA.java 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/TaskA.java 2008-07-15 13:05:25 UTC (rev 1636)
@@ -23,7 +23,7 @@
// $Id$
-import org.jboss.bpm.model.internal.ExecutionHandlerImpl;
+import org.jboss.bpm.model.ExecutionHandler;
import org.jboss.bpm.runtime.ExecutionContext;
import org.jboss.bpm.runtime.Token;
@@ -33,9 +33,8 @@
* @author Thomas.Diesler at jboss.com
* @since 04-Jul-2008
*/
-public class TaskA extends ExecutionHandlerImpl
+public class TaskA implements ExecutionHandler
{
- @Override
public void execute(Token token)
{
ExecutionContext ctx = token.getExecutionContext();
Added: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split-api10.xml
===================================================================
--- api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split-api10.xml (rev 0)
+++ api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split-api10.xml 2008-07-15 13:05:25 UTC (rev 1636)
@@ -0,0 +1,11 @@
+<ns2:process name="testParallelSplit" xmlns:ns2="urn:api.bpm.jboss:jpdl-0.1">
+ <start>
+ <sequence to="gateway" />
+ </start>
+ <parallel-gateway name="gateway">
+ <sequence to="endA" />
+ <sequence to="endB" />
+ </parallel-gateway>
+ <end name="endA" />
+ <end name="endB" />
+</ns2:process>
\ No newline at end of file
Property changes on: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split-api10.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn
===================================================================
--- api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn (rev 0)
+++ api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn 2008-07-15 13:05:25 UTC (rev 1636)
@@ -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="__6YwkFJsEd2rTur0B442zw" iD="__6XicFJsEd2rTur0B442zw">
+ <pools xmi:type="bpmn:Pool" xmi:id="__7duoVJsEd2rTur0B442zw" iD="__7duoFJsEd2rTur0B442zw" name="Pool">
+ <vertices xmi:type="bpmn:Activity" xmi:id="_I-ywUVJtEd2rTur0B442zw" iD="_I-ywUFJtEd2rTur0B442zw" outgoingEdges="_P3mbMVJtEd2rTur0B442zw _Ry4cIVJtEd2rTur0B442zw" incomingEdges="_KocOsVJtEd2rTur0B442zw" activityType="GatewayParallel"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_KM9MkVJtEd2rTur0B442zw" iD="_KM9MkFJtEd2rTur0B442zw" outgoingEdges="_KocOsVJtEd2rTur0B442zw" activityType="EventStartEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_NKHhQVJtEd2rTur0B442zw" iD="_NKHhQFJtEd2rTur0B442zw" incomingEdges="_P3mbMVJtEd2rTur0B442zw" name="endA" activityType="EventEndEmpty"/>
+ <vertices xmi:type="bpmn:Activity" xmi:id="_RywgUFJtEd2rTur0B442zw" iD="_Ryv5QFJtEd2rTur0B442zw" incomingEdges="_Ry4cIVJtEd2rTur0B442zw" name="endB" activityType="EventEndEmpty"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_KocOsVJtEd2rTur0B442zw" iD="_KocOsFJtEd2rTur0B442zw" source="_KM9MkVJtEd2rTur0B442zw" target="_I-ywUVJtEd2rTur0B442zw"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_P3mbMVJtEd2rTur0B442zw" iD="_P3mbMFJtEd2rTur0B442zw" source="_I-ywUVJtEd2rTur0B442zw" target="_NKHhQVJtEd2rTur0B442zw"/>
+ <sequenceEdges xmi:type="bpmn:SequenceEdge" xmi:id="_Ry4cIVJtEd2rTur0B442zw" iD="_Ry4cIFJtEd2rTur0B442zw" source="_I-ywUVJtEd2rTur0B442zw" target="_RywgUFJtEd2rTur0B442zw"/>
+ </pools>
+</bpmn:BpmnDiagram>
Added: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn_diagram
===================================================================
--- api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn_diagram (rev 0)
+++ api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.bpmn_diagram 2008-07-15 13:05:25 UTC (rev 1636)
@@ -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="__63RsFJsEd2rTur0B442zw" type="Bpmn" name="parallel-split.bpmn_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="__89jcFJsEd2rTur0B442zw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="__9DDAFJsEd2rTur0B442zw" type="4008"/>
+ <children xmi:type="notation:Node" xmi:id="__9E4MFJsEd2rTur0B442zw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_I-6sIFJtEd2rTur0B442zw" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_I-76QFJtEd2rTur0B442zw" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_I-6sIVJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_I-6sIlJtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_I-6sI1JtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_I-6sJFJtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_I-ywUVJtEd2rTur0B442zw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I-7TMFJtEd2rTur0B442zw" x="96" y="72"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KM-asFJtEd2rTur0B442zw" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_KM_BwFJtEd2rTur0B442zw" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_KM-asVJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_KM-aslJtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_KM-as1JtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_KM-atFJtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_KM9MkVJtEd2rTur0B442zw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KM-atVJtEd2rTur0B442zw" x="17" y="82"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NKIvYFJtEd2rTur0B442zw" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_NKJ9gFJtEd2rTur0B442zw" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NKJWcFJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_NKJWcVJtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_NKJWclJtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_NKJWc1JtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_NKHhQVJtEd2rTur0B442zw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NKJWdFJtEd2rTur0B442zw" x="180" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RyyVgFJtEd2rTur0B442zw" type="2001">
+ <children xmi:type="notation:Node" xmi:id="_Ryy8kFJtEd2rTur0B442zw" type="4001"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_RyyVgVJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_RyyVglJtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="_RyyVg1JtEd2rTur0B442zw"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_RyyVhFJtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:Activity" href="parallel-split.bpmn#_RywgUFJtEd2rTur0B442zw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RyyVhVJtEd2rTur0B442zw" x="180" y="132"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__9E4MVJsEd2rTur0B442zw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__9E4MlJsEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__9E4M1JsEd2rTur0B442zw"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__89jcVJsEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="__89jclJsEd2rTur0B442zw"/>
+ <styles xmi:type="notation:FillStyle" xmi:id="__89jc1JsEd2rTur0B442zw" fillColor="16771304"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="__89jdFJsEd2rTur0B442zw" lineColor="11119017"/>
+ <element xmi:type="bpmn:Pool" href="parallel-split.bpmn#__7duoVJsEd2rTur0B442zw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__9GGUFJsEd2rTur0B442zw" x="16" y="16" width="333" height="202"/>
+ </children>
+ <styles xmi:type="notation:PageStyle" xmi:id="__63RsVJsEd2rTur0B442zw"/>
+ <styles xmi:type="notation:GuideStyle" xmi:id="__63RslJsEd2rTur0B442zw"/>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="__63Rs1JsEd2rTur0B442zw"/>
+ <element xmi:type="bpmn:BpmnDiagram" href="parallel-split.bpmn#__6YwkFJsEd2rTur0B442zw"/>
+ <edges xmi:type="notation:Edge" xmi:id="_Kof5EFJtEd2rTur0B442zw" type="3001" source="_KM-asFJtEd2rTur0B442zw" target="_I-6sIFJtEd2rTur0B442zw">
+ <children xmi:type="notation:Node" xmi:id="_Koi8YFJtEd2rTur0B442zw" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_Koi8YVJtEd2rTur0B442zw" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Koi8YlJtEd2rTur0B442zw" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Koi8Y1JtEd2rTur0B442zw" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_Kof5EVJtEd2rTur0B442zw" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Kof5ElJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Kof5E1JtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_KocOsVJtEd2rTur0B442zw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kof5FFJtEd2rTur0B442zw" points="[15, 0, -213, -12]$[208, 6, -20, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_P3o3cFJtEd2rTur0B442zw" type="3001" source="_I-6sIFJtEd2rTur0B442zw" target="_NKIvYFJtEd2rTur0B442zw">
+ <children xmi:type="notation:Node" xmi:id="_P3pegFJtEd2rTur0B442zw" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_P3pegVJtEd2rTur0B442zw" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_P3peglJtEd2rTur0B442zw" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_P3peg1JtEd2rTur0B442zw" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_P3o3cVJtEd2rTur0B442zw" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_P3o3clJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_P3o3c1JtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_P3mbMVJtEd2rTur0B442zw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P3o3dFJtEd2rTur0B442zw" points="[-23, -2, -136, 55]$[98, -51, -15, 6]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ry5qQFJtEd2rTur0B442zw" type="3001" source="_I-6sIFJtEd2rTur0B442zw" target="_RyyVgFJtEd2rTur0B442zw">
+ <children xmi:type="notation:Node" xmi:id="_Ry64YFJtEd2rTur0B442zw" type="4012">
+ <styles xmi:type="notation:FillStyle" xmi:id="_Ry64YVJtEd2rTur0B442zw" fillColor="16776959"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Ry64YlJtEd2rTur0B442zw" lineColor="16776959"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ry64Y1JtEd2rTur0B442zw" y="-10"/>
+ </children>
+ <styles xmi:type="notation:RoutingStyle" xmi:id="_Ry5qQVJtEd2rTur0B442zw" routing="Rectilinear" smoothness="Normal" closestDistance="true"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ry6RUFJtEd2rTur0B442zw" fontName="Arial"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Ry6RUVJtEd2rTur0B442zw" lineColor="0"/>
+ <element xmi:type="bpmn:SequenceEdge" href="parallel-split.bpmn#_Ry4cIVJtEd2rTur0B442zw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ry6RUlJtEd2rTur0B442zw" points="[-14, -12, 109, 87]$[-121, -97, 2, 2]"/>
+ </edges>
+</notation:Diagram>
Added: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.png
===================================================================
(Binary files differ)
Property changes on: api/trunk/modules/testsuite/src/test/resources/samples/parallelsplit/parallel-split.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: api/trunk/modules/testsuite/src/test/resources/samples/sequence/basic-sequence-api10.xml
===================================================================
--- api/trunk/modules/testsuite/src/test/resources/samples/sequence/basic-sequence-api10.xml 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/resources/samples/sequence/basic-sequence-api10.xml 2008-07-15 13:05:25 UTC (rev 1636)
@@ -1,4 +1,4 @@
-<ns2:process name="basic-sequence" xmlns:ns2="urn:api.bpm.jboss:jpdl-0.1">
+<ns2:process name="testBasicSequence" xmlns:ns2="urn:api.bpm.jboss:jpdl-0.1">
<start>
<sequence to="stateA" />
</start>
Modified: api/trunk/modules/testsuite/src/test/resources/samples/task/basic-task-api10.xml
===================================================================
--- api/trunk/modules/testsuite/src/test/resources/samples/task/basic-task-api10.xml 2008-07-15 10:23:31 UTC (rev 1635)
+++ api/trunk/modules/testsuite/src/test/resources/samples/task/basic-task-api10.xml 2008-07-15 13:05:25 UTC (rev 1636)
@@ -1,4 +1,4 @@
-<ns2:process name="basic-task" xmlns:ns2="urn:api.bpm.jboss:jpdl-0.1">
+<ns2:process name="testBasicTask" xmlns:ns2="urn:api.bpm.jboss:jpdl-0.1">
<start>
<sequence to="stateA" />
</start>
More information about the jbpm-commits
mailing list