[jboss-svn-commits] JBL Code SVN: r20809 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin: src/main/java/org/drools/eclipse/flow/common/view/property and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 26 11:06:23 EDT 2008
Author: KrisVerlaenen
Date: 2008-06-26 11:06:23 -0400 (Thu, 26 Jun 2008)
New Revision: 20809
Added:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ExtendedNodeWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionsDialog.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsCellEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsPropertyDescriptor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsCellEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsPropertyDescriptor.java
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/.classpath
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/build.properties
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubProcessWrapper.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/view/property/action/ActionCellEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
Log:
JBRULES-1658: Generalize action framework
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/.classpath 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/.classpath 2008-06-26 15:06:23 UTC (rev 20809)
@@ -2,6 +2,7 @@
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry exported="true" kind="lib" path="lib/drools-templates.jar"/>
<classpathentry exported="true" kind="lib" path="lib/drools-compiler.jar" sourcepath="/drools-compiler"/>
<classpathentry exported="true" kind="lib" path="lib/drools-core.jar" sourcepath="/drools-core"/>
<classpathentry exported="true" kind="lib" path="lib/drools-decisiontables.jar"/>
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/build.properties
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/build.properties 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/build.properties 2008-06-26 15:06:23 UTC (rev 20809)
@@ -1,9 +1,10 @@
bin.includes = .,\
- META-INF/,\
+ META-INF/,\
icons/,\
plugin.xml,\
help/,\
- lib/
+ lib/,\
+ lib/drools-templates.jar
bin.excludes = lib/drools-documentation.jar
src.includes = META-INF/,\
icons/,\
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/common/view/property/EditListDialog.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -116,7 +116,11 @@
public void setValue(Object value) {
super.setValue(value);
- this.newList = new ArrayList((List) value);
+ if (value == null) {
+ this.newList = new ArrayList();
+ } else {
+ this.newList = new ArrayList((List) value);
+ }
}
protected Object updateValue(Object value) {
@@ -159,7 +163,7 @@
}
}
- private EditBeanDialog createEditItemDialog() {
+ protected EditBeanDialog createEditItemDialog() {
try {
return (EditBeanDialog) editItemDialogClass.getConstructor(
new Class[] { Shell.class }).newInstance(
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ActionWrapper.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -19,6 +19,7 @@
import org.drools.eclipse.flow.common.editor.core.ElementConnection;
import org.drools.eclipse.flow.common.editor.core.ElementWrapper;
import org.drools.eclipse.flow.ruleflow.view.property.action.ActionPropertyDescriptor;
+import org.drools.workflow.core.DroolsAction;
import org.drools.workflow.core.WorkflowProcess;
import org.drools.workflow.core.node.ActionNode;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
@@ -72,7 +73,7 @@
public Object getPropertyValue(Object id) {
if (ACTION.equals(id)) {
Object action = getActionNode().getAction();
- return action == null ? "" : action.toString();
+ return action == null ? "" : action;
}
return super.getPropertyValue(id);
}
@@ -87,7 +88,7 @@
public void setPropertyValue(Object id, Object value) {
if (ACTION.equals(id)) {
- getActionNode().setAction(value);
+ getActionNode().setAction((DroolsAction) value);
} else {
super.setPropertyValue(id, value);
}
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ExtendedNodeWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ExtendedNodeWrapper.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/ExtendedNodeWrapper.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,65 @@
+package org.drools.eclipse.flow.ruleflow.core;
+
+import java.util.List;
+
+import org.drools.eclipse.flow.ruleflow.view.property.action.OnEntryActionsPropertyDescriptor;
+import org.drools.eclipse.flow.ruleflow.view.property.action.OnExitActionsPropertyDescriptor;
+import org.drools.workflow.core.DroolsAction;
+import org.drools.workflow.core.WorkflowProcess;
+import org.drools.workflow.core.impl.ExtendedNodeImpl;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+
+public class ExtendedNodeWrapper extends AbstractNodeWrapper {
+
+ public static final String ON_ENTRY_ACTIONS = "OnEntryActions";
+ public static final String ON_EXIT_ACTIONS = "OnExitActions";
+
+ private static final long serialVersionUID = 4L;
+
+ protected IPropertyDescriptor getOnEntryPropertyDescriptor() {
+ return new OnEntryActionsPropertyDescriptor(
+ ON_ENTRY_ACTIONS, "On Entry Actions", getExtendedNode(),
+ (WorkflowProcess) getParent().getProcessWrapper().getProcess());
+ }
+
+ protected IPropertyDescriptor getOnExitPropertyDescriptor() {
+ return new OnExitActionsPropertyDescriptor(
+ ON_EXIT_ACTIONS, "On Exit Actions", getExtendedNode(),
+ (WorkflowProcess) getParent().getProcessWrapper().getProcess());
+ }
+
+ public ExtendedNodeImpl getExtendedNode() {
+ return (ExtendedNodeImpl) getNode();
+ }
+
+ public Object getPropertyValue(Object id) {
+ if (ON_ENTRY_ACTIONS.equals(id)) {
+ return getExtendedNode().getActions(ExtendedNodeImpl.EVENT_NODE_ENTER);
+ }
+ if (ON_EXIT_ACTIONS.equals(id)) {
+ return getExtendedNode().getActions(ExtendedNodeImpl.EVENT_NODE_EXIT);
+ }
+ return super.getPropertyValue(id);
+ }
+
+ public void resetPropertyValue(Object id) {
+ if (ON_ENTRY_ACTIONS.equals(id)) {
+ getExtendedNode().setActions(ExtendedNodeImpl.EVENT_NODE_ENTER, null);
+ } else if (ON_EXIT_ACTIONS.equals(id)) {
+ getExtendedNode().setActions(ExtendedNodeImpl.EVENT_NODE_EXIT, null);
+ } else {
+ super.resetPropertyValue(id);
+ }
+ }
+
+ public void setPropertyValue(Object id, Object value) {
+ if (ON_ENTRY_ACTIONS.equals(id)) {
+ getExtendedNode().setActions(ExtendedNodeImpl.EVENT_NODE_ENTER, (List<DroolsAction>) value);
+ } else if (ON_EXIT_ACTIONS.equals(id)) {
+ getExtendedNode().setActions(ExtendedNodeImpl.EVENT_NODE_EXIT, (List<DroolsAction>) value);
+ } else {
+ super.setPropertyValue(id, value);
+ }
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubProcessWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubProcessWrapper.java 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/SubProcessWrapper.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -33,7 +33,7 @@
*
* @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
*/
-public class SubProcessWrapper extends AbstractNodeWrapper {
+public class SubProcessWrapper extends ExtendedNodeWrapper {
private static final long serialVersionUID = 3668348577732020324L;
private static IPropertyDescriptor[] descriptors;
@@ -45,8 +45,10 @@
public static final String PARAMETER_OUT_MAPPING = "ParameterOutMapping";
private void setDescriptors() {
- descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 5];
+ descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + 7];
System.arraycopy(DefaultElementWrapper.descriptors, 0, descriptors, 0, DefaultElementWrapper.descriptors.length);
+ descriptors[descriptors.length - 7] = getOnEntryPropertyDescriptor();
+ descriptors[descriptors.length - 6] = getOnExitPropertyDescriptor();
descriptors[descriptors.length - 5] =
new SubProcessParameterInMappingPropertyDescriptor(PARAMETER_IN_MAPPING, "Parameter In Mapping", getSubProcessNode());
descriptors[descriptors.length - 4] =
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 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/core/WorkItemWrapper.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -39,7 +39,7 @@
*
* @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
*/
-public class WorkItemWrapper extends AbstractNodeWrapper {
+public class WorkItemWrapper extends ExtendedNodeWrapper {
public static final String WAIT_FOR_COMPLETION = "WaitForCompletion";
public static final String RESULT_MAPPING = "ResultMapping";
@@ -104,13 +104,15 @@
protected IPropertyDescriptor[] createPropertyDescriptors() {
Set<ParameterDefinition> parameters = workDefinition.getParameters();
- IPropertyDescriptor[] descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + parameters.size() + 3];
+ descriptors = new IPropertyDescriptor[DefaultElementWrapper.descriptors.length + parameters.size() + 5];
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 - 5] = getOnEntryPropertyDescriptor();
+ descriptors[descriptors.length - 4] = getOnExitPropertyDescriptor();
descriptors[descriptors.length - 3] =
new ComboBoxPropertyDescriptor(WAIT_FOR_COMPLETION, "Wait for completion", new String[] {"true", "false"});
descriptors[descriptors.length - 2] =
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionCellEditor.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -39,7 +39,9 @@
}
protected EditBeanDialog createDialog(Shell shell) {
- return new ActionDialog(shell, process, actionNode);
+ ActionDialog dialog = new ActionDialog(shell, process);
+ dialog.setValue(actionNode.getAction());
+ return dialog;
}
protected String getLabelText(Object value) {
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionDialog.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -26,7 +26,6 @@
import org.drools.util.ArrayUtils;
import org.drools.workflow.core.WorkflowProcess;
import org.drools.workflow.core.impl.DroolsConsequenceAction;
-import org.drools.workflow.core.node.ActionNode;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
@@ -70,17 +69,11 @@
private Combo dialectCombo;
private ActionCompletionProcessor completionProcessor;
- public ActionDialog(Shell parentShell, WorkflowProcess process, ActionNode actionNode) {
+ public ActionDialog(Shell parentShell, WorkflowProcess process) {
super(parentShell, "Action editor");
this.process = process;
- super.setValue(actionNode.getAction());
}
- public void setValue(Object value) {
- // the value is automatically retrieved from the actionNode
- // and cannot be set manually
- }
-
protected Object updateValue(Object value) {
if (tabFolder.getSelectionIndex() == 0) {
return getAction();
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionsDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionsDialog.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/ActionsDialog.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,45 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * 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.eclipse.flow.common.view.property.EditListDialog;
+import org.drools.workflow.core.DroolsAction;
+import org.drools.workflow.core.WorkflowProcess;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Dialog for editing actions.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class ActionsDialog extends EditListDialog {
+
+ private WorkflowProcess process;
+
+ protected ActionsDialog(Shell parentShell, WorkflowProcess process) {
+ super(parentShell, "Edit Actions", ActionDialog.class);
+ this.process = process;
+ }
+
+ protected Object createItem() {
+ return new DroolsAction();
+ }
+
+ protected EditBeanDialog createEditItemDialog() {
+ return new ActionDialog(getShell(), process);
+ }
+}
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsCellEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsCellEditor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsCellEditor.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * 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.drools.workflow.core.WorkflowProcess;
+import org.drools.workflow.core.impl.ExtendedNodeImpl;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for on entry actions.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class OnEntryActionsCellEditor extends BeanDialogCellEditor {
+
+ private WorkflowProcess process;
+ private ExtendedNodeImpl extendedNode;
+
+ public OnEntryActionsCellEditor(Composite parent, WorkflowProcess process, ExtendedNodeImpl extendedNode) {
+ super(parent);
+ this.process = process;
+ this.extendedNode = extendedNode;
+ }
+
+ protected EditBeanDialog createDialog(Shell shell) {
+ ActionsDialog dialog = new ActionsDialog(shell, process);
+ dialog.setValue(extendedNode.getActions(ExtendedNodeImpl.EVENT_NODE_ENTER));
+ return dialog;
+ }
+
+ protected String getLabelText(Object value) {
+ return "";
+ }
+}
\ 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/action/OnEntryActionsPropertyDescriptor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsPropertyDescriptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnEntryActionsPropertyDescriptor.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+
+import org.drools.workflow.core.WorkflowProcess;
+import org.drools.workflow.core.impl.ExtendedNodeImpl;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+public class OnEntryActionsPropertyDescriptor extends PropertyDescriptor {
+
+ private WorkflowProcess process;
+ private ExtendedNodeImpl extendedNode;
+
+ public OnEntryActionsPropertyDescriptor(Object id, String displayName, ExtendedNodeImpl extendedNode, WorkflowProcess process) {
+ super(id, displayName);
+ this.extendedNode = extendedNode;
+ this.process = process;
+ }
+
+ public CellEditor createPropertyEditor(Composite parent) {
+ OnEntryActionsCellEditor editor = new OnEntryActionsCellEditor(parent, process, extendedNode);
+ if (getValidator() != null) {
+ editor.setValidator(getValidator());
+ }
+ return editor;
+ }
+}
Added: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsCellEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsCellEditor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsCellEditor.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,50 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+/*
+ * 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.drools.workflow.core.WorkflowProcess;
+import org.drools.workflow.core.impl.ExtendedNodeImpl;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Cell editor for on exit actions.
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public class OnExitActionsCellEditor extends BeanDialogCellEditor {
+
+ private WorkflowProcess process;
+ private ExtendedNodeImpl extendedNode;
+
+ public OnExitActionsCellEditor(Composite parent, WorkflowProcess process, ExtendedNodeImpl extendedNode) {
+ super(parent);
+ this.process = process;
+ this.extendedNode = extendedNode;
+ }
+
+ protected EditBeanDialog createDialog(Shell shell) {
+ ActionsDialog dialog = new ActionsDialog(shell, process);
+ dialog.setValue(extendedNode.getActions(ExtendedNodeImpl.EVENT_NODE_EXIT));
+ return dialog;
+ }
+
+ protected String getLabelText(Object value) {
+ return "";
+ }
+}
\ 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/action/OnExitActionsPropertyDescriptor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsPropertyDescriptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/flow/ruleflow/view/property/action/OnExitActionsPropertyDescriptor.java 2008-06-26 15:06:23 UTC (rev 20809)
@@ -0,0 +1,27 @@
+package org.drools.eclipse.flow.ruleflow.view.property.action;
+
+import org.drools.workflow.core.WorkflowProcess;
+import org.drools.workflow.core.impl.ExtendedNodeImpl;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
+
+public class OnExitActionsPropertyDescriptor extends PropertyDescriptor {
+
+ private WorkflowProcess process;
+ private ExtendedNodeImpl extendedNode;
+
+ public OnExitActionsPropertyDescriptor(Object id, String displayName, ExtendedNodeImpl extendedNode, WorkflowProcess process) {
+ super(id, displayName);
+ this.extendedNode = extendedNode;
+ this.process = process;
+ }
+
+ public CellEditor createPropertyEditor(Composite parent) {
+ OnExitActionsCellEditor editor = new OnExitActionsCellEditor(parent, process, extendedNode);
+ if (getValidator() != null) {
+ editor.setValidator(getValidator());
+ }
+ return editor;
+ }
+}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template 2008-06-26 15:06:11 UTC (rev 20808)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/resources/org/drools/eclipse/wizard/project/ruleflow.rf.template 2008-06-26 15:06:23 UTC (rev 20809)
@@ -9,7 +9,9 @@
<nodes>
<start id="1" name="Start" x="16" y="16" />
- <action id="2" name="Hello" x="128" y="16" dialect="mvel" >System.out.println("Hello World");</action>
+ <actionNode id="2" name="Hello" x="128" y="16" >
+ <action type="expression" dialect="mvel" >System.out.println("Hello World");</action>
+ </actionNode>
<end id="3" name="End" x="240" y="16" />
</nodes>
More information about the jboss-svn-commits
mailing list