[jbosstools-commits] JBoss Tools SVN: r23026 - in trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4: src/org/jboss/tools/flow/jpdl4/editor and 3 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Jun 25 06:24:58 EDT 2010


Author: koen.aers at jboss.com
Date: 2010-06-25 06:24:56 -0400 (Fri, 25 Jun 2010)
New Revision: 23026

Added:
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewayDeserializer.java
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewaySerializer.java
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ForeachParallelGateway.java
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachInSection.java
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachVarSection.java
Modified:
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java
   trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
Log:
GPD-394

Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml	2010-06-25 09:51:32 UTC (rev 23025)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml	2010-06-25 10:24:56 UTC (rev 23026)
@@ -253,6 +253,16 @@
          </node>
       </element>
       <element
+            class="org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway"
+            figure="icons/16/gateway_parallel.png"
+            id="org.jboss.tools.flow.jpdl4.parallelForEachGateway"
+            label="foreach"
+            language="org.jboss.tools.flow.jpdl4">
+         <node>
+            <figure class="org.jboss.tools.flow.jpdl4.figure.ParallelGatewayFigure"></figure>
+         </node>
+      </element>
+      <element
             class="org.jboss.tools.flow.jpdl4.model.JoinParallelGateway"
             figure="icons/16/gateway_parallel.png"
             id="org.jboss.tools.flow.jpdl4.parallelJoinGateway"
@@ -691,6 +701,20 @@
                 tab="org.jboss.tools.jpdl4.general">
             <input type="org.jboss.tools.flow.jpdl4.model.PrimitiveObject"/>
           </propertySection>
