[jboss-svn-commits] JBL Code SVN: r20793 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow: ruleflow/core and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 26 05:26:08 EDT 2008
Author: KrisVerlaenen
Date: 2008-06-26 05:26:07 -0400 (Thu, 26 Jun 2008)
New Revision: 20793
Added:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/HumanTaskNodeWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlaneDialog.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesCellEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesDialog.java
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowWrapperBuilder.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/WorkItemWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
Log:
JBRULES-1551: Workflow human tasks
- added human tasks and swimlanes (in core, compiler and eclipse IDE)
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java 2008-06-26 09:01:32 UTC (rev 20792)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/editor/core/ProcessWrapper.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -25,8 +25,11 @@
import java.util.Map;
import org.drools.eclipse.flow.common.view.property.ListPropertyDescriptor;
+import org.drools.eclipse.flow.ruleflow.view.property.swimlane.SwimlanesCellEditor;
import org.drools.eclipse.flow.ruleflow.view.property.variable.VariableListCellEditor;
import org.drools.process.core.Process;
+import org.drools.process.core.context.swimlane.Swimlane;
+import org.drools.process.core.context.swimlane.SwimlaneContext;
import org.drools.process.core.context.variable.Variable;
import org.drools.process.core.context.variable.VariableScope;
import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
@@ -56,6 +59,7 @@
public static final String PACKAGE_NAME = "packageName";
public static final String ROUTER_LAYOUT = "routerLayout";
public static final String VARIABLES = "variables";
+ public static final String SWIMLANES = "swimlanes";
static {
descriptors = new IPropertyDescriptor[] {
@@ -67,6 +71,8 @@
new String[] { "Manual", "Manhatten", "Shortest Path" }),
new ListPropertyDescriptor(VARIABLES, "Variables",
VariableListCellEditor.class),
+ new ListPropertyDescriptor(SWIMLANES, "Swimlanes",
+ SwimlanesCellEditor.class),
};
}
@@ -214,6 +220,9 @@
if (VARIABLES.equals(id)) {
return ((VariableScope) getProcess().getDefaultContext(VariableScope.VARIABLE_SCOPE)).getVariables();
}
+ if (SWIMLANES.equals(id)) {
+ return ((SwimlaneContext) getProcess().getDefaultContext(SwimlaneContext.SWIMLANE_SCOPE)).getSwimlanes();
+ }
return null;
}
@@ -241,6 +250,10 @@
((VariableScope) getProcess().getDefaultContext(
VariableScope.VARIABLE_SCOPE)).setVariables(new ArrayList<Variable>());
}
+ if (SWIMLANES.equals(id)) {
+ ((SwimlaneContext) getProcess().getDefaultContext(
+ SwimlaneContext.SWIMLANE_SCOPE)).setSwimlanes(new ArrayList<Swimlane>());
+ }
}
public void setPropertyValue(Object id, Object value) {
@@ -257,6 +270,9 @@
} else if (VARIABLES.equals(id)) {
((VariableScope) getProcess().getDefaultContext(
VariableScope.VARIABLE_SCOPE)).setVariables((List<Variable>) value);
- }
+ } else if (SWIMLANES.equals(id)) {
+ ((SwimlaneContext) getProcess().getDefaultContext(
+ SwimlaneContext.SWIMLANE_SCOPE)).setSwimlanes((List<Swimlane>) value);
+ }
}
}
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/HumanTaskNodeWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/HumanTaskNodeWrapper.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/HumanTaskNodeWrapper.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -0,0 +1,98 @@
+package org.drools.eclipse.flow.ruleflow.core;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.drools.process.core.ParameterDefinition;
+import org.drools.process.core.WorkDefinition;
+import org.drools.process.core.datatype.impl.type.StringDataType;
+import org.drools.process.core.impl.ParameterDefinitionImpl;
+import org.drools.process.core.impl.WorkDefinitionExtensionImpl;
+import org.drools.process.core.impl.WorkDefinitionImpl;
+import org.drools.workflow.core.node.HumanTaskNode;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * Wrapper for a human task node.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class HumanTaskNodeWrapper extends WorkItemWrapper {
+
+ public static final String SWIMLANE = "Swimlane";
+
+ private static final long serialVersionUID = 4L;
+
+ private static final WorkDefinition WORK_DEFINITION;
+
+ static {
+ WORK_DEFINITION = new WorkDefinitionExtensionImpl();
+ ((WorkDefinitionImpl) WORK_DEFINITION).setName("Human Task");
+ Set<ParameterDefinition> parameterDefinitions = new HashSet<ParameterDefinition>();
+ parameterDefinitions.add(new ParameterDefinitionImpl("TaskName", new StringDataType()));
+ parameterDefinitions.add(new ParameterDefinitionImpl("ActorId", new StringDataType()));
+ parameterDefinitions.add(new ParameterDefinitionImpl("Priority", new StringDataType()));
+ parameterDefinitions.add(new ParameterDefinitionImpl("Comment", new StringDataType()));
+ ((WorkDefinitionExtensionImpl) WORK_DEFINITION).setParameters(parameterDefinitions);
+ ((WorkDefinitionExtensionImpl) WORK_DEFINITION).setIcon("icons/human_task.gif");
+ }
+
+ public HumanTaskNodeWrapper() {
+ setNode(new HumanTaskNode());
+ getNode().setName("Human Task");
+ setWorkDefinition(WORK_DEFINITION);
+ }
+
+ protected IPropertyDescriptor[] createPropertyDescriptors() {
+ IPropertyDescriptor[] parentDescriptors = super.createPropertyDescriptors();
+ IPropertyDescriptor[] descriptors = new IPropertyDescriptor[parentDescriptors.length + 1];
+ System.arraycopy(parentDescriptors, 0, descriptors, 0, parentDescriptors.length);
+ descriptors[descriptors.length - 1] =
+ new TextPropertyDescriptor(SWIMLANE, "Swimlane");
+ return descriptors;
+ }
+
+ public HumanTaskNode getHumanTaskNode() {
+ return (HumanTaskNode) getNode();
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (SWIMLANE.equals(id)) {
+ String swimlane = getHumanTaskNode().getSwimlane();
+ return swimlane == null ? "" : swimlane;
+ }
+ return super.getPropertyValue(id);
+ }
+
+ public void resetPropertyValue(Object id) {
+ if (SWIMLANE.equals(id)) {
+ getHumanTaskNode().setSwimlane(null);
+ } else {
+ super.resetPropertyValue(id);
+ }
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (SWIMLANE.equals(id)) {
+ getHumanTaskNode().setSwimlane((String) value);
+ } else {
+ super.setPropertyValue(id, value);
+ }
+ }
+}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowWrapperBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowWrapperBuilder.java 2008-06-26 09:01:32 UTC (rev 20792)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/RuleFlowWrapperBuilder.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -7,7 +7,6 @@
import java.util.Map;
import java.util.Set;
-import org.drools.eclipse.DroolsEclipsePlugin;
import org.drools.eclipse.WorkItemDefinitions;
import org.drools.eclipse.flow.common.editor.core.ElementContainer;
import org.drools.eclipse.flow.common.editor.core.ProcessWrapper;
@@ -22,6 +21,7 @@
import org.drools.workflow.core.node.ActionNode;
import org.drools.workflow.core.node.CompositeNode;
import org.drools.workflow.core.node.EndNode;
+import org.drools.workflow.core.node.HumanTaskNode;
import org.drools.workflow.core.node.Join;
import org.drools.workflow.core.node.MilestoneNode;
import org.drools.workflow.core.node.RuleSetNode;
@@ -101,6 +101,8 @@
return new MilestoneWrapper();
} else if (node instanceof TimerNode) {
return new TimerWrapper();
+ } else if (node instanceof HumanTaskNode) {
+ return new HumanTaskNodeWrapper();
} else if (node instanceof WorkItemNode) {
WorkItemWrapper workItemWrapper = new WorkItemWrapper();
Work work = ((WorkItemNode) node).getWork();
@@ -109,8 +111,8 @@
WorkItemDefinitions.getWorkDefinitions(project)
.get(work.getName());
if (workDefinition == null) {
- DroolsEclipsePlugin.log(
- new IllegalArgumentException("Could not find work definition for work " + work.getName()));
+// DroolsEclipsePlugin.log(
+// new IllegalArgumentException("Could not find work definition for work " + work.getName()));
workDefinition = new WorkDefinitionImpl();
((WorkDefinitionImpl) workDefinition).setName(work.getName());
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/WorkItemWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/WorkItemWrapper.java 2008-06-26 09:01:32 UTC (rev 20792)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/WorkItemWrapper.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -95,26 +95,31 @@
private void setDescriptors() {
if (workDefinition != null) {
- Set<ParameterDefinition> parameters = workDefinition.getParameters();
- descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + parameters.size() + 3];
- System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
- int i = 0;
- for (ParameterDefinition def: parameters) {
- descriptors[DefaultElementWrapper.descriptors.length + (i++)] =
- new TextPropertyDescriptor(def.getName(), def.getName());
- }
- descriptors[descriptors.length - 3] =
- new ComboBoxPropertyDescriptor(WAIT_FOR_COMPLETION, "Wait for completion", new String[] {"true", "false"});
- descriptors[descriptors.length - 2] =
- new WorkItemParameterMappingPropertyDescriptor(PARAMETER_MAPPING, "Parameter Mapping", getWorkItemNode());
- descriptors[descriptors.length - 1] =
- new WorkItemResultMappingPropertyDescriptor(RESULT_MAPPING, "Result Mapping", getWorkItemNode());
+ descriptors = createPropertyDescriptors();
}
if (descriptors == null) {
descriptors = DefaultElementWrapper.descriptors;
}
}
+ protected IPropertyDescriptor[] createPropertyDescriptors() {
+ Set<ParameterDefinition> parameters = workDefinition.getParameters();
+ IPropertyDescriptor[] descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + parameters.size() + 3];
+ System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+ int i = 0;
+ for (ParameterDefinition def: parameters) {
+ descriptors[DefaultElementWrapper.descriptors.length + (i++)] =
+ new TextPropertyDescriptor(def.getName(), def.getName());
+ }
+ descriptors[descriptors.length - 3] =
+ new ComboBoxPropertyDescriptor(WAIT_FOR_COMPLETION, "Wait for completion", new String[] {"true", "false"});
+ descriptors[descriptors.length - 2] =
+ new WorkItemParameterMappingPropertyDescriptor(PARAMETER_MAPPING, "Parameter Mapping", getWorkItemNode());
+ descriptors[descriptors.length - 1] =
+ new WorkItemResultMappingPropertyDescriptor(RESULT_MAPPING, "Result Mapping", getWorkItemNode());
+ return descriptors;
+ }
+
public IPropertyDescriptor[] getPropertyDescriptors() {
if (descriptors == null) {
setDescriptors();
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java 2008-06-26 09:01:32 UTC (rev 20792)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/editor/RuleFlowPaletteFactory.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -25,6 +25,7 @@
import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapper;
import org.drools.eclipse.flow.ruleflow.core.ConnectionWrapperFactory;
import org.drools.eclipse.flow.ruleflow.core.EndNodeWrapper;
+import org.drools.eclipse.flow.ruleflow.core.HumanTaskNodeWrapper;
import org.drools.eclipse.flow.ruleflow.core.JoinWrapper;
import org.drools.eclipse.flow.ruleflow.core.MilestoneWrapper;
import org.drools.eclipse.flow.ruleflow.core.RuleSetNodeWrapper;
@@ -162,6 +163,16 @@
);
entries.add(combined);
+ combined = new CombinedTemplateCreationEntry(
+ "Human Task",
+ "Create a new Human Task",
+ HumanTaskNodeWrapper.class,
+ new SimpleFactory(HumanTaskNodeWrapper.class),
+ ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/human_task.gif")),
+ ImageDescriptor.createFromURL(DroolsEclipsePlugin.getDefault().getBundle().getEntry("icons/human_task.gif"))
+ );
+ entries.add(combined);
+
// combined = new CombinedTemplateCreationEntry(
// "Composite Node",
// "Create a new Composite Node",
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlaneDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlaneDialog.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlaneDialog.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -0,0 +1,68 @@
+package org.drools.eclipse.flow.ruleflow.view.property.swimlane;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.drools.process.core.context.swimlane.Swimlane;
+import org.drools.process.core.context.variable.Variable;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Dialog for editing swimlanes.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SwimlaneDialog extends EditBeanDialog {
+
+ private Text nameText;
+
+ public SwimlaneDialog(Shell parentShell) {
+ super(parentShell, "Edit Swimlane");
+ }
+
+ protected Control createDialogArea(Composite parent) {
+ final Composite composite = (Composite) super.createDialogArea(parent);
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 2;
+ composite.setLayout(gridLayout);
+
+ Label nameLabel = new Label(composite, SWT.NONE);
+ nameLabel.setText("Name: ");
+ nameText = new Text(composite, SWT.NONE);
+ GridData gridData = new GridData();
+ gridData.grabExcessHorizontalSpace = true;
+ gridData.horizontalAlignment = GridData.FILL;
+ nameText.setLayoutData(gridData);
+ String name = ((Swimlane) getValue()).getName();
+ nameText.setText(name == null ? "" : name);
+
+ return composite;
+ }
+
+ protected Object updateValue(Object value) {
+ Swimlane swimlane = (Swimlane) getValue();
+ swimlane.setName(nameText.getText());
+ return swimlane;
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesCellEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesCellEditor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesCellEditor.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -0,0 +1,37 @@
+package org.drools.eclipse.flow.ruleflow.view.property.swimlane;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.drools.eclipse.flow.common.view.property.BeanDialogCellEditor;
+import org.drools.eclipse.flow.common.view.property.EditBeanDialog;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell edtior for swimlanes.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SwimlanesCellEditor extends BeanDialogCellEditor {
+
+ public SwimlanesCellEditor(Composite parent) {
+ super(parent);
+ }
+
+ protected EditBeanDialog createDialog(Shell shell) {
+ return new SwimlanesDialog(shell);
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesDialog.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/swimlane/SwimlanesDialog.java 2008-06-26 09:26:07 UTC (rev 20793)
@@ -0,0 +1,36 @@
+package org.drools.eclipse.flow.ruleflow.view.property.swimlane;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.drools.eclipse.flow.common.view.property.EditListDialog;
+import org.drools.process.core.context.swimlane.Swimlane;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing swimlanes.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class SwimlanesDialog extends EditListDialog {
+
+ protected SwimlanesDialog(Shell parentShell) {
+ super(parentShell, "Swimlanes", SwimlaneDialog.class);
+ }
+
+ protected Object createItem() {
+ return new Swimlane();
+ }
+}
More information about the jboss-svn-commits
mailing list