Author: koen.aers(a)jboss.com
Date: 2009-05-28 22:25:21 -0400 (Thu, 28 May 2009)
New Revision: 15590
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/input.gif
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/output.gif
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/InputParameterListTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/OutputParameterListTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterTreeEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SubprocessTaskTreeRootEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddChildHandler.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddInputParameterHandler.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddOutputParameterHandler.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/InputParameter.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/OutputParameter.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Parameter.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterExpressionSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterInnerVariableSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterLanguageSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterOuterVariableSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/SequenceFlowOutcomeValueSection.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/SequenceFlowOutcomeValueFilter.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/JpdlDeserializer.java
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/JpdlSerializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/DeleteElementHandler.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SubprocessTask.java
Log:
support subprocess elements (GPD-327)
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/input.gif
===================================================================
(Binary files differ)
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/input.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/output.gif
===================================================================
(Binary files differ)
Property changes on: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/icons/16/output.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-05-28 21:04:00 UTC (rev
15589)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2009-05-29 02:25:21 UTC (rev
15590)
@@ -258,6 +258,20 @@
label="event"
language="org.jboss.tools.flow.jpdl4">
</element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.InputParameter"
+ figure="icons/16/input.gif"
+ id="org.jboss.tools.flow.jpdl4.inputParameter"
+ label="input parameter"
+ language="org.jboss.tools.flow.jpdl4">
+ </element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.OutputParameter"
+ figure="icons/16/output.gif"
+ id="org.jboss.tools.flow.jpdl4.outputParameter"
+ label="output parameter"
+ language="org.jboss.tools.flow.jpdl4">
+ </element>
</extension>
<extension
point="org.eclipse.ui.newWizards">
@@ -438,6 +452,13 @@
<input
type="org.jboss.tools.flow.jpdl4.model.SequenceFlow"/>
</propertySection>
<propertySection
+ afterSection="org.jboss.tools.jpdl4.sequenceFlow.timer"
+
class="org.jboss.tools.flow.jpdl4.properties.SequenceFlowOutcomeValueSection"
+
filter="org.jboss.tools.jpdl4.properties.SequenceFlowOutcomeValueFilter"
+ id="org.jboss.tools.jpdl4.sequenceFlow.outcome"
+ tab="org.jboss.tools.jpdl4.general">
+ </propertySection>
+ <propertySection
afterSection="org.jboss.tools.jpdl4.name"
class="org.jboss.tools.flow.jpdl4.properties.JavaTaskClassSection"
id="org.jboss.tools.jpdl4.javaTask.class"
@@ -486,6 +507,60 @@
tab="org.jboss.tools.jpdl4.general">
<input type="org.jboss.tools.flow.jpdl4.model.ScriptTask"/>
</propertySection>
+ <propertySection
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterOuterVariableSection"
+ id="org.jboss.tools.jpdl4.inputParameter.outerVariable"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.InputParameter"/>
+ </propertySection>
+ <propertySection
+
afterSection="org.jboss.tools.jpdl4.inputParameter.outerVariable"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterInnerVariableSection"
+ id="org.jboss.tools.jpdl4.inputParameter.innerVariable"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.InputParameter"/>
+ </propertySection>
+ <propertySection
+
afterSection="org.jboss.tools.jpdl4.inputParameter.innerVariable"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterExpressionSection"
+ id="org.jboss.tools.jpdl4.inputParameter.expression"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.InputParameter"/>
+ </propertySection>
+ <propertySection
+ afterSection="org.jboss.tools.jpdl4.inputParameter.expression"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterLanguageSection"
+ id="org.jboss.tools.jpdl4.inputParameter.language"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.InputParameter"/>
+ </propertySection>
+ <propertySection
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterInnerVariableSection"
+ id="org.jboss.tools.jpdl4.outputParameter.innerVariable"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.OutputParameter"/>
+ </propertySection>
+ <propertySection
+
afterSection="org.jboss.tools.jpdl4.outputParameter.innerVariable"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterOuterVariableSection"
+ id="org.jboss.tools.jpdl4.outputParameter.outerVariable"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.OutputParameter"/>
+ </propertySection>
+ <propertySection
+
afterSection="org.jboss.tools.jpdl4.outputParameter.outerVariable"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterExpressionSection"
+ id="org.jboss.tools.jpdl4.outputParameter.expression"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.OutputParameter"/>
+ </propertySection>
+ <propertySection
+
afterSection="org.jboss.tools.jpdl4.outputParameter.expression"
+
class="org.jboss.tools.flow.jpdl4.properties.ParameterLanguageSection"
+ id="org.jboss.tools.jpdl4.outputParameter.language"
+ tab="org.jboss.tools.jpdl4.general">
+ <input
type="org.jboss.tools.flow.jpdl4.model.OutputParameter"/>
+ </propertySection>
</propertySections>
</extension>
<extension
@@ -525,6 +600,18 @@
</command>
<command
categoryId="org.jboss.tools.flow.jpdl4"
+
defaultHandler="org.jboss.tools.flow.jpdl4.handler.AddInputParameterHandler"
+ id="org.jboss.tools.flow.jpdl4.addInputParameter"
+ name="Add Input Parameter">
+ </command>
+ <command
+ categoryId="org.jboss.tools.flow.jpdl4"
+
defaultHandler="org.jboss.tools.flow.jpdl4.handler.AddOutputParameterHandler"
+ id="org.jboss.tools.flow.jpdl4.addOutputParameter"
+ name="Add Output Parameter">
+ </command>
+ <command
+ categoryId="org.jboss.tools.flow.jpdl4"
defaultHandler="org.jboss.tools.flow.jpdl4.handler.DeleteElementHandler"
id="org.jboss.tools.flow.jpdl4.delete"
name="Delete">
@@ -597,6 +684,44 @@
</iterate>
</visibleWhen>
</command>
+ <command
+ commandId="org.jboss.tools.flow.jpdl4.addInputParameter"
+ icon="icons/16/input.gif"
+ id="org.jboss.tools.flow.jpdl4.addInputParameter"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <iterate>
+ <or>
+ <instanceof
+
value="org.jboss.tools.flow.jpdl4.editpart.SubprocessTaskTreeRootEditPart">
+ </instanceof>
+ <instanceof
+
value="org.jboss.tools.flow.jpdl4.editpart.InputParameterListTreeEditPart">
+ </instanceof>
+ </or>
+ </iterate>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.jboss.tools.flow.jpdl4.addOutputParameter"
+ icon="icons/16/output.gif"
+ id="org.jboss.tools.flow.jpdl4.addOutputParameter"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <iterate>
+ <or>
+ <instanceof
+
value="org.jboss.tools.flow.jpdl4.editpart.SubprocessTaskTreeRootEditPart">
+ </instanceof>
+ <instanceof
+
value="org.jboss.tools.flow.jpdl4.editpart.OutputParameterListTreeEditPart">
+ </instanceof>
+ </or>
+ </iterate>
+ </visibleWhen>
+ </command>
<separator
name="org.jboss.tools.flow.jpdl4.details.separator1"
visible="true">
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -23,7 +23,10 @@
import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
import org.jboss.tools.flow.jpdl4.model.HumanTask;
+import org.jboss.tools.flow.jpdl4.model.InputParameter;
import org.jboss.tools.flow.jpdl4.model.JavaTask;
+import org.jboss.tools.flow.jpdl4.model.OutputParameter;
+import org.jboss.tools.flow.jpdl4.model.Parameter;
import org.jboss.tools.flow.jpdl4.model.Process;
import org.jboss.tools.flow.jpdl4.model.ScriptTask;
import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
@@ -173,6 +176,30 @@
}
}
+ class ParameterAttributeHandler extends DefaultAttributeDeserializer {
+ protected List<String> getAttributesToRead() {
+ List<String> result = super.getAttributesToRead();
+ result.add(Parameter.VAR);
+ result.add(Parameter.SUBVAR);
+ result.add(Parameter.EXPR);
+ result.add(Parameter.LANG);
+ return result;
+ }
+ protected String getXmlName(String attributeName) {
+ if (Parameter.VAR.equals(attributeName)) {
+ return "var";
+ } else if (Parameter.SUBVAR.equals(attributeName)) {
+ return "subvar";
+ } else if (Parameter.EXPR.equals(attributeName)) {
+ return "expr";
+ } else if (Parameter.LANG.equals(attributeName)) {
+ return "lang";
+ } else {
+ return super.getXmlName(attributeName);
+ }
+ }
+ }
+
class SubprocessTaskAttributeHandler extends NodeAttributeHandler {
protected List<String> getAttributesToRead() {
List<String> result = super.getAttributesToRead();
@@ -275,8 +302,17 @@
if (duedate != null && !("".equals(duedate))) {
parent.setPropertyValue(SequenceFlow.TIMER, duedate);
}
+ } else if ("outcome-value".equals(node.getNodeName())) {
+ NodeList nodeList = ((Element)node).getElementsByTagName("string");
+ if (nodeList.getLength() == 1) {
+ String value = ((Element)nodeList.item(0)).getAttribute("value");
+ if (value != null && !("".equals("value"))) {
+ parent.setPropertyValue(SequenceFlow.OUTCOME_VALUE, value);
+ }
+ }
+ } else {
+ result = createWrapper((Element)node);
}
- result = createWrapper((Element)node);
if (result == null) return null;
if (result instanceof Wrapper) {
if (result.getElement() instanceof EventListener) {
@@ -325,6 +361,19 @@
}
}
+ class SubprocessTaskChildNodeHandler extends NodeChildNodeHandler {
+ public Wrapper deserializeChildNode(Wrapper parent, Node node) {
+ Wrapper result = super.deserializeChildNode(parent, node);
+ if (result == null) return result;
+ if (result.getElement() instanceof InputParameter) {
+ parent.addChild(SubprocessTask.INPUT_PARAMETERS, result);
+ } else if (result.getElement() instanceof OutputParameter) {
+ parent.addChild(SubprocessTask.OUTPUT_PARAMETERS, result);
+ }
+ return result;
+ }
+ }
+
class EventListenerContainerChildNodeHandler implements ChildNodeDeserializer {
public Wrapper deserializeChildNode(Wrapper parent, Node node) {
Wrapper result = null;
@@ -486,6 +535,8 @@
return new EventListenerContainerAttributeHandler();
} else if (element instanceof EventListener) {
return new EventListenerAttributeHandler();
+ } else if (element instanceof Parameter) {
+ return new ParameterAttributeHandler();
}
return null;
}
@@ -528,6 +579,8 @@
return new ExclusiveGateWayChildNodeHandler();
} else if (element instanceof ScriptTask) {
return new ScriptTaskChildNodeHandler();
+ } else if (element instanceof SubprocessTask) {
+ return new SubprocessTaskChildNodeHandler();
} else {
return new NodeChildNodeHandler();
}
@@ -563,6 +616,8 @@
else if ("timer".equals(nodeName)) return
"org.jboss.tools.flow.jpdl4.timer";
else if ("on".equals(nodeName)) return
"org.jboss.tools.flow.jpdl4.eventListenerContainer";
else if ("event-listener".equals(nodeName)) return
"org.jboss.tools.flow.jpdl4.eventListener";
+ else if ("parameter-in".equals(nodeName)) return
"org.jboss.tools.flow.jpdl4.inputParameter";
+ else if ("parameter-out".equals(nodeName)) return
"org.jboss.tools.flow.jpdl4.outputParameter";
else return null;
}
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 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -169,15 +169,15 @@
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/32/task_empty.png"))
);
entries.add(combined);
-// combined = new CombinedTemplateCreationEntry(
-// "sub-process",
-// "Create a new Subprocess",
-// "org.jboss.tools.flow.jpdl4.subprocess",
-//
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.subprocessTask"),
-//
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/16/task_empty.png")),
-//
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/32/task_empty.png"))
-// );
-// entries.add(combined);
+ combined = new CombinedTemplateCreationEntry(
+ "sub-process",
+ "Create a new Subprocess",
+ "org.jboss.tools.flow.jpdl4.subprocess",
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.subprocessTask"),
+
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/16/task_empty.png")),
+
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/32/task_empty.png"))
+ );
+ entries.add(combined);
return entries;
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -38,9 +38,12 @@
import org.jboss.tools.flow.jpdl4.model.ForkParallelGateway;
import org.jboss.tools.flow.jpdl4.model.HqlTask;
import org.jboss.tools.flow.jpdl4.model.HumanTask;
+import org.jboss.tools.flow.jpdl4.model.InputParameter;
import org.jboss.tools.flow.jpdl4.model.JavaTask;
import org.jboss.tools.flow.jpdl4.model.JoinParallelGateway;
import org.jboss.tools.flow.jpdl4.model.MailTask;
+import org.jboss.tools.flow.jpdl4.model.OutputParameter;
+import org.jboss.tools.flow.jpdl4.model.Parameter;
import org.jboss.tools.flow.jpdl4.model.Process;
import org.jboss.tools.flow.jpdl4.model.ProcessNode;
import org.jboss.tools.flow.jpdl4.model.ScriptTask;
@@ -202,6 +205,8 @@
else if ("org.jboss.tools.flow.jpdl4.timer".equals(elementId)) return
"timer";
else if
("org.jboss.tools.flow.jpdl4.eventListenerContainer".equals(elementId)) return
"on";
else if ("org.jboss.tools.flow.jpdl4.eventListener".equals(elementId)) return
"event-listener";
+ else if ("org.jboss.tools.flow.jpdl4.inputParameter".equals(elementId))
return "parameter-in";
+ else if ("org.jboss.tools.flow.jpdl4.outputParameter".equals(elementId))
return "parameter-out";
else return null;
}
@@ -272,6 +277,12 @@
appendPadding(buffer, level + 1);
buffer.append("<timer duedate=\"" + timer +
"\"/>");
}
+ String outcome = (String)wrapper.getPropertyValue(SequenceFlow.OUTCOME_VALUE);
+ if (outcome != null && !("".equals(outcome))) {
+ buffer.append("\n");
+ appendPadding(buffer, level + 1);
+ buffer.append("<outcome-value><string value=\"" + outcome
+ "\"/></outcome-value>");
+ }
List<Element> eventListeners = wrapper.getChildren("listener");
if (eventListeners != null) {
for (Element eventListener : eventListeners) {
@@ -506,9 +517,32 @@
}
}
+ class ParameterWrapperSerializer extends AbstractWrapperSerializer {
+ protected List<String> getAttributesToSave() {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add("var");
+ result.add("subvar");
+ result.add("expr");
+ result.add("lang");
+ return result;
+ }
+ protected String getPropertyName(String attributeName) {
+ if ("var".equals(attributeName)) {
+ return Parameter.VAR;
+ } else if ("subvar".equals(attributeName)) {
+ return Parameter.SUBVAR;
+ } else if ("expr".equals(attributeName)) {
+ return Parameter.EXPR;
+ } else if ("lang".equals(attributeName)) {
+ return Parameter.LANG;
+ }
+ return super.getPropertyName(attributeName);
+ }
+ }
+
class SubprocessTaskWrapperSerializer extends ProcessNodeWrapperSerializer {
protected List<String> getAttributesToSave() {
- ArrayList<String> result = new ArrayList<String>();
+ List<String> result = super.getAttributesToSave();
result.add("sub-process-id");
result.add("sub-process-key");
result.add("outcome");
@@ -524,6 +558,23 @@
}
return super.getPropertyName(attributeName);
}
+ public void appendBody(StringBuffer buffer, Wrapper wrapper, int level) {
+ List<Element> inputParameters =
wrapper.getChildren(SubprocessTask.INPUT_PARAMETERS);
+ if (inputParameters != null) {
+ for (Element inputParameter : inputParameters) {
+ if (!(inputParameter instanceof Wrapper)) continue;
+ appendToBuffer(buffer, (Wrapper)inputParameter, level+1);
+ }
+ }
+ List<Element> outputParameters =
wrapper.getChildren(SubprocessTask.OUTPUT_PARAMETERS);
+ if (outputParameters != null) {
+ for (Element outputParameter : outputParameters) {
+ if (!(outputParameter instanceof Wrapper)) continue;
+ appendToBuffer(buffer, (Wrapper)outputParameter, level+1);
+ }
+ }
+ super.appendBody(buffer, wrapper, level);
+ }
}
class EventListenerContainerWrapperSerializer extends AbstractWrapperSerializer {
@@ -712,6 +763,8 @@
new EventListenerContainerWrapperSerializer().appendOpening(buffer, wrapper,
level);
} else if (element instanceof EventListener) {
new EventListenerWrapperSerializer().appendOpening(buffer, wrapper, level);
+ } else if (element instanceof Parameter) {
+ new ParameterWrapperSerializer().appendOpening(buffer, wrapper, level);
}
}
@@ -812,7 +865,7 @@
buffer.append("</esb>");
} else if (element instanceof HumanTask) {
buffer.append("</task>");
- } else if (element instanceof HumanTask) {
+ } else if (element instanceof SubprocessTask) {
buffer.append("</sub-process>");
} else if (element instanceof ExclusiveGateway) {
buffer.append("</decision>");
@@ -830,6 +883,10 @@
buffer.append("</on>");
} else if (element instanceof EventListener) {
buffer.append("</event-listener>");
+ } else if (element instanceof InputParameter) {
+ buffer.append("</parameter-in>");
+ } else if (element instanceof OutputParameter) {
+ buffer.append("</parameter-out>");
}
}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/InputParameterListTreeEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/InputParameterListTreeEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/InputParameterListTreeEditPart.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,34 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.jpdl4.util.SharedImages;
+
+public class InputParameterListTreeEditPart extends JpdlTreeEditPart {
+
+ public InputParameterListTreeEditPart(List<Element> parameters) {
+ super(parameters);
+ }
+
+ protected Image getImage() {
+ String iconPath = "icons/16/input.gif";
+ ImageDescriptor descriptor = ImageDescriptor.createFromURL(
+ Platform.getBundle("org.jboss.tools.flow.jpdl4").getEntry(iconPath));
+ return SharedImages.INSTANCE.getImage(descriptor);
+ }
+
+ protected String getText() {
+ return "Input Parameters";
+ }
+
+ @SuppressWarnings("unchecked")
+ protected List<Object> getModelChildren() {
+ return (List<Object>)getModel();
+ }
+
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/InputParameterListTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlTreeEditPartFactory.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -9,6 +9,8 @@
import org.jboss.tools.flow.common.wrapper.Wrapper;
import org.jboss.tools.flow.jpdl4.model.EventListener;
import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
import org.jboss.tools.flow.jpdl4.model.Swimlane;
import org.jboss.tools.flow.jpdl4.model.Timer;
@@ -16,17 +18,24 @@
public EditPart createEditPart(EditPart context, Object model) {
if (model instanceof FlowWrapper && context == null) return new
ProcessTreeRootEditPart((FlowWrapper)model);
- if (model instanceof NodeWrapper && context == null) return new
TaskTreeRootEditPart((NodeWrapper)model);
+ if (model instanceof NodeWrapper && context == null) {
+ Element element = ((NodeWrapper)model).getElement();
+ if (element instanceof SubprocessTask) return new
SubprocessTaskTreeRootEditPart((Wrapper)model);
+ return new TaskTreeRootEditPart((NodeWrapper)model);
+ }
if (model instanceof ConnectionWrapper && context == null) return new
SequenceFlowTreeRootEditPart((ConnectionWrapper)model);
if (model instanceof Wrapper) {
Element element = ((Wrapper)model).getElement();
if (element instanceof Swimlane) return new SwimlaneTreeEditPart((Wrapper)model);
+ if (element instanceof Parameter) return new ParameterTreeEditPart((Wrapper)model);
if (element instanceof EventListenerContainer) return new
EventListenerListTreeEditPart((Wrapper)model);
if (element instanceof EventListener) return new
EventListenerTreeEditPart((Wrapper)model);
if (element instanceof Timer) return new TimerTreeEditPart((Wrapper)model);
return new NoDetailsTreeRootEditPart();
}
if (model instanceof SwimlaneListTreeEditPart) return (EditPart)model;
+ if (model instanceof InputParameterListTreeEditPart) return (EditPart)model;
+ if (model instanceof OutputParameterListTreeEditPart) return (EditPart)model;
if (model instanceof TimerListTreeEditPart) return (EditPart)model;
if (model instanceof ListenerListTreeEditPart) return (EditPart)model;
return new NoDetailsTreeRootEditPart();
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/OutputParameterListTreeEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/OutputParameterListTreeEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/OutputParameterListTreeEditPart.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,34 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.jpdl4.util.SharedImages;
+
+public class OutputParameterListTreeEditPart extends JpdlTreeEditPart {
+
+ public OutputParameterListTreeEditPart(List<Element> parameters) {
+ super(parameters);
+ }
+
+ protected Image getImage() {
+ String iconPath = "icons/16/output.gif";
+ ImageDescriptor descriptor = ImageDescriptor.createFromURL(
+ Platform.getBundle("org.jboss.tools.flow.jpdl4").getEntry(iconPath));
+ return SharedImages.INSTANCE.getImage(descriptor);
+ }
+
+ protected String getText() {
+ return "Output Parameters";
+ }
+
+ @SuppressWarnings("unchecked")
+ protected List<Object> getModelChildren() {
+ return (List<Object>)getModel();
+ }
+
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/OutputParameterListTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterTreeEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterTreeEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterTreeEditPart.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,49 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.ModelEvent;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.InputParameter;
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+import org.jboss.tools.flow.jpdl4.util.SharedImages;
+
+public class ParameterTreeEditPart extends JpdlTreeEditPart implements
ElementTreeEditPart {
+
+ public ParameterTreeEditPart(Wrapper wrapper) {
+ super(wrapper);
+ }
+
+ protected Image getImage() {
+ Element element = ((Wrapper)getModel()).getElement();
+ String iconPath = element instanceof InputParameter ? "icons/16/input.gif" :
"icons/16/output.gif";
+ ImageDescriptor descriptor = ImageDescriptor.createFromURL(
+ Platform.getBundle("org.jboss.tools.flow.jpdl4").getEntry(iconPath));
+ return SharedImages.INSTANCE.getImage(descriptor);
+ }
+
+ protected String getText() {
+ Element element = ((Wrapper)getModel()).getElement();
+ String property = element instanceof InputParameter ? Parameter.VAR :
Parameter.SUBVAR;
+ String variable = (String)((Wrapper)getModel()).getPropertyValue(property);
+ return variable == null || "".equals(variable) ? "variable" :
variable;
+ }
+
+ public void modelChanged(ModelEvent event) {
+ if (event.getChangeType() == Wrapper.CHANGE_PROPERTY) {
+ refreshVisuals();
+ }
+ }
+
+ public void activate() {
+ super.activate();
+ ((Wrapper)getModel()).addListener(this);
+ }
+
+ public void deactivate() {
+ ((Wrapper)getModel()).removeListener(this);
+ super.deactivate();
+ }
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/ParameterTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SubprocessTaskTreeRootEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SubprocessTaskTreeRootEditPart.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SubprocessTaskTreeRootEditPart.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,39 @@
+package org.jboss.tools.flow.jpdl4.editpart;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.flow.common.model.Element;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+
+public class SubprocessTaskTreeRootEditPart extends TaskTreeRootEditPart {
+
+ public SubprocessTaskTreeRootEditPart(Wrapper wrapper) {
+ super(wrapper);
+ }
+
+ protected List<Object> getModelChildren() {
+ List<Object> result = new ArrayList<Object>();
+ addInputParameters(result, (Wrapper)getModel());
+ addOutputParameters(result, (Wrapper)getModel());
+ result.addAll(super.getModelChildren());
+ return result;
+ }
+
+ private void addInputParameters(List<Object> list, Wrapper wrapper) {
+ List<Element> inputParameters =
wrapper.getChildren(SubprocessTask.INPUT_PARAMETERS);
+ if (inputParameters != null && !inputParameters.isEmpty()) {
+ list.add(new InputParameterListTreeEditPart(inputParameters));
+ }
+ }
+
+ private void addOutputParameters(List<Object> list, Wrapper wrapper) {
+ List<Element> outputParameters =
wrapper.getChildren(SubprocessTask.OUTPUT_PARAMETERS);
+ if (outputParameters != null && !outputParameters.isEmpty()) {
+ list.add(new OutputParameterListTreeEditPart(outputParameters));
+ }
+ }
+
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SubprocessTaskTreeRootEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddChildHandler.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddChildHandler.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddChildHandler.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,58 @@
+package org.jboss.tools.flow.jpdl4.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.commands.CommandStack;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.jboss.tools.flow.common.command.AddChildCommand;
+import org.jboss.tools.flow.common.registry.ElementRegistry;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+
+public abstract class AddChildHandler extends AbstractHandler implements IHandler {
+
+ protected abstract String getChildId();
+ protected abstract String getChildType();
+
+ private Wrapper getParent(ExecutionEvent event) throws ExecutionException {
+ IWorkbenchPage page =
HandlerUtil.getActiveWorkbenchWindowChecked(event).getActivePage();
+ if (page == null) return null;
+ ISelection selection = page.getSelection();
+ if (!(selection instanceof IStructuredSelection)) return null;
+ IStructuredSelection structuredSelection = (IStructuredSelection)selection;
+ Object first = structuredSelection.getFirstElement();
+ if (!(first instanceof EditPart)) return null;
+ EditPart editPart = (EditPart)first;
+ while (editPart != null) {
+ Object model = editPart.getModel();
+ if (model != null && model instanceof Wrapper) {
+ return (Wrapper)model;
+ }
+ editPart = editPart.getParent();
+ }
+ return null;
+ }
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ Wrapper parent = getParent(event);
+ IEditorPart editorPart = HandlerUtil.getActiveEditor(event);
+ if (editorPart == null) return null;
+ Object object = editorPart.getAdapter(CommandStack.class);
+ if (object == null || !(object instanceof CommandStack)) return null;
+ CommandStack commandStack = (CommandStack)object;
+ AddChildCommand addChildCommand = new AddChildCommand();
+ Wrapper child = ElementRegistry.createWrapper(getChildId());
+ addChildCommand.setChild(child);
+ addChildCommand.setType(getChildType());
+ addChildCommand.setParent(parent);
+ commandStack.execute(addChildCommand);
+ return null;
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddChildHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddInputParameterHandler.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddInputParameterHandler.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddInputParameterHandler.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,17 @@
+package org.jboss.tools.flow.jpdl4.handler;
+
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+
+public class AddInputParameterHandler extends AddChildHandler {
+
+ @Override
+ protected String getChildId() {
+ return "org.jboss.tools.flow.jpdl4.inputParameter";
+ }
+
+ @Override
+ protected String getChildType() {
+ return SubprocessTask.INPUT_PARAMETERS;
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddInputParameterHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddOutputParameterHandler.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddOutputParameterHandler.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddOutputParameterHandler.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,17 @@
+package org.jboss.tools.flow.jpdl4.handler;
+
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+
+public class AddOutputParameterHandler extends AddChildHandler {
+
+ @Override
+ protected String getChildId() {
+ return "org.jboss.tools.flow.jpdl4.outputParameter";
+ }
+
+ @Override
+ protected String getChildType() {
+ return SubprocessTask.OUTPUT_PARAMETERS;
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/AddOutputParameterHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/DeleteElementHandler.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/DeleteElementHandler.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/handler/DeleteElementHandler.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -19,7 +19,10 @@
import org.jboss.tools.flow.jpdl4.editpart.EventListenerListTreeEditPart;
import org.jboss.tools.flow.jpdl4.model.EventListener;
import org.jboss.tools.flow.jpdl4.model.EventListenerContainer;
+import org.jboss.tools.flow.jpdl4.model.InputParameter;
+import org.jboss.tools.flow.jpdl4.model.OutputParameter;
import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
import org.jboss.tools.flow.jpdl4.model.Swimlane;
import org.jboss.tools.flow.jpdl4.model.Timer;
@@ -61,6 +64,10 @@
}
} else if (child.getElement() instanceof EventListenerContainer) {
deleteChildCommand.setType("eventListener");
+ } else if (child.getElement() instanceof InputParameter) {
+ deleteChildCommand.setType(SubprocessTask.INPUT_PARAMETERS);
+ } else if (child.getElement() instanceof OutputParameter) {
+ deleteChildCommand.setType(SubprocessTask.OUTPUT_PARAMETERS);
}
deleteChildCommand.setParent(parent);
if (deleteChildCommand.canExecute()) {
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/InputParameter.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/InputParameter.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/InputParameter.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,5 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+public class InputParameter extends Parameter {
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/InputParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/OutputParameter.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/OutputParameter.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/OutputParameter.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,5 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+public class OutputParameter extends Parameter {
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/OutputParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Parameter.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Parameter.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Parameter.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,107 @@
+package org.jboss.tools.flow.jpdl4.model;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.jboss.tools.flow.common.model.DefaultElement;
+
+public class Parameter extends DefaultElement {
+
+ public static final String VAR =
"org.jboss.tools.flow.jpdl4.model.parameter.var";
+ public static final String SUBVAR =
"org.jboss.tools.flow.jpdl4.model.parameter.subvar";
+ public static final String EXPR =
"org.jboss.tools.flow.jpdl4.model.parameter.expr";
+ public static final String LANG =
"org.jboss.tools.flow.jpdl4.model.parameter.lang";
+
+ private String outerVariable;
+ private String innerVariable;
+ private String expression;
+ private String language;
+
+ public Parameter() {
+ setMetaData("propertySource", new PropertySource());
+ }
+
+ public String getOuterVariable() {
+ return outerVariable;
+ }
+
+ public void setOuterVariable(String outerVariable) {
+ this.outerVariable = outerVariable;
+ }
+
+ public String getInnerVariable() {
+ return innerVariable;
+ }
+
+ public void setInnerVariable(String innerVariable) {
+ this.innerVariable = innerVariable;
+ }
+
+ public String getExpression() {
+ return expression;
+ }
+
+ public void setExpression(String expression) {
+ this.expression = expression;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ 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 getOuterVariable();
+ } else if (SUBVAR.equals(id)) {
+ return getInnerVariable();
+ } else if (EXPR.equals(id)) {
+ return getExpression();
+ } else if (LANG.equals(id)) {
+ return getLanguage();
+ }
+ return null;
+ }
+
+ public boolean isPropertySet(Object id) {
+ if (VAR.equals(id)) {
+ return getOuterVariable() != null;
+ } else if (SUBVAR.equals(id)) {
+ return getInnerVariable() != null;
+ } else if (EXPR.equals(id)) {
+ return getExpression() != null;
+ } else if (LANG.equals(id)) {
+ return getLanguage() != null;
+ }
+ return false;
+ }
+
+ public void resetPropertyValue(Object id) {
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (VAR.equals(id)) {
+ setOuterVariable((String)value);
+ } else if (SUBVAR.equals(id)) {
+ setInnerVariable((String)value);
+ } else if (EXPR.equals(id)) {
+ setExpression((String)value);
+ } else if (LANG.equals(id)) {
+ setLanguage((String)value);
+ }
+ }
+
+ }
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Parameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -12,11 +12,13 @@
public class SequenceFlow extends DefaultConnection {
- public static final String TIMER =
"org.jboss.tools.flow.jpdl4.model.eventListenerContainer.timer";
+ public static final String TIMER =
"org.jboss.tools.flow.jpdl4.model.sequenceFlow.timer";
+ public static final String OUTCOME_VALUE =
"org.jboss.tools.flow.jpdl4.model.sequenceFlow.outcome";
private String name;
private boolean conditional = false;
private String timer;
+ private String outcomeValue;
public SequenceFlow() {
this(null, null);
@@ -43,6 +45,14 @@
this.timer = timer;
}
+ public String getOutcomeValue() {
+ return outcomeValue;
+ }
+
+ public void setOutcomeValue(String outcomeValue) {
+ this.outcomeValue = outcomeValue;
+ }
+
public void setConditional(boolean conditional) {
this.conditional = conditional;
}
@@ -85,6 +95,8 @@
return getName();
} else if (TIMER.equals(id)) {
return getTimer();
+ } else if (OUTCOME_VALUE.equals(id)) {
+ return getOutcomeValue();
}
return null;
}
@@ -94,6 +106,8 @@
return getName() != null;
} else if (TIMER.equals(id)) {
return getTimer() != null;
+ } else if (OUTCOME_VALUE.equals(id)) {
+ return getOutcomeValue() != null;
}
return false;
}
@@ -106,6 +120,8 @@
setName((String)value);
} else if (TIMER.equals(id)) {
setTimer((String)value);
+ } else if (OUTCOME_VALUE.equals(id)) {
+ setOutcomeValue((String)value);
}
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SubprocessTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SubprocessTask.java 2009-05-28
21:04:00 UTC (rev 15589)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SubprocessTask.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -1,5 +1,8 @@
package org.jboss.tools.flow.jpdl4.model;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
@@ -10,11 +13,15 @@
public final static String ID =
"org.jboss.tools.flow.jpdl4.model.subprocess.id";
public final static String KEY =
"org.jboss.tools.flow.jpdl4.model.subprocess.key";
- public final static String OUTCOME =
"org.jboss.tools.flow.jpdl4.model.subprocess.outcome";
+ public final static String OUTCOME =
"org.jboss.tools.flow.jpdl4.model.subprocess.outcome";
+ public final static String INPUT_PARAMETERS =
"org.jboss.tools.flow.jpdl4.model.subprocess.inputParameters";
+ public final static String OUTPUT_PARAMETERS =
"org.jboss.tools.flow.jpdl4.model.subprocess.outputParameters";
private String subprocessId;
private String key;
private String outcome;
+ private List<InputParameter> inputParameters = new
ArrayList<InputParameter>();
+ private List<OutputParameter> outputParameters = new
ArrayList<OutputParameter>();
public SubprocessTask() {
setMetaData("propertySource", new PropertySource());
@@ -83,6 +90,10 @@
return getKey() != null ? getKey() : "";
} else if (OUTCOME.equals(id)) {
return getOutcome() != null ? getOutcome() : "";
+ } else if (INPUT_PARAMETERS.equals(id)) {
+ return inputParameters;
+ } else if (OUTPUT_PARAMETERS.equals(id)) {
+ return outputParameters;
}
return null;
}
@@ -94,6 +105,10 @@
return getKey() != null;
} else if (OUTCOME.equals(id)) {
return getOutcome() != null;
+ } else if (INPUT_PARAMETERS.equals(id)) {
+ return true;
+ } else if (OUTPUT_PARAMETERS.equals(id)) {
+ return true;
}
return false;
}
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterExpressionSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterExpressionSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterExpressionSection.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+public class ParameterExpressionSection extends TextFieldPropertySection {
+
+ public ParameterExpressionSection() {
+ super(Parameter.EXPR, "Expression");
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterExpressionSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterInnerVariableSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterInnerVariableSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterInnerVariableSection.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+public class ParameterInnerVariableSection extends TextFieldPropertySection {
+
+ public ParameterInnerVariableSection() {
+ super(Parameter.SUBVAR, "Subprocess Variable Name");
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterInnerVariableSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterLanguageSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterLanguageSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterLanguageSection.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+public class ParameterLanguageSection extends TextFieldPropertySection {
+
+ public ParameterLanguageSection() {
+ super(Parameter.LANG, "Language");
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterLanguageSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterOuterVariableSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterOuterVariableSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterOuterVariableSection.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.Parameter;
+
+public class ParameterOuterVariableSection extends TextFieldPropertySection {
+
+ public ParameterOuterVariableSection() {
+ super(Parameter.VAR, "Main Process Variable Name");
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/ParameterOuterVariableSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/SequenceFlowOutcomeValueSection.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/SequenceFlowOutcomeValueSection.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/SequenceFlowOutcomeValueSection.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,11 @@
+package org.jboss.tools.flow.jpdl4.properties;
+
+import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
+
+public class SequenceFlowOutcomeValueSection extends TextFieldPropertySection {
+
+ public SequenceFlowOutcomeValueSection() {
+ super(SequenceFlow.OUTCOME_VALUE, "Outcome Value");
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/properties/SequenceFlowOutcomeValueSection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/SequenceFlowOutcomeValueFilter.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/SequenceFlowOutcomeValueFilter.java
(rev 0)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/SequenceFlowOutcomeValueFilter.java 2009-05-29
02:25:21 UTC (rev 15590)
@@ -0,0 +1,19 @@
+package org.jboss.tools.jpdl4.properties;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.jface.viewers.IFilter;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.editpart.SequenceFlowGraphicalEditPart;
+import org.jboss.tools.flow.jpdl4.model.SubprocessTask;
+
+public class SequenceFlowOutcomeValueFilter implements IFilter {
+
+ public boolean select(Object toTest) {
+ if (!(toTest instanceof SequenceFlowGraphicalEditPart)) return false;
+ SequenceFlowGraphicalEditPart editPart = (SequenceFlowGraphicalEditPart)toTest;
+ EditPart source = editPart.getSource();
+ Wrapper wrapper = (Wrapper)source.getModel();
+ return wrapper.getElement() instanceof SubprocessTask;
+ }
+
+}
Property changes on:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/jpdl4/properties/SequenceFlowOutcomeValueFilter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain