[jbpm-commits] JBoss JBPM SVN: r2688 - in projects/spec/trunk/modules: cts/src/test/java/org/jbpm/test/cts/transaction and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Oct 30 15:10:03 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-10-30 15:10:02 -0400 (Thu, 30 Oct 2008)
New Revision: 2688

Added:
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGroup.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBNode.java
Removed:
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBFlowObject.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/Constants.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBActivity.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBEvent.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGateway.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBProcess.java
Log:
marshall/unmarshall groups

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/Constants.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/Constants.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/Constants.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -35,8 +35,8 @@
   /** The default objcet name domain */
   String ID_DOMAIN = "jboss.jbpm";
 
-  /** The key for the Tx attribute property in a TxGroup */
-  String TX_ATTRIBUTE = "jbpm.tx.attribute";
+  /** The key for the Tx type property in a TxGroup */
+  String PROP_TX_TYPE = "TxType";
   
   /** The enumeration of Tx types */
   enum TxType { MANDATORY, NEVER, NOTSUPPORTED, REQUIRED, REQUIRESNEW, SUPPORTS }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -42,7 +42,7 @@
     ProcessDefinition procDef = super.getProcessDefinition();
     String procXML = marshallProcess(procDef);
 
-    System.out.println(procXML);
+    // System.out.println(procXML);
 
     // Recreate the ProcessDefinition from the marshalled ProcessDefinition
     ProcessDefinitionService pdService = getProcessEngine().getService(ProcessDefinitionService.class);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -71,7 +71,7 @@
     procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addTask("TaskA").addGroupRef("TxRequired").addSequenceFlow("TaskB");
     procBuilder.addTask("TaskB").addGroupRef("TxRequired").addSequenceFlow("End").addEndEvent("End");
-    procBuilder.addGroup(GroupType.Transaction, "TxRequired").addProperty(Constants.TX_ATTRIBUTE, TxType.REQUIRED);
+    procBuilder.addGroup(GroupType.Transaction, "TxRequired").addProperty(Constants.PROP_TX_TYPE, TxType.REQUIRED);
     return procBuilder.getProcessDefinition();
   }
 }

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessMarshaller.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -38,6 +38,7 @@
 import org.jbpm.api.model.ExclusiveGateway;
 import org.jbpm.api.model.Expression;
 import org.jbpm.api.model.Gateway;
+import org.jbpm.api.model.Group;
 import org.jbpm.api.model.InclusiveGateway;
 import org.jbpm.api.model.InputSet;
 import org.jbpm.api.model.Message;
@@ -67,8 +68,9 @@
 import org.jbpm.dialect.api10.model.JAXBExpression;
 import org.jbpm.dialect.api10.model.JAXBFlow;
 import org.jbpm.dialect.api10.model.JAXBFlowHandler;
-import org.jbpm.dialect.api10.model.JAXBFlowObject;
+import org.jbpm.dialect.api10.model.JAXBNode;
 import org.jbpm.dialect.api10.model.JAXBGateway;
+import org.jbpm.dialect.api10.model.JAXBGroup;
 import org.jbpm.dialect.api10.model.JAXBInclusiveGateway;
 import org.jbpm.dialect.api10.model.JAXBInputSet;
 import org.jbpm.dialect.api10.model.JAXBMessage;
@@ -125,39 +127,48 @@
       JAXBAssignment jaxbAss = getJaxbAssignment(ass);
       jaxbProc.getAssignments().add(jaxbAss);
     }
+    for (Group grp : procDef.getGroups())
+    {
+      JAXBGroup jaxbGrp = getJaxbGroup(grp);
+      jaxbProc.getGroups().add(jaxbGrp);
+    }
 
