[jboss-svn-commits] JBL Code SVN: r20176 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: process/instance/impl and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 26 21:27:23 EDT 2008


Author: KrisVerlaenen
Date: 2008-05-26 21:27:23 -0400 (Mon, 26 May 2008)
New Revision: 20176

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/context/swimlane/SwimlaneContextInstance.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/demo/UIWorkItemHandlerDialog.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/factory/ReuseContextInstanceFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/context/WorkflowReuseContextInstanceFactory.java
Log:


Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/context/swimlane/SwimlaneContextInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/context/swimlane/SwimlaneContextInstance.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/context/swimlane/SwimlaneContextInstance.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -1,11 +1,17 @@
 package org.drools.process.instance.context.swimlane;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.process.core.context.swimlane.Swimlane;
 import org.drools.process.core.context.swimlane.SwimlaneContext;
 import org.drools.process.instance.context.AbstractContextInstance;
 
-public abstract class SwimlaneContextInstance extends AbstractContextInstance {
+public class SwimlaneContextInstance extends AbstractContextInstance {
 
     private static final long serialVersionUID = 400L;
+    
+    private Map<String, String> swimlaneActors = new HashMap<String, String>();
 
     public String getContextType() {
         return SwimlaneContext.SWIMLANE_SCOPE;
@@ -14,5 +20,13 @@
     public SwimlaneContext getSwimlaneContext() {
         return (SwimlaneContext) getContext();
     }
+
+    public String getActorId(String swimlane) {
+        return swimlaneActors.get(swimlane);
+    }
+
+    public void setActorId(String swimlane, String actorId) {
+        swimlaneActors.put(swimlane, actorId);
+    }
     
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/ProcessInstanceImpl.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -108,7 +108,6 @@
         Context context = getProcess().getDefaultContext(contextId);
         if (context != null) {
             contextInstance = getContextInstance(context);
-            addContextInstance(contextId, contextInstance);
             return contextInstance;
         }
         return null;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -63,7 +63,9 @@
     }
     
     public void setResults(Map<String, Object> results) {
-        this.results = results;
+        if (results != null) {
+            this.results = results;
+        }
     }
     
     public void setResult(String name, Object value) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/demo/UIWorkItemHandlerDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/demo/UIWorkItemHandlerDialog.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/demo/UIWorkItemHandlerDialog.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -7,13 +7,16 @@
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
 import javax.swing.JButton;
 import javax.swing.JDialog;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextArea;
+import javax.swing.JTextField;
 
 import org.drools.process.instance.WorkItem;
 
@@ -25,8 +28,12 @@
     
     private static final long serialVersionUID = 400L;
     
+    private Map<String, Object> results = new HashMap<String, Object>();
     private UIWorkItemHandler handler;
     private WorkItem workItem;
+    private JTextField resultNameTextField;
+    private JTextField resultValueTextField;
+    private JButton addResultButton;
     private JButton completeButton;
     private JButton abortButton;
     
@@ -50,11 +57,52 @@
         GridBagConstraints c = new GridBagConstraints();
         c.weightx = 1;
         c.weighty = 1;
-        c.gridwidth = 2;
+        c.gridwidth = 5;
         c.fill = GridBagConstraints.BOTH;
         c.insets = new Insets(5, 5, 5, 5);
         panel.add(params, c);
         
+        JLabel resultName = new JLabel("Result");
+        c = new GridBagConstraints();
+        c.gridy = 1;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(resultName, c);
+        resultNameTextField = new JTextField();
+        c = new GridBagConstraints();
+        c.gridx = 1;
+        c.gridy = 1;
+        c.weightx = 0.3;
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(resultNameTextField, c);
+        
+        JLabel resultValue = new JLabel("Value");
+        c = new GridBagConstraints();
+        c.gridx = 2;
+        c.gridy = 1;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(resultValue, c);
+        resultValueTextField = new JTextField();
+        c = new GridBagConstraints();
+        c.gridx = 3;
+        c.gridy = 1;
+        c.weightx = 0.7;
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(resultValueTextField, c);
+        
+        addResultButton = new JButton("Add");
+        addResultButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent event) {
+                addResult();
+            }
+        });
+        c = new GridBagConstraints();
+        c.gridx = 4;
+        c.gridy = 1;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(addResultButton, c);
+        
         completeButton = new JButton("Complete");
         completeButton.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent event) {
@@ -62,8 +110,9 @@
             }
         });
         c = new GridBagConstraints();
-        c.gridy = 1;
+        c.gridy = 2;
         c.weightx = 1;
+        c.gridwidth = 4;
         c.anchor = GridBagConstraints.EAST;
         c.insets = new Insets(5, 5, 5, 5);
         panel.add(completeButton, c);
@@ -75,8 +124,8 @@
             }
         });
         c = new GridBagConstraints();
-        c.gridx = 1;
-        c.gridy = 1;
+        c.gridx = 4;
+        c.gridy = 2;
         c.insets = new Insets(5, 5, 5, 5);
         panel.add(abortButton, c);
     }
@@ -92,8 +141,14 @@
         return result;
     }
     
+    private void addResult() {
+        results.put(resultNameTextField.getText(), resultValueTextField.getText());
+        resultNameTextField.setText("");
+        resultValueTextField.setText("");
+    }
+    
     private void complete() {
-        handler.complete(workItem, null);
+        handler.complete(workItem, results);
         dispose();
     }
     

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/factory/ReuseContextInstanceFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/factory/ReuseContextInstanceFactory.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/factory/ReuseContextInstanceFactory.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -23,8 +23,10 @@
             AbstractContextInstance contextInstance = (AbstractContextInstance) cls.newInstance();
             contextInstance.setContextId(context.getId());
             contextInstance.setContextInstanceContainer(contextInstanceContainer);
+            contextInstanceContainer.addContextInstance(context.getType(), contextInstance);
             return contextInstance;
         } catch (Exception e) {
+            e.printStackTrace();
             throw new RuntimeException("Unable to instantiate context '"
                 + this.cls.getName() + "': " + e.getMessage());
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/timer/TimerManager.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -30,10 +30,16 @@
         };
         java.util.Timer utilTimer = new java.util.Timer();
         utilTimers.put(timer, utilTimer);
-        utilTimer.schedule(
-            timerTask, 
-            timer.getDelay(), 
-            timer.getPeriod());
+        if (timer.getPeriod() > 0) {
+            utilTimer.schedule(
+                timerTask, 
+                timer.getDelay(), 
+                timer.getPeriod());
+        } else {
+            utilTimer.schedule(
+                timerTask, 
+                timer.getPeriod());
+        }
     }
     
     public void cancelTimer(Timer timer) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/context/WorkflowReuseContextInstanceFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/context/WorkflowReuseContextInstanceFactory.java	2008-05-27 01:05:21 UTC (rev 20175)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/context/WorkflowReuseContextInstanceFactory.java	2008-05-27 01:27:23 UTC (rev 20176)
@@ -24,6 +24,7 @@
             AbstractContextInstance contextInstance = (AbstractContextInstance) cls.newInstance();
             contextInstance.setContextId(context.getId());
             contextInstance.setContextInstanceContainer(contextInstanceContainer);
+            contextInstanceContainer.addContextInstance(context.getType(), contextInstance);
             NodeInstanceContainer nodeInstanceContainer = null;
             if (contextInstanceContainer instanceof NodeInstanceContainer) {
                 nodeInstanceContainer = (NodeInstanceContainer) contextInstanceContainer;




More information about the jboss-svn-commits mailing list