Author: koen.aers(a)jboss.com
Date: 2009-02-10 12:22:25 -0500 (Tue, 10 Feb 2009)
New Revision: 13569
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/editpart/SequenceFlowEditPart.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/JavaTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.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/ServiceTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SqlTask.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Task.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WaitTask.java
Log:
add conditional and default capabilities to sequence flow
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-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -225,7 +225,7 @@
}
StringBuffer labelBuffer = new StringBuffer();
LabelWrapper labelWrapper = wrapper.getLabel();
- if (labelWrapper != null) {
+ if (labelWrapper != null && !isEmpty(labelWrapper.getText())) {
Point location = labelWrapper.getLocation();
if (location != null) {
labelBuffer.append(location.x);
@@ -428,4 +428,8 @@
}
}
+ private boolean isEmpty(String str) {
+ return str == null || "".equals(str);
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SequenceFlowEditPart.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SequenceFlowEditPart.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/SequenceFlowEditPart.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -1,15 +1,22 @@
package org.jboss.tools.flow.jpdl4.editpart;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PolylineConnection;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.Request;
import org.eclipse.gef.RequestConstants;
import org.eclipse.gef.requests.DirectEditRequest;
import org.jboss.tools.flow.common.editpart.ConnectionEditPart;
+import org.jboss.tools.flow.common.figure.CrossHairDecoration;
+import org.jboss.tools.flow.common.figure.DiamondDecoration;
+import org.jboss.tools.flow.common.model.Element;
import org.jboss.tools.flow.common.policy.ElementDirectEditPolicy;
import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
import org.jboss.tools.flow.common.wrapper.LabelWrapper;
import org.jboss.tools.flow.common.wrapper.ModelEvent;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.SequenceFlow;
public class SequenceFlowEditPart extends ConnectionEditPart {
@@ -18,6 +25,20 @@
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ElementDirectEditPolicy());
}
+ protected IFigure createFigure() {
+ PolylineConnection result = (PolylineConnection)super.createFigure();
+ Element element = ((Wrapper)getModel()).getElement();
+ if (element instanceof SequenceFlow) {
+ SequenceFlow sequenceFlow = (SequenceFlow)element;
+ if (sequenceFlow.isDefault()) {
+ result.setSourceDecoration(new CrossHairDecoration());
+ } else if (sequenceFlow.isConditional()) {
+ result.setSourceDecoration(new DiamondDecoration());
+ }
+ }
+ return result;
+ }
+
public void performRequest(Request request) {
if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) {
performDirectEdit();
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HqlTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class HqlTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/HumanTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class HumanTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/JavaTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/JavaTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/JavaTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class JavaTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ScriptTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class ScriptTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
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-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SequenceFlow.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -10,6 +10,7 @@
public class SequenceFlow extends DefaultConnection {
private String name;
+ private boolean conditional = false;
public SequenceFlow() {
this(null, null);
@@ -28,6 +29,18 @@
return name;
}
+ public void setConditional(boolean conditional) {
+ this.conditional = conditional;
+ }
+
+ public boolean isConditional() {
+ return conditional;
+ }
+
+ public boolean isDefault() {
+ return true;
+ }
+
private class PropertySource implements IPropertySource, IPropertyId {
private IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[] {
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ServiceTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ServiceTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/ServiceTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class ServiceTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SqlTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SqlTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/SqlTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class SqlTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Task.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Task.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/Task.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -6,6 +6,17 @@
public class Task extends ProcessNode {
+ protected boolean isPropagationExclusive() {
+ return false;
+ }
+
+ public void addOutgoingConnection(String type, Connection connection) {
+ super.addOutgoingConnection(type, connection);
+ if (isPropagationExclusive() && !((SequenceFlow)connection).isDefault()) {
+ ((SequenceFlow)connection).setConditional(true);
+ }
+ }
+
public void removeOutgoingConnection(String type, Connection connection) {
Jpdl4Helper.mergeLeadingNodes(connection);
super.removeOutgoingConnection(type, connection);
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WaitTask.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WaitTask.java 2009-02-10
17:19:59 UTC (rev 13568)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/model/WaitTask.java 2009-02-10
17:22:25 UTC (rev 13569)
@@ -3,4 +3,8 @@
public class WaitTask extends Task {
+ protected boolean isPropagationExclusive() {
+ return true;
+ }
+
}
Show replies by date