-    for (Node flowObject : procDef.getNodes())
+    for (Node node : procDef.getNodes())
     {
-      JAXBFlowObject jaxbNode;
-      if (flowObject instanceof Event)
+      JAXBNode jaxbNode;
+      if (node instanceof Event)
       {
-        jaxbNode = adaptEvent(jaxbProc, (Event)flowObject);
+        jaxbNode = adaptEvent(jaxbProc, (Event)node);
       }
-      else if (flowObject instanceof Task)
+      else if (node instanceof Task)
       {
-        jaxbNode = adaptTask(jaxbProc, (Task)flowObject);
+        jaxbNode = adaptTask(jaxbProc, (Task)node);
       }
-      else if (flowObject instanceof Gateway)
+      else if (node instanceof Gateway)
       {
-        jaxbNode = adaptGateway(jaxbProc, (Gateway)flowObject);
+        jaxbNode = adaptGateway(jaxbProc, (Gateway)node);
       }
       else
       {
-        throw new IllegalStateException("Unsupported flow object: " + flowObject);
+        throw new IllegalStateException("Unsupported flow object: " + node);
       }
 
-      for (Assignment ass : flowObject.getAssignments())
+      for (Assignment ass : node.getAssignments())
       {
         JAXBAssignment jaxbAss = getJaxbAssignment(ass);
         jaxbNode.getAssignments().add(jaxbAss);
       }
 
-      jaxbProc.getFlowObjects().add(jaxbNode);
+      Group groupRef = node.getGroupRef();
+      if (groupRef != null)
+        jaxbNode.setGroupRef(groupRef.getName());
+      
+      jaxbProc.getNodes().add(jaxbNode);
     }
     return jaxbProc;
   }
 
-  private JAXBFlowObject adaptEvent(JAXBProcess jaxbProc, Event event)
+  private JAXBNode adaptEvent(JAXBProcess jaxbProc, Event event)
   {
     JAXBEvent jaxbEvent;
     if (event instanceof StartEvent)
@@ -260,7 +271,7 @@
     return jaxbEvent;
   }
 
-  private JAXBFlowObject adaptTask(JAXBProcess jaxbProc, Task task)
+  private JAXBNode adaptTask(JAXBProcess jaxbProc, Task task)
   {
     JAXBTask jaxbTask = new JAXBTask();
     jaxbTask.setTaskType(task.getTaskType());
@@ -317,7 +328,7 @@
     return jaxbTask;
   }
 
-  private JAXBFlowObject adaptGateway(JAXBProcess jaxbProc, Gateway gateway)
+  private JAXBNode adaptGateway(JAXBProcess jaxbProc, Gateway gateway)
   {
     JAXBGateway jaxbGateway;
     if (gateway instanceof ExclusiveGateway)
@@ -443,6 +454,19 @@
     return jaxbAss;
   }
 
+  private JAXBGroup getJaxbGroup(Group grp)
+  {
+    JAXBGroup jaxbGrp = new JAXBGroup();
+    jaxbGrp.setName(grp.getName());
+    jaxbGrp.setGroupType(grp.getGroupType());
+    for (Property prop : grp.getProperties())
+    {
+      JAXBProperty jaxbProp = getJaxbProperty(prop);
+      jaxbGrp.getProperties().add(jaxbProp);
+    }
+    return jaxbGrp;
+  }
+
   private JAXBExecutionHandler getJAXBExecutionHandler(Node fo, ExecutionHandler handler)
   {
     JAXBExecutionHandler jaxb = null;

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/ProcessUnmarshaller.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -38,6 +38,7 @@
 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.GroupBuilder;
 import org.jbpm.api.model.builder.MessageBuilder;
 import org.jbpm.api.model.builder.ObjectNameFactory;
 import org.jbpm.api.model.builder.ProcessBuilder;
@@ -59,7 +60,8 @@
 import org.jbpm.dialect.api10.model.JAXBExclusiveGateway;
 import org.jbpm.dialect.api10.model.JAXBExpression;
 import org.jbpm.dialect.api10.model.JAXBFlow;
-import org.jbpm.dialect.api10.model.JAXBFlowObject;
+import org.jbpm.dialect.api10.model.JAXBGroup;
+import org.jbpm.dialect.api10.model.JAXBNode;
 import org.jbpm.dialect.api10.model.JAXBGateway;
 import org.jbpm.dialect.api10.model.JAXBHandler;
 import org.jbpm.dialect.api10.model.JAXBInclusiveGateway;
@@ -126,33 +128,46 @@
       procBuilder.addProcessAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
     }
 
