Author: koen.aers(a)jboss.com
Date: 2008-08-08 07:58:29 -0400 (Fri, 08 Aug 2008)
New Revision: 9624
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/JpdlEditor.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/editpart/JpdlEditPartFactory.java
Log:
added node pluggability
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2008-08-08 11:58:05 UTC (rev
9623)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/plugin.xml 2008-08-08 11:58:29 UTC (rev
9624)
@@ -20,5 +20,57 @@
name="jBPM Process Definition Language">
</language>
</extension>
+ <extension
+ point="org.jboss.tools.flow.common.elements">
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.Process"
+ id="org.jboss.tools.flow.jpdl4.process"
+ language="org.jboss.tools.flow.jpdl4"
+ name="Process Definition">
+ <flow
+
acceptsElementStrategy="org.jboss.tools.flow.jpdl4.strategy.ProcessAcceptsElementStrategy"></flow>
+ </element>
+ <element
+ class="org.jboss.tools.flow.common.model.DefaultContainer"
+ id="org.jboss.tools.flow.jpdl4.superState"
+ language="org.jboss.tools.flow.jpdl4"
+ name="Super State">
+ <container></container>
+ </element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.StartState"
+ id="org.jboss.tools.flow.jpdl4.startState"
+ language="org.jboss.tools.flow.jpdl4"
+ name="Start">
+ <node
+
acceptsIncomingConnectionStrategy="org.jboss.tools.flow.jpdl4.strategy.StartStateAcceptsIncomingConnectionStrategy">
+ </node>
+ </element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.EndState"
+ id="org.jboss.tools.flow.jpdl4.endState"
+ language="org.jboss.tools.flow.jpdl4"
+ name="End">
+ <node
+
acceptsOutgoingConnectionStrategy="org.jboss.tools.flow.jpdl4.strategy.EndStateAcceptsOutgoingConnectionStrategy">
+ </node>
+ </element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.State"
+ id="org.jboss.tools.flow.jpdl4.state"
+ language="org.jboss.tools.flow.jpdl4"
+ name="State">
+ <node></node>
+ </element>
+ <element
+ class="org.jboss.tools.flow.jpdl4.model.Transition"
+ id="org.jboss.tools.flow.jpdl4.transition"
+ language="org.jboss.tools.flow.jpdl4"
+ name="Transition">
+ <connection>
+
+ </connection>
+ </element>
+ </extension>
</plugin>
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2008-08-08
11:58:05 UTC (rev 9623)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlEditor.java 2008-08-08
11:58:29 UTC (rev 9624)
@@ -7,8 +7,8 @@
import org.eclipse.gef.EditPartFactory;
import org.eclipse.gef.palette.PaletteRoot;
import org.jboss.tools.flow.common.editor.GenericModelEditor;
+import org.jboss.tools.flow.common.registry.ElementRegistry;
import org.jboss.tools.flow.jpdl4.editpart.JpdlEditPartFactory;
-import org.jboss.tools.flow.jpdl4.wrapper.ProcessWrapper;
public class JpdlEditor extends GenericModelEditor {
@@ -21,7 +21,7 @@
}
protected Object createModel() {
- return new ProcessWrapper();
+ return
ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.process");
}
protected void writeModel(OutputStream os) throws IOException {
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 2008-08-08
11:58:05 UTC (rev 9623)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlPaletteFactory.java 2008-08-08
11:58:29 UTC (rev 9624)
@@ -7,15 +7,14 @@
import org.eclipse.gef.palette.ConnectionCreationToolEntry;
import org.eclipse.gef.palette.PaletteEntry;
import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.gef.requests.SimpleFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.jboss.tools.flow.common.editor.PaletteFactory;
+import org.jboss.tools.flow.common.registry.ElementRegistry;
import org.jboss.tools.flow.jpdl4.Activator;
import org.jboss.tools.flow.jpdl4.wrapper.EndStateWrapper;
import org.jboss.tools.flow.jpdl4.wrapper.StartStateWrapper;
import org.jboss.tools.flow.jpdl4.wrapper.StateWrapper;
import org.jboss.tools.flow.jpdl4.wrapper.SuperStateWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.TransitionWrapper;
public class JpdlPaletteFactory extends PaletteFactory {
@@ -26,7 +25,7 @@
"Start",
"Create a new Start State",
StartStateWrapper.class,
- new SimpleFactory(StartStateWrapper.class),
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.startState"),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/start.gif")),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/start.gif"))
);
@@ -36,7 +35,7 @@
"State",
"Create a new State",
StateWrapper.class,
- new SimpleFactory(StateWrapper.class),
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.state"),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/state.gif")),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/state.gif"))
);
@@ -46,7 +45,7 @@
"End",
"Create a new End State",
EndStateWrapper.class,
- new SimpleFactory(EndStateWrapper.class),
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.endState"),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/end.gif")),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/end.gif"))
);
@@ -56,7 +55,7 @@
"Super State",
"Create a new Super State",
SuperStateWrapper.class,
- new SimpleFactory(SuperStateWrapper.class),
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.superState"),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/super.gif")),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/super.gif"))
);
@@ -65,7 +64,7 @@
ToolEntry tool = new ConnectionCreationToolEntry(
"Transition",
"Creating a new Transition",
- new SimpleFactory(TransitionWrapper.class),
+
ElementRegistry.getCreationFactory("org.jboss.tools.flow.jpdl4.transition"),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/transition.gif")),
ImageDescriptor.createFromURL(Activator.getDefault().getBundle().getEntry("icons/transition.gif"))
);
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java 2008-08-08
11:58:05 UTC (rev 9623)
+++
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editpart/JpdlEditPartFactory.java 2008-08-08
11:58:29 UTC (rev 9624)
@@ -2,31 +2,36 @@
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPartFactory;
+import org.jboss.tools.flow.common.editpart.ConnectionEditPart;
import org.jboss.tools.flow.common.editpart.ContainerEditPart;
import org.jboss.tools.flow.common.editpart.RootEditPart;
-import org.jboss.tools.flow.jpdl4.wrapper.EndStateWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.ProcessWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.StartStateWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.StateWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.SuperStateWrapper;
-import org.jboss.tools.flow.jpdl4.wrapper.TransitionWrapper;
+import org.jboss.tools.flow.common.wrapper.DefaultConnectionWrapper;
+import org.jboss.tools.flow.common.wrapper.DefaultContainerWrapper;
+import org.jboss.tools.flow.common.wrapper.DefaultFlowWrapper;
+import org.jboss.tools.flow.common.wrapper.DefaultNodeWrapper;
+import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.model.EndState;
+import org.jboss.tools.flow.jpdl4.model.StartState;
+import org.jboss.tools.flow.jpdl4.model.State;
public class JpdlEditPartFactory implements EditPartFactory {
public EditPart createEditPart(EditPart context, Object model) {
EditPart result = null;
- if (model instanceof ProcessWrapper) {
+ if (!(model instanceof Wrapper)) return result;
+ Object element = ((Wrapper)model).getElement();
+ if (model instanceof DefaultFlowWrapper) {
result = new RootEditPart();
- } else if (model instanceof SuperStateWrapper) {
+ } else if (model instanceof DefaultContainerWrapper) {
result = new ContainerEditPart();
- } else if (model instanceof StartStateWrapper) {
+ } else if (model instanceof DefaultNodeWrapper && element instanceof
StartState) {
result = new StartStateEditPart();
- } else if (model instanceof StateWrapper) {
+ } else if (model instanceof DefaultNodeWrapper && element instanceof
State) {
result = new StateEditPart();
- } else if (model instanceof EndStateWrapper) {
+ } else if (model instanceof DefaultNodeWrapper && element instanceof
EndState) {
result = new EndStateEditPart();
- } else if (model instanceof TransitionWrapper) {
- result = new TransitionEditPart();
+ } else if (model instanceof DefaultConnectionWrapper) {
+ result = new ConnectionEditPart();
} else {
throw new IllegalArgumentException(
"Unknown model object " + model);