[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