[jbpm-commits] JBoss JBPM SVN: r2529 - in projects/spec/trunk: modules and 15 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Oct 10 12:04:35 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-10-10 12:04:35 -0400 (Fri, 10 Oct 2008)
New Revision: 2529
Added:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ReceiveTask.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SendTask.java
projects/spec/trunk/modules/dialects/
projects/spec/trunk/modules/dialects/.classpath
projects/spec/trunk/modules/dialects/.project
projects/spec/trunk/modules/dialects/api10/
projects/spec/trunk/modules/dialects/jpdl32/
projects/spec/trunk/modules/dialects/pom.xml
projects/spec/trunk/modules/dialects/stp/
projects/spec/trunk/modules/dialects/xpdl21/
Removed:
projects/spec/trunk/modules/dialects/.classpath
projects/spec/trunk/modules/dialects/.project
projects/spec/trunk/modules/dialects/api10/
projects/spec/trunk/modules/dialects/api10/src/test/java/org/
projects/spec/trunk/modules/dialects/jpdl32/
projects/spec/trunk/modules/dialects/pom.xml
projects/spec/trunk/modules/dialects/stp/
projects/spec/trunk/modules/dialects/xpdl21/
Modified:
projects/spec/trunk/.project
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/DialectHandler.java
projects/spec/trunk/modules/dialects/api10/pom.xml
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBExpression.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBFlow.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSequenceFlow.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java
projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBTask.java
projects/spec/trunk/modules/dialects/jpdl32/pom.xml
projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
projects/spec/trunk/modules/dialects/stp/pom.xml
projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
projects/spec/trunk/modules/dialects/xpdl21/pom.xml
projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
projects/spec/trunk/pom.xml
Log:
Resurect dialects
Modified: projects/spec/trunk/.project
===================================================================
--- projects/spec/trunk/.project 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/.project 2008-10-10 16:04:35 UTC (rev 2529)
@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>jbpm</name>
+ <name>jbpm-spec</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Event.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -47,7 +47,7 @@
*/
enum EventDetailType
{
- None, Message, Error, Compensation, Link, Multiple, Timer, Rule, Signal
+ None, Message, Error, Cancel, Compensation, Link, Multiple, Timer, Rule, Signal, Terminate
}
/**
Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ReceiveTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ReceiveTask.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ReceiveTask.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.api.model;
+
+//$Id$
+
+/**
+ * A Receive Task is a simple Task that is designed to wait for a message to arrive from an external participant
+ * (relative to the Business Process). Once the message has been received, the Task is completed.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface ReceiveTask extends Task
+{
+ /**
+ * A Message for the MessageRef attribute MUST be entered. This indicates that the Message will be received by the
+ * Task. The Message in this context is equivalent to an in-only message pattern (Web service). One or more
+ * corresponding incoming Message Flows MAY be shown on the diagram. However, the display of the Message Flow is not
+ * required. The Message is applied to all incoming Message Flow, but can arrive for only one of the incoming Message
+ * Flow for a single instance of the Task.
+ */
+ Message getMessageRef();
+
+ /**
+ * Receive Tasks can be defined as the instantiation mechanism for the Process with the Instantiate attribute. This
+ * attribute MAY be set to true if the Task is the first activity after the Start Event or a starting Task if there is
+ * no Start Event (i.e., there are no incoming Sequence Flow). Multiple Tasks MAY have this attribute set to True.
+ */
+ boolean isInstantiate();
+
+ /**
+ * This attribute specifies the technology that will be used to send or receive the message. A Web service is the
+ * default technology.
+ */
+ //Implementation getImplementation();
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/ReceiveTask.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SendTask.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SendTask.java (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SendTask.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -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.jbpm.api.model;
+
+//$Id$
+
+/**
+ * A Send Task.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SendTask extends Task
+{
+ /**
+ * A Message for the MessageRef attribute MUST be entered. This indicates that the Message will be sent by the Task. The Message in this context is equivalent to an
+ * out-only message pattern (Web service). One or more corresponding outgoing Message Flow MAY be shown on the diagram. However, the display of the Message Flow is
+ * not required. The Message is applied to all outgoing Message Flow and the Message will be sent down all outgoing Message Flow at the completion of a single
+ * instance of the Task.
+ */
+ Message getMessageRef();
+
+ /**
+ * This attribute specifies the technology that will be used to send or receive the message. A Web service is the default technology.
+ */
+ // Implementation getImplementation();
+}
\ No newline at end of file
Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/SendTask.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/PropertySupport.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -42,6 +42,16 @@
Property getProperty(String name);
/**
+ * Get the set of properties
+ */
+ Set<Property> getProperties();
+
+ /**
+ * Get the set of property names
+ */
+ Set<String> getPropertyNames();
+
+ /**
* Add a property
*/
void addProperty(Property prop);
@@ -55,10 +65,4 @@
* Remove a property
*/
Property removeProperty(String name);
-
- /**
- * Get the set of property names
- */
- Set<String> getPropertyNames();
-
}
\ No newline at end of file
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/DialectHandler.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/DialectHandler.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/DialectHandler.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -38,7 +38,7 @@
*/
public interface DialectHandler
{
- URI DEFAULT_NAMESPACE_URI = URI.create("urn:bpm.jboss:pdl-0.1");
+ URI DEFAULT_NAMESPACE_URI = URI.create("urn:jbpm.jboss:api-0.1");
/**
* Get the the supported namespace from this dialect.
Copied: projects/spec/trunk/modules/dialects (from rev 2416, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects)
Deleted: projects/spec/trunk/modules/dialects/.classpath
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/.classpath 2008-09-28 21:47:09 UTC (rev 2416)
+++ projects/spec/trunk/modules/dialects/.classpath 2008-10-10 16:04:35 UTC (rev 2529)
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
Copied: projects/spec/trunk/modules/dialects/.classpath (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/.classpath)
===================================================================
--- projects/spec/trunk/modules/dialects/.classpath (rev 0)
+++ projects/spec/trunk/modules/dialects/.classpath 2008-10-10 16:04:35 UTC (rev 2529)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Deleted: projects/spec/trunk/modules/dialects/.project
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/.project 2008-09-28 21:47:09 UTC (rev 2416)
+++ projects/spec/trunk/modules/dialects/.project 2008-10-10 16:04:35 UTC (rev 2529)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>bpm-dialects</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.maven.ide.eclipse.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.maven.ide.eclipse.maven2Nature</nature>
- </natures>
-</projectDescription>
Copied: projects/spec/trunk/modules/dialects/.project (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/.project)
===================================================================
--- projects/spec/trunk/modules/dialects/.project (rev 0)
+++ projects/spec/trunk/modules/dialects/.project 2008-10-10 16:04:35 UTC (rev 2529)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>bpm-dialects</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Copied: projects/spec/trunk/modules/dialects/api10 (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10)
Modified: projects/spec/trunk/modules/dialects/api10/pom.xml
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/pom.xml 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -20,8 +20,8 @@
<!-- Parent -->
<parent>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-dialects</artifactId>
- <version>1.0.0-Alpha1</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,13 +27,15 @@
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.Writer;
+import java.net.URI;
import java.net.URL;
import javax.xml.bind.JAXBException;
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.client.DialectHandler;
-import org.jboss.bpm.model.Process;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.service.DialectHandler;
/**
* The DialectHandler converts a supported dialect to the internal Process model.
@@ -43,18 +45,20 @@
*/
public class DialectHandlerImpl implements DialectHandler
{
- public String getNamespaceURI()
+ @Override
+ public URI getNamespaceURI()
{
return DEFAULT_NAMESPACE_URI;
}
- public Process createProcess(String pXML, boolean isInclude)
+ @Override
+ public ProcessDefinition createProcessDefinition(String pXML)
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- Process proc = unmarschaller.unmarshallProcess(new StringReader(pXML), isInclude);
- return proc;
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(new StringReader(pXML));
+ return procDef;
}
catch (JAXBException ex)
{
@@ -66,13 +70,14 @@
}
}
- public Process createProcess(URL pURL, boolean isInclude) throws IOException
+ @Override
+ public ProcessDefinition createProcessDefinition(URL pURL) throws IOException
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- Process proc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()), isInclude);
- return proc;
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
+ return procDef;
}
catch (JAXBException ex)
{
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -30,7 +30,6 @@
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
-import org.jboss.bpm.NotImplementedException;
import org.jboss.bpm.dialect.api10.model.JAXBAssignment;
import org.jboss.bpm.dialect.api10.model.JAXBComplexGateway;
import org.jboss.bpm.dialect.api10.model.JAXBEndEvent;
@@ -58,40 +57,34 @@
import org.jboss.bpm.dialect.api10.model.JAXBStartEvent;
import org.jboss.bpm.dialect.api10.model.JAXBTask;
import org.jboss.bpm.dialect.api10.model.ObjectFactory;
-import org.jboss.bpm.model.Assignment;
-import org.jboss.bpm.model.ComplexGateway;
-import org.jboss.bpm.model.ConnectingObject;
-import org.jboss.bpm.model.EndEvent;
-import org.jboss.bpm.model.Event;
-import org.jboss.bpm.model.EventDetail;
-import org.jboss.bpm.model.ExclusiveGateway;
-import org.jboss.bpm.model.Expression;
-import org.jboss.bpm.model.FlowObject;
-import org.jboss.bpm.model.Gate;
-import org.jboss.bpm.model.Gateway;
-import org.jboss.bpm.model.InclusiveGateway;
-import org.jboss.bpm.model.InputSet;
-import org.jboss.bpm.model.IntermediateEvent;
-import org.jboss.bpm.model.Message;
-import org.jboss.bpm.model.MessageEventDetail;
-import org.jboss.bpm.model.MessageFlow;
-import org.jboss.bpm.model.OutputSet;
-import org.jboss.bpm.model.ParallelGateway;
-import org.jboss.bpm.model.Participant;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.Property;
-import org.jboss.bpm.model.ReceiveTask;
-import org.jboss.bpm.model.SendTask;
-import org.jboss.bpm.model.SequenceFlow;
-import org.jboss.bpm.model.Signal;
-import org.jboss.bpm.model.SignalEventDetail;
-import org.jboss.bpm.model.StartEvent;
-import org.jboss.bpm.model.Task;
-import org.jboss.bpm.model.SequenceFlow.ConditionType;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.FlowHandler;
-import org.jboss.bpm.runtime.HandlerSupport;
-import org.jboss.bpm.runtime.SignalHandler;
+import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.ComplexGateway;
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Event;
+import org.jbpm.api.model.ExclusiveGateway;
+import org.jbpm.api.model.Expression;
+import org.jbpm.api.model.Gateway;
+import org.jbpm.api.model.InclusiveGateway;
+import org.jbpm.api.model.InputSet;
+import org.jbpm.api.model.Message;
+import org.jbpm.api.model.Node;
+import org.jbpm.api.model.OutputSet;
+import org.jbpm.api.model.ParallelGateway;
+import org.jbpm.api.model.Participant;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.Property;
+import org.jbpm.api.model.ReceiveTask;
+import org.jbpm.api.model.SendTask;
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.Signal;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.Event.EventDetailType;
+import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.runtime.ExecutionHandler;
+import org.jbpm.api.runtime.FlowHandler;
+import org.jbpm.api.runtime.SignalHandler;
/**
* A JAXB marshaller for a Process
@@ -133,38 +126,37 @@
jaxbProc.getAssignments().add(jaxbAss);
}
- for (FlowObject flowObject : proc.getFlowObjects())
+ for (Node flowObject : proc.getNodes())
{
- JAXBFlowObject jaxbFlowObject;
+ JAXBFlowObject jaxbNode;
if (flowObject instanceof Event)
{
- jaxbFlowObject = adaptEvent(jaxbProc, (Event)flowObject);
+ jaxbNode = adaptEvent(jaxbProc, (Event)flowObject);
}
else if (flowObject instanceof Task)
{
- jaxbFlowObject = adaptTask(jaxbProc, (Task)flowObject);
+ jaxbNode = adaptTask(jaxbProc, (Task)flowObject);
}
else if (flowObject instanceof Gateway)
{
- jaxbFlowObject = adaptGateway(jaxbProc, (Gateway)flowObject);
+ jaxbNode = adaptGateway(jaxbProc, (Gateway)flowObject);
}
else
{
throw new IllegalStateException("Unsupported flow object: " + flowObject);
}
-
+
for (Assignment ass : flowObject.getAssignments())
{
JAXBAssignment jaxbAss = getJaxbAssignment(ass);
- jaxbFlowObject.getAssignments().add(jaxbAss);
+ jaxbNode.getAssignments().add(jaxbAss);
}
-
- jaxbProc.getFlowObjects().add(jaxbFlowObject);
+
+ jaxbProc.getFlowObjects().add(jaxbNode);
}
return jaxbProc;
}
-
private JAXBFlowObject adaptEvent(JAXBProcess jaxbProc, Event event)
{
JAXBEvent jaxbEvent;
@@ -175,89 +167,78 @@
jaxbStart.setName(start.getName());
jaxbStart.setOutFlow(getJAXBFlow(start.getOutFlow()));
- if (start.getTrigger().size() > 1)
- throw new NotImplementedException("JBPM-1660", "StartTrigger Multiple");
+ EventDetailType detailType = start.getDetailType();
- for (EventDetail trigger : start.getTrigger())
+ // if (start.getTriggerType().size() > 1)
+ // throw new NotImplementedException("JBPM-1660", "StartTrigger Multiple");
+
+ if (detailType == EventDetailType.Message)
{
- EventDetail.EventDetailType detailType = trigger.getEventDetailType();
- if (detailType == EventDetail.EventDetailType.Message)
- {
- throw new NotImplementedException("JBPM-1657", "StartTrigger Message");
- }
- else if (detailType == EventDetail.EventDetailType.Timer)
- {
- throw new NotImplementedException("JBPM-1658", "StartTrigger Timer");
- }
- else if (detailType == EventDetail.EventDetailType.Conditional)
- {
- throw new NotImplementedException("JBPM-1659", "StartTrigger Conditional");
- }
- else if (detailType == EventDetail.EventDetailType.Signal)
- {
- SignalEventDetail signalTrigger = (SignalEventDetail)trigger;
- Signal signal = signalTrigger.getSignalRef();
- JAXBSignalEventDetail jaxbTrigger = new JAXBSignalEventDetail();
- jaxbTrigger.setSignal(new JAXBSignal(signal.getSignalType(), signal.getMessage()));
- jaxbStart.getTrigger().add(jaxbTrigger);
- }
- else
- {
- throw new IllegalStateException("Unsupported start trigger: " + detailType);
- }
+ throw new NotImplementedException("JBPM-1657", "StartTrigger Message");
}
+ else if (detailType == EventDetailType.Timer)
+ {
+ throw new NotImplementedException("JBPM-1658", "StartTrigger Timer");
+ }
+ else if (detailType == EventDetailType.Rule)
+ {
+ throw new NotImplementedException("JBPM-1659", "StartTrigger Conditional");
+ }
+ else if (detailType == EventDetailType.Signal)
+ {
+ Signal signal = start.getSignalRef();
+ JAXBSignalEventDetail jaxbTrigger = new JAXBSignalEventDetail();
+ jaxbTrigger.setSignal(new JAXBSignal(signal.getSignalType(), signal.getMessage()));
+ jaxbStart.getTrigger().add(jaxbTrigger);
+ }
+ else
+ {
+ throw new IllegalStateException("Unsupported start trigger: " + detailType);
+ }
jaxbEvent = jaxbStart;
}
- else if (event instanceof IntermediateEvent)
- {
- throw new NotImplementedException("JBPM-1661", "IntermediateEvent");
- }
else if (event instanceof EndEvent)
{
EndEvent end = (EndEvent)event;
JAXBEndEvent jaxbEnd = new JAXBEndEvent();
jaxbEnd.setName(end.getName());
- if (end.getResult().size() > 1)
- throw new NotImplementedException("JBPM-1683", "EndEvent Multiple Result");
+ EventDetailType detailType = end.getDetailType();
+ // if (end.getResult().size() > 1)
+ // throw new NotImplementedException("JBPM-1683", "EndEvent Multiple Result");
- for (EventDetail result : end.getResult())
+ if (detailType == EventDetailType.Message)
{
- EventDetail.EventDetailType detailType = result.getEventDetailType();
- if (detailType == EventDetail.EventDetailType.Message)
- {
- MessageEventDetail msgEventDetail = (MessageEventDetail)result;
- Message message = msgEventDetail.getMessageRef();
- JAXBMessageRef jaxbMessageRef = adaptMessageRef(jaxbProc, message);
- JAXBMessageEventDetail jaxbResult = new JAXBMessageEventDetail();
- jaxbResult.setMessageRef(jaxbMessageRef);
- jaxbEnd.getResult().add(jaxbResult);
- }
- else if (detailType == EventDetail.EventDetailType.Error)
- {
- throw new NotImplementedException("JBPM-1677", "EndEvent Error Result");
- }
- else if (detailType == EventDetail.EventDetailType.Cancel)
- {
- throw new NotImplementedException("JBPM-1678", "EndEvent Cancel Result");
- }
- else if (detailType == EventDetail.EventDetailType.Compensation)
- {
- throw new NotImplementedException("JBPM-1679", "EndEvent Compensation Result");
- }
- else if (detailType == EventDetail.EventDetailType.Signal)
- {
- throw new NotImplementedException("JBPM-1651", "EndEvent Signal Result");
- }
- else if (detailType == EventDetail.EventDetailType.Terminate)
- {
- throw new NotImplementedException("JBPM-1680", "EndEvent Terminate Result");
- }
- else
- {
- throw new IllegalStateException("Unsupported end event result type: " + detailType);
- }
+ Message message = end.getMessageRef();
+ JAXBMessageRef jaxbMessageRef = adaptMessageRef(jaxbProc, message);
+ JAXBMessageEventDetail jaxbResult = new JAXBMessageEventDetail();
+ jaxbResult.setMessageRef(jaxbMessageRef);
+ jaxbEnd.getResult().add(jaxbResult);
}
+ else if (detailType == EventDetailType.Error)
+ {
+ throw new NotImplementedException("JBPM-1677", "EndEvent Error Result");
+ }
+ else if (detailType == EventDetailType.Cancel)
+ {
+ throw new NotImplementedException("JBPM-1678", "EndEvent Cancel Result");
+ }
+ else if (detailType == EventDetailType.Compensation)
+ {
+ throw new NotImplementedException("JBPM-1679", "EndEvent Compensation Result");
+ }
+ else if (detailType == EventDetailType.Signal)
+ {
+ throw new NotImplementedException("JBPM-1651", "EndEvent Signal Result");
+ }
+ else if (detailType == EventDetailType.Terminate)
+ {
+ throw new NotImplementedException("JBPM-1680", "EndEvent Terminate Result");
+ }
+ else
+ {
+ throw new IllegalStateException("Unsupported end event result type: " + detailType);
+ }
jaxbEvent = jaxbEnd;
}
@@ -265,13 +246,9 @@
{
throw new IllegalStateException("Unsupported Event: " + event);
}
- if (event instanceof HandlerSupport)
- {
- HandlerSupport hs = (HandlerSupport)event;
- jaxbEvent.setExecutionHandler(getJAXBExecutionHandler(event, hs.getExecutionHandler()));
- jaxbEvent.setFlowHandler(getJAXBFlowHandler(event, hs.getFlowHandler()));
- jaxbEvent.setSignalHandler(getJAXBSignalHandler(event, hs.getSignalHandler()));
- }
+ jaxbEvent.setExecutionHandler(getJAXBExecutionHandler(event, event.getExecutionHandler()));
+ jaxbEvent.setFlowHandler(getJAXBFlowHandler(event, event.getFlowHandler()));
+ jaxbEvent.setSignalHandler(getJAXBSignalHandler(event, event.getSignalHandler()));
return jaxbEvent;
}
@@ -281,13 +258,9 @@
jaxbTask.setTaskType(task.getTaskType());
jaxbTask.setName(task.getName());
jaxbTask.setOutFlow(getJAXBFlow(task.getOutFlow()));
- if (task instanceof HandlerSupport)
- {
- HandlerSupport hs = (HandlerSupport)task;
- jaxbTask.setExecutionHandler(getJAXBExecutionHandler(task, hs.getExecutionHandler()));
- jaxbTask.setFlowHandler(getJAXBFlowHandler(task, hs.getFlowHandler()));
- jaxbTask.setSignalHandler(getJAXBSignalHandler(task, hs.getSignalHandler()));
- }
+ jaxbTask.setExecutionHandler(getJAXBExecutionHandler(task, task.getExecutionHandler()));
+ jaxbTask.setFlowHandler(getJAXBFlowHandler(task, task.getFlowHandler()));
+ jaxbTask.setSignalHandler(getJAXBSignalHandler(task, task.getSignalHandler()));
for (InputSet inSet : task.getInputSets())
{
JAXBInputSet jaxbSet = new JAXBInputSet();
@@ -360,16 +333,12 @@
throw new IllegalStateException("Unsupported gateway: " + gateway);
}
jaxbGateway.setName(gateway.getName());
- if (gateway instanceof HandlerSupport)
+ jaxbGateway.setExecutionHandler(getJAXBExecutionHandler(gateway, gateway.getExecutionHandler()));
+ jaxbGateway.setFlowHandler(getJAXBFlowHandler(gateway, gateway.getFlowHandler()));
+ jaxbGateway.setSignalHandler(getJAXBSignalHandler(gateway, gateway.getSignalHandler()));
+ for (SequenceFlow gate : gateway.getGates())
{
- HandlerSupport hs = (HandlerSupport)gateway;
- jaxbGateway.setExecutionHandler(getJAXBExecutionHandler(gateway, hs.getExecutionHandler()));
- jaxbGateway.setFlowHandler(getJAXBFlowHandler(gateway, hs.getFlowHandler()));
- jaxbGateway.setSignalHandler(getJAXBSignalHandler(gateway, hs.getSignalHandler()));
- }
- for (Gate gate : gateway.getGates())
- {
- SequenceFlow flow = gate.getOutgoingSequenceFlow();
+ SequenceFlow flow = gate;
jaxbGateway.getOutFlows().add(getJAXBFlow(flow));
}
return jaxbGateway;
@@ -409,18 +378,11 @@
private String getParticipant(Participant par)
{
- String parName = null;
- if (par != null)
- {
- if (par.getEntityRef() != null)
- parName = par.getEntityRef().getName().getCanonicalName();
- else if (par.getRoleRef() != null)
- parName = par.getRoleRef().getName().getCanonicalName();
- }
+ String parName = par.getName().getCanonicalName();
return parName;
}
- private JAXBFlow getJAXBFlow(ConnectingObject flow)
+ private JAXBFlow getJAXBFlow(SequenceFlow flow)
{
JAXBFlow jaxb;
if (flow instanceof SequenceFlow)
@@ -438,15 +400,10 @@
}
jaxb = jaxbSeq;
}
- else if (flow instanceof MessageFlow)
+ else
{
throw new NotImplementedException("JBPM-1382", "Message Flow");
}
- else
- {
- throw new IllegalStateException("Unsupported connectiong object: " + flow);
- }
- jaxb.setName(flow.getName());
jaxb.setTargetName(flow.getTargetName());
return jaxb;
}
@@ -477,8 +434,8 @@
jaxbAss.setTo(ass.getTo().getName());
return jaxbAss;
}
-
- private JAXBExecutionHandler getJAXBExecutionHandler(FlowObject fo, ExecutionHandler handler)
+
+ private JAXBExecutionHandler getJAXBExecutionHandler(Node fo, ExecutionHandler handler)
{
JAXBExecutionHandler jaxb = null;
if (handler != null)
@@ -492,7 +449,7 @@
return jaxb;
}
- private JAXBFlowHandler getJAXBFlowHandler(FlowObject fo, FlowHandler handler)
+ private JAXBFlowHandler getJAXBFlowHandler(Node fo, FlowHandler handler)
{
JAXBFlowHandler jaxb = null;
if (handler != null)
@@ -506,7 +463,7 @@
return jaxb;
}
- private JAXBSignalHandler getJAXBSignalHandler(FlowObject fo, SignalHandler handler)
+ private JAXBSignalHandler getJAXBSignalHandler(Node fo, SignalHandler handler)
{
JAXBSignalHandler jaxb = null;
if (handler != null)
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -25,19 +25,12 @@
import java.io.IOException;
import java.io.Reader;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
import javax.management.ObjectName;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.NotImplementedException;
-import org.jboss.bpm.client.DialectHandler;
-import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.dialect.api10.model.JAXBAssignment;
import org.jboss.bpm.dialect.api10.model.JAXBCancelEventDetail;
import org.jboss.bpm.dialect.api10.model.JAXBCompensationEventDetail;
@@ -53,7 +46,6 @@
import org.jboss.bpm.dialect.api10.model.JAXBFlowObject;
import org.jboss.bpm.dialect.api10.model.JAXBGateway;
import org.jboss.bpm.dialect.api10.model.JAXBHandler;
-import org.jboss.bpm.dialect.api10.model.JAXBInclude;
import org.jboss.bpm.dialect.api10.model.JAXBInclusiveGateway;
import org.jboss.bpm.dialect.api10.model.JAXBInputSet;
import org.jboss.bpm.dialect.api10.model.JAXBIntermediateEvent;
@@ -73,18 +65,22 @@
import org.jboss.bpm.dialect.api10.model.JAXBTerminateEventDetail;
import org.jboss.bpm.dialect.api10.model.JAXBTimerEventDetail;
import org.jboss.bpm.dialect.api10.model.ObjectFactory;
-import org.jboss.bpm.model.EventBuilder;
-import org.jboss.bpm.model.EventDetail;
-import org.jboss.bpm.model.Gateway;
-import org.jboss.bpm.model.GatewayBuilder;
-import org.jboss.bpm.model.MessageBuilder;
-import org.jboss.bpm.model.ObjectNameFactory;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.TaskBuilder;
-import org.jboss.bpm.model.SequenceFlow.ConditionType;
-import org.jboss.bpm.runtime.Handler;
+import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.Gateway;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.Task.TaskType;
+import org.jbpm.api.model.builder.EventBuilder;
+import org.jbpm.api.model.builder.GatewayBuilder;
+import org.jbpm.api.model.builder.MessageBuilder;
+import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.model.builder.TaskBuilder;
+import org.jbpm.api.runtime.ExecutionHandler;
+import org.jbpm.api.runtime.FlowHandler;
+import org.jbpm.api.runtime.NodeHandler;
+import org.jbpm.api.runtime.SignalHandler;
+import org.jbpm.api.service.ProcessBuilderService;
/**
* A JAXB unmarshaller for a Process
@@ -94,35 +90,32 @@
*/
public class ProcessUnmarshaller
{
- public Process unmarshallProcess(Reader xml, boolean isInclude) throws JAXBException, IOException
+ public ProcessDefinition unmarshallProcess(Reader xml) throws JAXBException, IOException
{
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory", new ObjectFactory());
JAXBProcess jaxbProc = (JAXBProcess)unmarshaller.unmarshal(xml);
- Process proc = adaptProcess(jaxbProc, isInclude);
- return proc;
+ ProcessDefinition procDef = adaptProcess(jaxbProc);
+ return procDef;
}
- private Process adaptProcess(JAXBProcess jaxbProc, boolean isInclude) throws IOException
+ private ProcessDefinition adaptProcess(JAXBProcess jaxbProc) throws IOException
{
- ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
procBuilder.addProcess(jaxbProc.getName());
- // Process Includes
- processIncludes(procBuilder, jaxbProc);
-
// Process Messages
for (JAXBMessage jaxb : jaxbProc.getMessages())
{
- MessageBuilder msgBuilder = procBuilder.addMessage(jaxb.getName());
+ MessageBuilder msgBuilder = procBuilder.addProcessMessage(jaxb.getName());
adaptJAXBMessage(msgBuilder, jaxb);
}
// Process Properties
for (JAXBProperty jaxbProp : jaxbProc.getProperties())
{
- procBuilder.addProperty(jaxbProp.getName(), jaxbProp.getValue());
+ procBuilder.addProcessProperty(jaxbProp.getName(), jaxbProp.getValue());
}
// Process Assignments
@@ -130,7 +123,7 @@
{
JAXBExpression jaxbFrom = jaxbAss.getFrom();
String jaxbTo = jaxbAss.getTo();
- procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
+ procBuilder.addProcessAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
}
// Process FlowObjects
@@ -158,48 +151,14 @@
{
JAXBExpression jaxbFrom = jaxbAss.getFrom();
String jaxbTo = jaxbAss.getTo();
- procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
+ procBuilder.addNodeAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
}
}
- Process proc = (isInclude ? procBuilder.getProcessForInclude() : procBuilder.getProcess());
- return proc;
+ ProcessDefinition procDef = procBuilder.getProcessDefinition();
+ return procDef;
}
- private void processIncludes(ProcessBuilder procBuilder, JAXBProcess jaxbProc) throws IOException
- {
- for (JAXBInclude incl : jaxbProc.getIncludes())
- {
- String nsURI = incl.getNamespace();
- String location = incl.getLocation();
-
- URL procURL;
- try
- {
- procURL = new URL(location);
- }
- catch (MalformedURLException ex)
- {
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- procURL = ctxLoader.getResource(location);
- }
- if (procURL == null)
- throw new InvalidProcessException("Cannot find process include: " + location);
-
- ProcessManager pm = ProcessManager.locateProcessManager();
- DialectHandler dh = pm.getDialectHandler(nsURI);
- Process procIncl = dh.createProcess(procURL, true);
-
- // Debug the included process
- StringWriter strwr = new StringWriter();
- DialectHandler dhapi = pm.getDialectHandler(DialectHandler.DEFAULT_NAMESPACE_URI);
- dhapi.marshallProcess(procIncl, strwr);
- // System.out.println(strwr);
-
- procBuilder.addProcess(procIncl);
- }
- }
-
private void adaptJAXBMessage(MessageBuilder msgBuilder, JAXBMessage jaxbMsg)
{
String fromRef = jaxbMsg.getFromRef();
@@ -251,8 +210,7 @@
{
JAXBSignalEventDetail jaxbSignalTrigger = (JAXBSignalEventDetail)jaxbTrigger;
JAXBSignal jaxbSignal = jaxbSignalTrigger.getSignal();
- eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(jaxbSignal.getType(),
- jaxbSignal.getMessage());
+ eventBuilder.addSignalRef(jaxbSignal.getType(), jaxbSignal.getMessage());
}
else
{
@@ -277,7 +235,6 @@
if (jaxbResult instanceof JAXBMessageEventDetail)
{
JAXBMessageEventDetail jaxbMessageResult = (JAXBMessageEventDetail)jaxbResult;
- eventBuilder.addEventDetail(EventDetail.EventDetailType.Message);
JAXBMessageRef jaxbMsg = jaxbMessageResult.getMessageRef();
eventBuilder.addMessageRef(jaxbMsg.getNameRef());
}
@@ -311,14 +268,15 @@
{
throw new IllegalStateException("Unsupported Event: " + jaxb);
}
- procBuilder.addExecutionHandler(loadHandler(jaxb.getExecutionHandler()));
- procBuilder.addFlowHandler(loadHandler(jaxb.getFlowHandler()));
- procBuilder.addSignalHandler(loadHandler(jaxb.getSignalHandler()));
+ procBuilder.addExecutionHandler(loadHandler(ExecutionHandler.class, jaxb.getExecutionHandler()));
+ procBuilder.addFlowHandler(loadHandler(FlowHandler.class, jaxb.getFlowHandler()));
+ procBuilder.addSignalHandler(loadHandler(SignalHandler.class, jaxb.getSignalHandler()));
}
private void adaptTask(ProcessBuilder procBuilder, JAXBProcess jaxbProc, JAXBTask jaxbTask)
{
- TaskBuilder taskBuilder = procBuilder.addTask(jaxbTask.getName(), jaxbTask.getTaskType());
+ TaskType taskType = jaxbTask.getTaskType();
+ TaskBuilder taskBuilder = procBuilder.addTask(jaxbTask.getName(), taskType);
addOutFlow(taskBuilder, jaxbTask.getOutFlow());
for (JAXBInputSet jaxbSet : jaxbTask.getInputSets())
@@ -337,19 +295,22 @@
for (JAXBProperty jaxbProp : jaxbTask.getProperties())
{
- taskBuilder.addProperty(jaxbProp.getName(), jaxbProp.getValue());
+ taskBuilder.addNodeProperty(jaxbProp.getName(), jaxbProp.getValue());
}
JAXBMessageRef jaxbMsgRef = jaxbTask.getMessageRef();
if (jaxbMsgRef != null)
{
String msgName = jaxbMsgRef.getNameRef();
- taskBuilder.addMessageRef(msgName);
+ if (taskType == TaskType.Send)
+ taskBuilder.addOutMessageRef(msgName);
+ else if (taskType == TaskType.Receive)
+ taskBuilder.addInMessageRef(msgName);
}
- procBuilder.addExecutionHandler(loadHandler(jaxbTask.getExecutionHandler()));
- procBuilder.addFlowHandler(loadHandler(jaxbTask.getFlowHandler()));
- procBuilder.addSignalHandler(loadHandler(jaxbTask.getSignalHandler()));
+ procBuilder.addExecutionHandler(loadHandler(ExecutionHandler.class, jaxbTask.getExecutionHandler()));
+ procBuilder.addFlowHandler(loadHandler(FlowHandler.class, jaxbTask.getFlowHandler()));
+ procBuilder.addSignalHandler(loadHandler(SignalHandler.class, jaxbTask.getSignalHandler()));
}
private void adaptJAXBGateway(ProcessBuilder procBuilder, JAXBProcess jaxbProc, JAXBGateway jaxb)
@@ -403,9 +364,9 @@
throw new IllegalStateException("Unsupported connectiong object: " + jaxbFlow);
}
}
- procBuilder.addExecutionHandler(loadHandler(jaxb.getExecutionHandler()));
- procBuilder.addFlowHandler(loadHandler(jaxb.getFlowHandler()));
- procBuilder.addSignalHandler(loadHandler(jaxb.getSignalHandler()));
+ procBuilder.addExecutionHandler(loadHandler(ExecutionHandler.class, jaxb.getExecutionHandler()));
+ procBuilder.addFlowHandler(loadHandler(FlowHandler.class, jaxb.getFlowHandler()));
+ procBuilder.addSignalHandler(loadHandler(SignalHandler.class, jaxb.getSignalHandler()));
}
private void addOutFlow(ProcessBuilder procBuilder, JAXBFlow jaxbFlow)
@@ -428,16 +389,16 @@
}
@SuppressWarnings("unchecked")
- private Class<Handler> loadHandler(JAXBHandler jaxbHandler)
+ private <T extends NodeHandler> Class<T> loadHandler(Class<T> clazz, JAXBHandler jaxbHandler)
{
- Class<Handler> handlerClass = null;
+ Class<T> handlerClass = null;
if (jaxbHandler != null)
{
String className = jaxbHandler.getClassName();
try
{
ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- handlerClass = (Class<Handler>)ctxLoader.loadClass(className);
+ handlerClass = (Class<T>)ctxLoader.loadClass(className);
}
catch (ClassNotFoundException e)
{
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,8 +27,8 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import org.jboss.bpm.model.Assignment;
-import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Assignment.AssignTime;
/**
* An Assignment, which is used in the definition of attributes for Process,
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBExpression.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBExpression.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBExpression.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,7 +27,7 @@
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
-import org.jboss.bpm.model.Expression;
+import org.jbpm.api.model.Expression;
/**
* An Expression, which is used in the definition of attributes for @{link StartEvent},
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBFlow.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBFlow.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBFlow.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -39,20 +39,8 @@
@XmlType(name = "Flow")
public class JAXBFlow extends JAXBGraphicalElement
{
- private String name;
private String targetName;
- public String getName()
- {
- return name;
- }
-
- @XmlAttribute(required = false)
- public void setName(String name)
- {
- this.name = name;
- }
-
public String getTargetName()
{
return targetName;
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSequenceFlow.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSequenceFlow.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSequenceFlow.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,7 +27,7 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import org.jboss.bpm.model.SequenceFlow.ConditionType;
+import org.jbpm.api.model.SequenceFlow.ConditionType;
/**
* A Sequence Flow is a solid graphical line that is used to show the order that Activities will be performed in a Process.
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBSignal.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,7 +27,7 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import org.jboss.bpm.model.Signal.SignalType;
+import org.jbpm.api.model.Signal.SignalType;
/**
* The base of all supported event details
Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBTask.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBTask.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBTask.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -21,6 +21,8 @@
*/
package org.jboss.bpm.dialect.api10.model;
+//$Id$
+
import java.util.ArrayList;
import java.util.List;
@@ -30,12 +32,8 @@
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import org.jboss.bpm.model.Message;
-import org.jboss.bpm.model.Task;
-import org.jboss.bpm.model.Message.Implementation;
+import org.jbpm.api.model.Task;
-//$Id$
-
/**
* A Task is an Atomic Activity that is included within a Process.
*
@@ -50,7 +48,6 @@
public class JAXBTask extends JAXBActivity
{
private Task.TaskType taskType;
- private Implementation implementation;
private List<JAXBInputSet> inputSets = new ArrayList<JAXBInputSet>();
private List<JAXBOutputSet> outputSets = new ArrayList<JAXBOutputSet>();
@@ -87,16 +84,6 @@
this.taskType = taskType;
}
- public Message.Implementation getImplementation()
- {
- return implementation;
- }
-
- public void setImplementation(Message.Implementation implementation)
- {
- this.implementation = implementation;
- }
-
public JAXBMessageRef getMessageRef()
{
return messageRef;
Copied: projects/spec/trunk/modules/dialects/jpdl32 (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/jpdl32)
Modified: projects/spec/trunk/modules/dialects/jpdl32/pom.xml
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/jpdl32/pom.xml 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/jpdl32/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -20,9 +20,9 @@
<!-- Parent -->
<parent>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-dialects</artifactId>
- <version>1.0.0-Alpha1</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,16 +27,19 @@
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.Writer;
+import java.net.URI;
import java.net.URL;
import javax.xml.bind.JAXBException;
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.NotImplementedException;
-import org.jboss.bpm.client.DialectHandler;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32ProcessDefinition;
-import org.jboss.bpm.model.Process;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.service.DialectHandler;
+
/**
* The DialectHandler converts a supported dialect to the internal Process model.
*
@@ -45,20 +48,21 @@
*/
public class DialectHandlerImpl implements DialectHandler
{
- public static final String NAMESPACE_URI = "urn:jbpm.org:jpdl-3.2";
+ public static final URI NAMESPACE_URI = URI.create("urn:jbpm.org:jpdl-3.2");
- public String getNamespaceURI()
+ public URI getNamespaceURI()
{
return NAMESPACE_URI;
}
- public Process createProcess(String pXML, boolean isInclude)
+ @Override
+ public ProcessDefinition createProcessDefinition(String pXML)
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
- Process proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+ ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
return proc;
}
catch (JAXBException ex)
@@ -67,13 +71,14 @@
}
}
- public Process createProcess(URL pURL, boolean isInclude) throws IOException
+ @Override
+ public ProcessDefinition createProcessDefinition(URL pURL) throws IOException
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
- Process proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+ ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
return proc;
}
catch (JAXBException ex)
Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -25,7 +25,6 @@
import java.util.List;
-import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32Action;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32EndState;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32Event;
@@ -34,12 +33,13 @@
import org.jboss.bpm.dialect.jpdl32.model.JPDL32StartState;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32State;
import org.jboss.bpm.dialect.jpdl32.model.JPDL32Transition;
-import org.jboss.bpm.model.Gateway;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Task;
-import org.jboss.bpm.runtime.ExecutionHandler;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.Gateway;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.runtime.ExecutionHandler;
+import org.jbpm.api.service.ProcessBuilderService;
/**
* Adapt the jpdl-3.2 ProcessDefinition to the API Process
@@ -49,28 +49,28 @@
*/
public class ProcessDefinitionAdapter
{
- public Process adaptProcessDefinition(JPDL32ProcessDefinition jpdlProcDef)
+ public ProcessDefinition adaptProcessDefinition(JPDL32ProcessDefinition jpdlProcDef)
{
- ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- builder.addProcess(jpdlProcDef.getName());
+ ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ procBuilder.addProcess(jpdlProcDef.getName());
for (Object jpdlObj : jpdlProcDef.getDescriptionOrSwimlaneOrStartState())
{
if (jpdlObj instanceof JPDL32StartState)
{
- adaptStartState(builder, (JPDL32StartState)jpdlObj);
+ adaptStartState(procBuilder, (JPDL32StartState)jpdlObj);
}
else if (jpdlObj instanceof JPDL32State)
{
- adaptState(builder, (JPDL32State)jpdlObj);
+ adaptState(procBuilder, (JPDL32State)jpdlObj);
}
else if (jpdlObj instanceof JPDL32Fork)
{
- adaptFork(builder, (JPDL32Fork)jpdlObj);
+ adaptFork(procBuilder, (JPDL32Fork)jpdlObj);
}
else if (jpdlObj instanceof JPDL32EndState)
{
- adaptEndState(builder, (JPDL32EndState)jpdlObj);
+ adaptEndState(procBuilder, (JPDL32EndState)jpdlObj);
}
else
{
@@ -78,8 +78,8 @@
}
}
- Process proc = builder.getProcess();
- return proc;
+ ProcessDefinition procDef = procBuilder.getProcessDefinition();
+ return procDef;
}
private void adaptStartState(ProcessBuilder builder, JPDL32StartState jpdlStart)
@@ -110,7 +110,7 @@
if (jpdlAux instanceof JPDL32Action)
{
JPDL32Action jpdlAction = (JPDL32Action)jpdlAux;
- Class<?> handler = loadHandler(jpdlAction.getClazz());
+ Class<ExecutionHandler> handler = loadHandler(jpdlAction.getClazz());
if (ExecutionHandler.class.isAssignableFrom(handler) == false)
throw new InvalidProcessException("Node action is not of type ExecutionHandler");
@@ -141,12 +141,13 @@
}
}
- private Class<?> loadHandler(String className)
+ @SuppressWarnings("unchecked")
+ private Class<ExecutionHandler> loadHandler(String className)
{
try
{
ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- return ctxLoader.loadClass(className);
+ return (Class<ExecutionHandler>)ctxLoader.loadClass(className);
}
catch (ClassNotFoundException e)
{
Deleted: projects/spec/trunk/modules/dialects/pom.xml
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/pom.xml 2008-09-28 21:47:09 UTC (rev 2416)
+++ projects/spec/trunk/modules/dialects/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -1,58 +0,0 @@
-<?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>jBPM Spec - Dialects</name>
- <groupId>org.jbpm.spec</groupId>
- <artifactId>jbpm-spec-dialects</artifactId>
- <packaging>pom</packaging>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jbpm.spec</groupId>
- <artifactId>jbpm-spec</artifactId>
- <version>1.0.0-Alpha1</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <!-- Modules -->
- <modules>
- <module>api10</module>
- <module>jpdl32</module>
- <module>stp</module>
- <module>xpdl21</module>
- </modules>
-
- <!-- Dependencies -->
- <dependencies>
- <dependency>
- <groupId>org.jbpm.spec</groupId>
- <artifactId>jbpm-spec-api</artifactId>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jbpm.spec</groupId>
- <artifactId>jbpm-spec-ri</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-xjc</artifactId>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
-
-</project>
Copied: projects/spec/trunk/modules/dialects/pom.xml (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/pom.xml)
===================================================================
--- projects/spec/trunk/modules/dialects/pom.xml (rev 0)
+++ projects/spec/trunk/modules/dialects/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -0,0 +1,54 @@
+<?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>jBPM Spec - Dialects</name>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec-dialects</artifactId>
+ <packaging>pom</packaging>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+
+ <!-- Modules -->
+ <modules>
+ <module>api10</module>
+ <module>jpdl32</module>
+ <module>stp</module>
+ <module>xpdl21</module>
+ </modules>
+
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spec-api</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-xjc</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Copied: projects/spec/trunk/modules/dialects/stp (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/stp)
Modified: projects/spec/trunk/modules/dialects/stp/pom.xml
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/stp/pom.xml 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/stp/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -19,9 +19,9 @@
<!-- Parent -->
<parent>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-dialects</artifactId>
- <version>1.0.0-Alpha1</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -26,14 +26,16 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.Writer;
+import java.net.URI;
import java.net.URL;
import javax.xml.bind.JAXBException;
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.NotImplementedException;
-import org.jboss.bpm.client.DialectHandler;
-import org.jboss.bpm.model.Process;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.service.DialectHandler;
/**
* The DialectHandler converts a supported dialect to the internal Process model.
@@ -43,20 +45,20 @@
*/
public class DialectHandlerImpl implements DialectHandler
{
- public static final String NAMESPACE_URI = "http://stp.eclipse.org/bpmn";
+ public static final URI NAMESPACE_URI = URI.create("http://stp.eclipse.org/bpmn");
- public String getNamespaceURI()
+ public URI getNamespaceURI()
{
return NAMESPACE_URI;
}
- public Process createProcess(String pXML, boolean isInclude)
+ public ProcessDefinition createProcessDefinition(String pXML)
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- Process proc = unmarschaller.unmarshallProcess(new ByteArrayInputStream(pXML.getBytes()), isInclude);
- return proc;
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(new ByteArrayInputStream(pXML.getBytes()));
+ return procDef;
}
catch (JAXBException ex)
{
@@ -64,13 +66,13 @@
}
}
- public Process createProcess(URL pURL, boolean isInclude) throws IOException
+ public ProcessDefinition createProcessDefinition(URL pURL) throws IOException
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
- Process proc = unmarschaller.unmarshallProcess(pURL.openStream(), isInclude);
- return proc;
+ ProcessDefinition procDef = unmarschaller.unmarshallProcess(pURL.openStream());
+ return procDef;
}
catch (JAXBException ex)
{
Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -35,19 +35,19 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.dialect.stp.model.Activity;
import org.jboss.bpm.dialect.stp.model.ActivityType;
import org.jboss.bpm.dialect.stp.model.BpmnDiagram;
import org.jboss.bpm.dialect.stp.model.ObjectFactory;
import org.jboss.bpm.dialect.stp.model.Pool;
import org.jboss.bpm.dialect.stp.model.SequenceEdge;
-import org.jboss.bpm.model.Gateway;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Task;
import org.jboss.util.xml.DOMUtils;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.Gateway;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.service.ProcessBuilderService;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -66,7 +66,7 @@
private List<Activity> activities = new ArrayList<Activity>();
@SuppressWarnings("unchecked")
- public Process unmarshallProcess(InputStream xml, boolean isInclude) throws JAXBException
+ public ProcessDefinition unmarshallProcess(InputStream xml) throws JAXBException
{
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
@@ -133,8 +133,8 @@
adaptActivity(procBuilder, stpActivity);
}
- Process proc = (isInclude ? procBuilder.getProcessForInclude() : procBuilder.getProcess());
- return proc;
+ ProcessDefinition procDef = procBuilder.getProcessDefinition();
+ return procDef;
}
private ProcessBuilder adaptDiagram(BpmnDiagram bpmnDiagram)
@@ -146,10 +146,10 @@
throw new IllegalStateException("Multiple Pools not supported");
Pool stpPool = stpPools.get(0);
- ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- builder.addProcess(stpPool.getId());
+ ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ procBuilder.addProcess(stpPool.getId());
- return builder;
+ return procBuilder;
}
private void adaptActivity(ProcessBuilder builder, Activity stpActivity)
Copied: projects/spec/trunk/modules/dialects/xpdl21 (from rev 2528, projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/xpdl21)
Modified: projects/spec/trunk/modules/dialects/xpdl21/pom.xml
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/xpdl21/pom.xml 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/xpdl21/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -20,8 +20,8 @@
<!-- Parent -->
<parent>
- <groupId>org.jbpm.spec</groupId>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-spec-dialects</artifactId>
- <version>1.0.0-Alpha1</version>
+ <version>1.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -27,15 +27,17 @@
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.Writer;
+import java.net.URI;
import java.net.URL;
import javax.xml.bind.JAXBException;
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.NotImplementedException;
-import org.jboss.bpm.client.DialectHandler;
import org.jboss.bpm.dialect.xpdl21.model.XPDLWorkflowProcess;
-import org.jboss.bpm.model.Process;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.NotImplementedException;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.service.DialectHandler;
/**
* The DialectHandler converts a supported dialect to the internal Process model.
@@ -45,20 +47,21 @@
*/
public class DialectHandlerImpl implements DialectHandler
{
- public static final String NAMESPACE_URI = "http://www.wfmc.org/2008/XPDL2.1";
+ public static final URI NAMESPACE_URI = URI.create("http://www.wfmc.org/2008/XPDL2.1");
- public String getNamespaceURI()
+ public URI getNamespaceURI()
{
return NAMESPACE_URI;
}
- public Process createProcess(String pXML, boolean isInclude)
+ @Override
+ public ProcessDefinition createProcessDefinition(String pXML)
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
- Process proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+ ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
return proc;
}
catch (JAXBException ex)
@@ -67,13 +70,14 @@
}
}
- public Process createProcess(URL pURL, boolean isInclude) throws IOException
+ @Override
+ public ProcessDefinition createProcessDefinition(URL pURL) throws IOException
{
try
{
ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
- Process proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+ ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
return proc;
}
catch (JAXBException ex)
@@ -82,6 +86,7 @@
}
}
+ @Override
public void marshallProcess(Process proc, Writer out) throws IOException
{
throw new NotImplementedException("JBPM-1640", "DialectHandler XPL2.1 marshallProcess");
Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
===================================================================
--- projects/spec/tags/jbpm-spec-1.0.0-Alpha1/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -23,14 +23,14 @@
// $Id$
-import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.dialect.xpdl21.model.XPDLActivities;
import org.jboss.bpm.dialect.xpdl21.model.XPDLActivity;
import org.jboss.bpm.dialect.xpdl21.model.XPDLEvent;
import org.jboss.bpm.dialect.xpdl21.model.XPDLWorkflowProcess;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jbpm.api.InvalidProcessException;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.service.ProcessBuilderService;
/**
* Adapt the jpdl-3.2 ProcessDefinition to the API Process
@@ -40,10 +40,10 @@
*/
public class WorkflowProcessAdapter
{
- public Process adaptWorkflowProcess(XPDLWorkflowProcess xpdlProc)
+ public ProcessDefinition adaptWorkflowProcess(XPDLWorkflowProcess xpdlProc)
{
- ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- builder.addProcess(xpdlProc.getName());
+ ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ procBuilder.addProcess(xpdlProc.getName());
XPDLActivities xpdlActivities = xpdlProc.getActivities();
for (XPDLActivity xpdlActivity : xpdlActivities.getActivity())
@@ -53,11 +53,11 @@
{
if (xpdlEvent.getStartEvent() != null)
{
- builder.addStartEvent("Start");
+ procBuilder.addStartEvent("Start");
}
else if (xpdlEvent.getEndEvent() != null)
{
- builder.addEndEvent(xpdlActivity.getName());
+ procBuilder.addEndEvent(xpdlActivity.getName());
}
else
{
@@ -70,7 +70,7 @@
}
}
- Process proc = builder.getProcess();
- return proc;
+ ProcessDefinition procDef = procBuilder.getProcessDefinition();
+ return procDef;
}
}
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -75,6 +75,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return propSupport.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -111,6 +111,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return propSupport.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -175,6 +175,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return propSupport.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -75,6 +75,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return propSupport.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -169,6 +169,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return procStruct.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return procStruct.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -172,6 +172,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return procStruct.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return procStruct.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -224,6 +224,12 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return propSupport.getPropertyNames();
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -25,6 +25,7 @@
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -64,6 +65,13 @@
}
@Override
+ public Set<Property> getProperties()
+ {
+ Set<Property> props = new HashSet<Property>(propmap.values());
+ return Collections.unmodifiableSet(props);
+ }
+
+ @Override
public Set<String> getPropertyNames()
{
return Collections.unmodifiableSet(propmap.keySet());
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -35,6 +35,7 @@
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.ReceiveTask;
import org.jbpm.api.model.internal.ProcessStructure;
import org.jbpm.api.runtime.ExecutionContext;
import org.jbpm.api.runtime.Token;
@@ -50,7 +51,7 @@
* @since 08-Jul-2008
*/
@Entity(name = "ReceiveTask")
-public class ReceiveTaskImpl extends TaskImpl implements MessageListener
+public class ReceiveTaskImpl extends TaskImpl implements ReceiveTask, MessageListener
{
private static final long serialVersionUID = 1L;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-10 16:04:35 UTC (rev 2529)
@@ -31,6 +31,7 @@
import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.SendTask;
import org.jbpm.api.model.internal.ProcessStructure;
import org.jbpm.api.runtime.ExecutionHandler;
import org.jbpm.api.runtime.Token;
@@ -45,7 +46,7 @@
* @since 08-Jul-2008
*/
@Entity(name = "SendTask")
-public class SendTaskImpl extends TaskImpl
+public class SendTaskImpl extends TaskImpl implements SendTask
{
private static final long serialVersionUID = 1L;
Modified: projects/spec/trunk/pom.xml
===================================================================
--- projects/spec/trunk/pom.xml 2008-10-10 13:50:25 UTC (rev 2528)
+++ projects/spec/trunk/pom.xml 2008-10-10 16:04:35 UTC (rev 2529)
@@ -34,6 +34,7 @@
<!-- Modules -->
<modules>
<module>modules/api</module>
+ <module>modules/dialects</module>
<module>modules/ri</module>
<module>modules/cts</module>
</modules>
@@ -42,6 +43,7 @@
<properties>
<hibernate.version>3.2.6.ga</hibernate.version>
<log4j.version>1.2.14</log4j.version>
+ <jaxb.ri.version>2.1.7</jaxb.ri.version>
<mysql.connector.version>5.1.6</mysql.connector.version>
<slf4j.version>1.5.3</slf4j.version>
</properties>
@@ -67,6 +69,16 @@
<version>${hibernate.version}</version>
</dependency>
<dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>${jaxb.ri.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-xjc</artifactId>
+ <version>${jaxb.ri.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
More information about the jbpm-commits
mailing list