[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