-    // Process FlowObjects
-    for (JAXBFlowObject jaxbFlowObject : jaxbProc.getFlowObjects())
+    // Process Groups
+    for (JAXBGroup jaxbGrp : jaxbProc.getGroups())
     {
-      if (jaxbFlowObject instanceof JAXBEvent)
+      GroupBuilder groupBuilder = procBuilder.addGroup(jaxbGrp.getGroupType(), jaxbGrp.getName());
+      for (JAXBProperty jaxbProp : jaxbGrp.getProperties())
+        groupBuilder.addProperty(jaxbProp.getName(), jaxbProp.getValue());
+    }
+
+    // Process Nodes
+    for (JAXBNode jaxbNode : jaxbProc.getNodes())
+    {
+      if (jaxbNode instanceof JAXBEvent)
       {
-        adaptJAXBEvent(procBuilder, jaxbProc, (JAXBEvent)jaxbFlowObject);
+        adaptJAXBEvent(procBuilder, jaxbProc, (JAXBEvent)jaxbNode);
       }
-      else if (jaxbFlowObject instanceof JAXBTask)
+      else if (jaxbNode instanceof JAXBTask)
       {
-        adaptTask(procBuilder, jaxbProc, (JAXBTask)jaxbFlowObject);
+        adaptTask(procBuilder, jaxbProc, (JAXBTask)jaxbNode);
       }
-      else if (jaxbFlowObject instanceof JAXBGateway)
+      else if (jaxbNode instanceof JAXBGateway)
       {
-        adaptJAXBGateway(procBuilder, jaxbProc, (JAXBGateway)jaxbFlowObject);
+        adaptJAXBGateway(procBuilder, jaxbProc, (JAXBGateway)jaxbNode);
       }
       else
       {
-        throw new IllegalStateException("Unsupported flow object: " + jaxbFlowObject);
+        throw new IllegalStateException("Unsupported flow object: " + jaxbNode);
       }
       
-      // FlowObject Assignments
-      for (JAXBAssignment jaxbAss : jaxbFlowObject.getAssignments())
+      // Node Assignments
+      for (JAXBAssignment jaxbAss : jaxbNode.getAssignments())
       {
         JAXBExpression jaxbFrom = jaxbAss.getFrom();
         String jaxbTo = jaxbAss.getTo();
         procBuilder.addNodeAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
       }
+      
+      // Group ref
+      String groupRef = jaxbNode.getGroupRef();
+      if (groupRef != null)
+        procBuilder.addGroupRef(groupRef);
     }
 
     ProcessDefinition procDef = procBuilder.getProcessDefinition();

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBActivity.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBActivity.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBActivity.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -40,7 +40,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name="Activity")
-public class JAXBActivity extends JAXBFlowObject
+public class JAXBActivity extends JAXBNode
 {
   private String name;
   private List<JAXBProperty> properties = new ArrayList<JAXBProperty>();

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBEvent.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBEvent.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBEvent.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -33,7 +33,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name = "AbstractEvent")
-public class JAXBEvent extends JAXBFlowObject
+public class JAXBEvent extends JAXBNode
 {
   private JAXBExecutionHandler executionHandler;
   private JAXBFlowHandler flowHandler;

Deleted: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBFlowObject.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBFlowObject.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBFlowObject.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -1,49 +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.jbpm.dialect.api10.model;
-
-//$Id: $
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * A Flow Object is one of the set of following graphical objects: Event, Activity, and Gateway.
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
- at XmlType(name = "FlowObject")
-public class JAXBFlowObject extends JAXBGraphicalElement
-{
-  private List<JAXBAssignment> assignments = new ArrayList<JAXBAssignment>();
-  
-  @XmlElement(name = "assignment")
-  public List<JAXBAssignment> getAssignments()
-  {
-    return assignments;
-  }
-}
\ No newline at end of file

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGateway.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGateway.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGateway.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -39,7 +39,7 @@
  * @since 08-Jul-2008
  */
 @XmlType(name = "Gateway")
-public class JAXBGateway extends JAXBFlowObject
+public class JAXBGateway extends JAXBNode
 {
   private String name;
   private JAXBExecutionHandler executionHandler;

Added: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGroup.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGroup.java	                        (rev 0)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGroup.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -0,0 +1,76 @@
+/*
+ * 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.dialect.api10.model;
+
+//$Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jbpm.api.model.Group.GroupType;
+
+/**
+ * An Assignment, which is used in the definition of attributes for Process,
+ * Activity, Event, Gateway, and Gate.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 30-Oct-2008
+ */
+ at XmlType(name = "Group")
+public class JAXBGroup
+{
+  private String name;
+  private List<JAXBProperty> properties = new ArrayList<JAXBProperty>();
+  private GroupType type; 
+  
+  public String getName()
+  {
+    return name;
+  }
+
+  @XmlAttribute
+  public void setName(String name)
+  {
+    this.name = name;
+  }
+
+  public GroupType getGroupType()
+  {
+    return type;
+  }
+
+  @XmlAttribute(name = "type")
+  public void setGroupType(GroupType type)
+  {
+    this.type = type;
+  }
+
+  @XmlElement(name = "property")
+  public List<JAXBProperty> getProperties()
+  {
+    return properties;
+  }
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBGroup.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBNode.java (from rev 2685, projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBFlowObject.java)
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBNode.java	                        (rev 0)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBNode.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -0,0 +1,62 @@
+/*
+ * 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.dialect.api10.model;
+
+//$Id: $
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * A Node is one of the set of following graphical objects: Event, Activity, and Gateway.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+ at XmlType(name = "Node")
+public class JAXBNode extends JAXBGraphicalElement
+{
+  private List<JAXBAssignment> assignments = new ArrayList<JAXBAssignment>();
+  private String groupRef;
+  
+  @XmlElement(name = "assignment")
+  public List<JAXBAssignment> getAssignments()
+  {
+    return assignments;
+  }
+
+  public String getGroupRef()
+  {
+    return groupRef;
+  }
+
+  @XmlElement
+  public void setGroupRef(String groupRef)
+  {
+    this.groupRef = groupRef;
+  }
+  
+}
\ No newline at end of file

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBProcess.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBProcess.java	2008-10-30 18:12:53 UTC (rev 2687)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jbpm/dialect/api10/model/JAXBProcess.java	2008-10-30 19:10:02 UTC (rev 2688)
@@ -55,10 +55,11 @@
       @XmlElement(name = "parallel-gateway", type = JAXBParallelGateway.class),
       @XmlElement(name = "sub-process", type = JAXBSubProcess.class),
       @XmlElement(name = "end", type = JAXBEndEvent.class) })
-  private List<JAXBFlowObject> flowObjects = new ArrayList<JAXBFlowObject>();
+  private List<JAXBNode> nodes = new ArrayList<JAXBNode>();
 
   private List<JAXBProperty> properties = new ArrayList<JAXBProperty>();
   private List<JAXBAssignment> assignments = new ArrayList<JAXBAssignment>();
+  private List<JAXBGroup> groups = new ArrayList<JAXBGroup>();
 
   public String getName()
   {
@@ -71,9 +72,9 @@
     this.name = name;
   }
 
-  public List<JAXBFlowObject> getFlowObjects()
+  public List<JAXBNode> getNodes()
   {
-    return flowObjects;
+    return nodes;
   }
 
   public List<JAXBMessage> getMessages()
@@ -119,4 +120,10 @@
   {
     return assignments;
   }
+
+  @XmlElement(name = "group")
+  public List<JAXBGroup> getGroups()
+  {
+    return groups;
+  }
 }
\ No newline at end of file




More information about the jbpm-commits mailing list