+          <propertySection
+                afterSection="org.jboss.tools.jpdl4.name"
+                class="org.jboss.tools.flow.jpdl4.properties.ForEachVarSection"
+                id="org.jboss.tools.jpdl4.foreachGateway.var"
+                tab="org.jboss.tools.jpdl4.general">
+            <input type="org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway"/>
+          </propertySection>
+          <propertySection
+                afterSection="org.jboss.tools.jpdl4.var"
+                class="org.jboss.tools.flow.jpdl4.properties.ForEachInSection"
+                id="org.jboss.tools.jpdl4.foreachGateway.in"
+                tab="org.jboss.tools.jpdl4.general">
+            <input type="org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway"/>
+          </propertySection>
       </propertySections>
    </extension>
    <extension

Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java	2010-06-25 09:51:32 UTC (rev 23025)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -238,6 +238,15 @@
             );
         entries.add(combined);
         combined = new CombinedTemplateCreationEntry(
+                "foreach",
+                "Create a new ForEach activity",
+                "org.jboss.tools.flow.jpdl4.parallelForEachGateway",
+                ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.parallelForEachGateway"),                
+                ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/16/gateway_parallel.png")),
+                ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/32/gateway_parallel.png"))
+            );
+        entries.add(combined);
+        combined = new CombinedTemplateCreationEntry(
                 "join",
                 "Create a new Join",
                 "org.jboss.tools.flow.jpdl4.parallelJoinGateway",

Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewayDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewayDeserializer.java	                        (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewayDeserializer.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -0,0 +1,13 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway;
+import org.w3c.dom.Element;
+
+public class ForEachParallelGatewayDeserializer extends NodeDeserializer {
+	public void deserializeAttributes(Wrapper wrapper, Element element) {
+		super.deserializeAttributes(wrapper, element);
+		wrapper.setPropertyValue(ForeachParallelGateway.VAR, element.getAttribute("var"));
+		wrapper.setPropertyValue(ForeachParallelGateway.IN, element.getAttribute("in"));
+	}
+}


Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewayDeserializer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewaySerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewaySerializer.java	                        (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewaySerializer.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -0,0 +1,26 @@
+package org.jboss.tools.flow.jpdl4.io;
+
+import java.util.List;
+
+import org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway;
+
+
+public class ForEachParallelGatewaySerializer extends ProcessNodeSerializer {
+
+	protected List<String> getAttributesToSave() {
+		List<String> result = super.getAttributesToSave();
+		result.add("var");
+		result.add("in");
+		return result;
+	}
+	
+	protected String getPropertyName(String attributeName) {
+		if ("var".equals(attributeName)) {
+			return ForeachParallelGateway.VAR;
+		} else if ("in".equals(attributeName)) {
+			return ForeachParallelGateway.IN;
+		}
+		return super.getPropertyName(attributeName);
+	}
+
+}


Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/ForEachParallelGatewaySerializer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java	2010-06-25 09:51:32 UTC (rev 23025)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/io/Registry.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -15,6 +15,7 @@
 import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
 import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
 import org.jboss.tools.flow.jpdl4.model.Field;
+import org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway;
 import org.jboss.tools.flow.jpdl4.model.ForkParallelGateway;
 import org.jboss.tools.flow.jpdl4.model.HumanTask;
 import org.jboss.tools.flow.jpdl4.model.JavaTask;
@@ -93,6 +94,7 @@
 		else if ("long".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
 		else if ("short".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
 		else if ("true".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.primitive";
+		else if ("foreach".equals(nodeName)) return "org.jboss.tools.flow.jpdl4.parallelForEachGateway";
 		// no corresponding element
 		else return null;
 	}
@@ -164,6 +166,8 @@
 			return new RuleTaskDeserializer();
 		} else if (element instanceof QueryTask) {
 			return new QueryTaskDeserializer();
+		} else if (element instanceof ForeachParallelGateway) {
+			return new ForEachParallelGatewayDeserializer();
 		} else {
 			return new NodeDeserializer();
 		}
@@ -249,6 +253,8 @@
     		return new ArgumentSerializer();
     	} else if (element instanceof Field) {
     		return new FieldSerializer();
+    	}else if (element instanceof ForeachParallelGateway) {
+    		return new ForEachParallelGatewaySerializer();
     	}
 		return null;
 	}
@@ -286,6 +292,7 @@
 		else if ("org.jboss.tools.flow.jpdl4.outputParameter".equals(elementId)) return "parameter-out";
 		else if ("org.jboss.tools.flow.jpdl4.argument".equals(elementId)) return "arg";
 		else if ("org.jboss.tools.flow.jpdl4.field".equals(elementId)) return "field";
+		else if ("org.jboss.tools.flow.jpdl4.parallelForEachGateway".equals(elementId)) return "foreach";
 		else return null;
     }
     

Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ForeachParallelGateway.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ForeachParallelGateway.java	                        (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ForeachParallelGateway.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -0,0 +1,71 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+public class ForeachParallelGateway extends ParallelGateway {
+
+	public static final String VAR = "org.jboss.tools.flow.jpdl4.model.forEachParallelGateway.var";
+	public static final String IN = "org.jboss.tools.flow.jpdl4.model.forEachParallelGateway.in";
+	
+	private String variableName;
+	private String inCollection;
+	
+	public ForeachParallelGateway() {
+		setMetaData("propertySource", new PropertySource());
+	}
+	
+	
+	public void setVariableName(String variableName) {
+		this.variableName = variableName;
+	}
+	public String getVariableName() {
+		return variableName;
+	}
+	public void setInCollection(String inCollection) {
+		this.inCollection = inCollection;
+	}
+	public String getInCollection() {
+		return inCollection;
+	}
+	private class PropertySource implements IPropertySource {
+		
+		public Object getEditableValue() {
+			return null;
+		}
+
+		public IPropertyDescriptor[] getPropertyDescriptors() {
+			return new IPropertyDescriptor[0];
+		}
+
+		public Object getPropertyValue(Object id) {
+			if (VAR.equals(id)) {
+				return getVariableName();
+			} else if (IN.equals(id)) {
+				return getInCollection();
+			}
+			return null;
+		}
+
+		public boolean isPropertySet(Object id) {
+			if (VAR.equals(id)) {
+				return getVariableName() != null;
+			} else if (IN.equals(id)) {
+				return getInCollection() != null;
+			}
+			return false;
+		}
+
+		public void resetPropertyValue(Object id) {
+		}
+
+		public void setPropertyValue(Object id, Object value) {
+			if (VAR.equals(id)) {
+				setVariableName((String)value);
+			} else if (IN.equals(id)) {
+				setInCollection((String)value);
+			}
+		}
+		
+	}
+}


Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ForeachParallelGateway.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachInSection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachInSection.java	                        (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachInSection.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway;
+
+public class ForEachInSection extends TextFieldPropertySection {
+
+	public ForEachInSection() {
+		super(ForeachParallelGateway.IN, "Collection");
+	}
+
+}


Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachInSection.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachVarSection.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachVarSection.java	                        (rev 0)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachVarSection.java	2010-06-25 10:24:56 UTC (rev 23026)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.ForeachParallelGateway;
+
+public class ForEachVarSection extends TextFieldPropertySection {
+
+	public ForEachVarSection() {
+		super(ForeachParallelGateway.VAR, "Variable");
+	}
+
+}


Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ForEachVarSection.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain



More information about the jbosstools-commits mailing list