[jboss-svn-commits] JBL Code SVN: r28466 - in labs/jbossrules/trunk/drools-process: drools-gwt-console/src/main/java/org/drools/integration/console and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Jul 26 19:25:33 EDT 2009
Author: KrisVerlaenen
Date: 2009-07-26 19:25:32 -0400 (Sun, 26 Jul 2009)
New Revision: 28466
Added:
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/AbstractFormDispatcher.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/FormDispatcherComposite.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/ProcessFormDispatcher.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.FormDispatcherPlugin
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/com.sample.evaluation.ftl
labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/resources/com.sample.evaluation.png
Removed:
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskDispatcherPluginImpl.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin
Modified:
labs/jbossrules/trunk/drools-process/drools-gwt-console/.classpath
labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowProcessManagement.java
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTransform.java
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowUserManagement.java
labs/jbossrules/trunk/drools-process/drools-gwt-form/.classpath
labs/jbossrules/trunk/drools-process/drools-gwt-form/pom.xml
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/DefaultTask.ftl
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/Performance Evaluation.ftl
labs/jbossrules/trunk/drools-process/drools-gwt-graph/.classpath
labs/jbossrules/trunk/drools-process/drools-gwt-graph/pom.xml
labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/java/org/drools/integration/console/graph/GraphViewerPluginImpl.java
Log:
- updated to latest version of gwt-console
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/.classpath 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/.classpath 2009-07-26 23:25:32 UTC (rev 28466)
@@ -1,58 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.1/antlr-runtime-3.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-cli/2.0-SNAPSHOT/commons-cli-2.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-compress/1.0-SNAPSHOT/commons-compress-1.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-exec/1.0.0-SNAPSHOT/commons-exec-1.0.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-finder/1.0-SNAPSHOT/commons-finder-1.0-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.4/commons-io-1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-net/commons-net/2.0/commons-net-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-bam/5.1.0.SNAPSHOT/drools-bam-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-bam/5.1.0.SNAPSHOT/drools-bam-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-calendar/2.0/gdata-calendar-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-client/1.0/gdata-client-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-core/1.0/gdata-core-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0.CR1/gwt-console-rpc-1.0.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0.CR1/gwt-console-server-integration-1.0.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.77/h2-1.0.77.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.0.SP1/hibernate-core-3.3.0.SP1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/el/jboss-el/1.0_02.CR2/jboss-el-1.0_02.CR2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-seam/2.1.1.GA/jboss-seam-2.1.1.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/joda-time/joda-time/1.6/joda-time-1.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/mina/mina-core/2.0.0-M3/mina-core-2.0.0-M3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.10/mvel2-2.0.10.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/rome/rome/0.9/rome-0.9.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.0/slf4j-api-1.5.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-jdk14/1.5.2/slf4j-jdk14-1.5.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.0.4/smack-3.0.4.jar"/>
-</classpath>
\ No newline at end of file
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.1/antlr-runtime-3.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-cli/2.0-SNAPSHOT/commons-cli-2.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-compress/1.0-SNAPSHOT/commons-compress-1.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-exec/1.0.0-SNAPSHOT/commons-exec-1.0.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/commons/commons-finder/1.0-SNAPSHOT/commons-finder-1.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.4/commons-io-1.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-net/commons-net/2.0/commons-net-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-bam/5.1.0.SNAPSHOT/drools-bam-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-bam/5.1.0.SNAPSHOT/drools-bam-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-calendar/2.0/gdata-calendar-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-client/1.0/gdata-client-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-core/1.0/gdata-core-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0-SNAPSHOT/gwt-console-rpc-1.0.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0-SNAPSHOT/gwt-console-server-integration-1.0.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.77/h2-1.0.77.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.0.SP1/hibernate-core-3.3.0.SP1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/el/jboss-el/1.0_02.CR2/jboss-el-1.0_02.CR2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/seam/jboss-seam/2.1.1.GA/jboss-seam-2.1.1.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/joda-time/joda-time/1.6/joda-time-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/mina/mina-core/2.0.0-M3/mina-core-2.0.0-M3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.10/mvel2-2.0.10.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/rome/rome/0.9/rome-0.9.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.0/slf4j-api-1.5.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-jdk14/1.5.2/slf4j-jdk14-1.5.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.0.4/smack-3.0.4.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml 2009-07-26 23:25:32 UTC (rev 28466)
@@ -42,7 +42,7 @@
<dependency>
<groupId>org.jboss.bpm</groupId>
<artifactId>gwt-console-server-integration</artifactId>
- <version>1.0.0.CR1</version>
+ <version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -1,7 +1,9 @@
package org.drools.integration.console;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
@@ -17,6 +19,8 @@
import org.drools.process.audit.ProcessInstanceDbLog;
import org.drools.process.audit.ProcessInstanceLog;
import org.drools.process.audit.WorkingMemoryDbLogger;
+import org.drools.process.core.context.variable.VariableScope;
+import org.drools.process.instance.context.variable.VariableScopeInstance;
import org.drools.process.workitem.wsht.CommandBasedWSHumanTaskHandler;
import org.drools.runtime.Environment;
import org.drools.runtime.EnvironmentName;
@@ -117,8 +121,8 @@
return ProcessInstanceDbLog.findProcessInstances(processId);
}
- public ProcessInstanceLog startProcess(String processId) {
- long processInstanceId = ksession.startProcess(processId).getId();
+ public ProcessInstanceLog startProcess(String processId, Map<String, Object> parameters) {
+ long processInstanceId = ksession.startProcess(processId, parameters).getId();
return ProcessInstanceDbLog.findProcessInstance(processInstanceId);
}
@@ -131,6 +135,47 @@
}
}
+ public Map<String, Object> getProcessInstanceVariables(String processInstanceId) {
+ ProcessInstance processInstance = ksession.getProcessInstance(new Long(processInstanceId));
+ if (processInstance != null) {
+ VariableScopeInstance variableScope = (VariableScopeInstance)
+ ((org.drools.process.instance.ProcessInstance) processInstance)
+ .getContextInstance(VariableScope.VARIABLE_SCOPE);
+ if (variableScope == null) {
+ return new HashMap<String, Object>();
+ }
+ // filter out null values
+ Map<String, Object> variables = variableScope.getVariables();
+ Map<String, Object> result = new HashMap<String, Object>();
+ for (Map.Entry<String, Object> entry: variables.entrySet()) {
+ if (entry.getValue() != null) {
+ result.put(entry.getKey(), entry.getValue());
+ }
+ }
+ return result;
+ } else {
+ throw new IllegalArgumentException("Could not find process instance " + processInstanceId);
+ }
+ }
+
+ public void setProcessInstanceVariables(String processInstanceId, Map<String, Object> variables) {
+ ProcessInstance processInstance = ksession.getProcessInstance(new Long(processInstanceId));
+ if (processInstance != null) {
+ VariableScopeInstance variableScope = (VariableScopeInstance)
+ ((org.drools.process.instance.ProcessInstance) processInstance)
+ .getContextInstance(VariableScope.VARIABLE_SCOPE);
+ if (variableScope == null) {
+ throw new IllegalArgumentException(
+ "Could not find variable scope for process instance " + processInstanceId);
+ }
+ for (Map.Entry<String, Object> entry: variables.entrySet()) {
+ variableScope.setVariable(entry.getKey(), entry.getValue());
+ }
+ } else {
+ throw new IllegalArgumentException("Could not find process instance " + processInstanceId);
+ }
+ }
+
public void signalExecution(String executionId, String signal) {
ksession.getProcessInstance(new Long(executionId))
.signalEvent("signal", signal);
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowProcessManagement.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowProcessManagement.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowProcessManagement.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -1,11 +1,11 @@
package org.drools.integration.console;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import org.drools.definition.process.Process;
import org.drools.process.audit.ProcessInstanceLog;
-import org.drools.definition.process.Process;
import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef.RESULT;
@@ -45,16 +45,23 @@
}
public List<ProcessInstanceRef> getProcessInstances(String definitionId) {
+ // TODO: query for active process instances only
List<ProcessInstanceLog> processInstances = delegate.getProcessInstanceLogsByProcessId(definitionId);
List<ProcessInstanceRef> result = new ArrayList<ProcessInstanceRef>();
for (ProcessInstanceLog processInstance: processInstances) {
- result.add(DroolsFlowTransform.processInstance(processInstance));
+ if (processInstance.getEnd() == null) {
+ result.add(DroolsFlowTransform.processInstance(processInstance));
+ }
}
return result;
}
- public ProcessInstanceRef newInstance(String instanceId) {
- ProcessInstanceLog processInstance = delegate.startProcess(instanceId);
+ public ProcessInstanceRef newInstance(String definitionId) {
+ return newInstance(definitionId, null);
+ }
+
+ public ProcessInstanceRef newInstance(String definitionId, Map<String, Object> processVars) {
+ ProcessInstanceLog processInstance = delegate.startProcess(definitionId, processVars);
return DroolsFlowTransform.processInstance(processInstance);
}
@@ -66,14 +73,18 @@
}
}
+ public Map<String, Object> getInstanceData(String instanceId) {
+ return delegate.getProcessInstanceVariables(instanceId);
+ }
+
+ public void setInstanceData(String instanceId, Map<String, Object> data) {
+ delegate.setProcessInstanceVariables(instanceId, data);
+ }
+
public void signalExecution(String executionId, String signal) {
delegate.signalExecution(executionId, signal);
}
- public void deploy(String fileName, String contentType, InputStream deployment) {
- // Do nothing
- }
-
public void deleteInstance(String instanceId) {
delegate.abortProcessInstance(instanceId);
}
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -59,19 +59,32 @@
return DroolsFlowTransform.task(task);
}
- public void assignTask(long taskId, String idRef) {
+ public void assignTask(long taskId, String idRef, String userId) {
+ // TODO
+ if (userId == null) {
+ System.err.println("assignTask: userId == null, using 'admin'");
+ userId = "admin";
+ }
connect();
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
- client.claim(taskId, idRef, responseHandler);
+ if (idRef != null && idRef.equals(userId)) {
+ client.claim(taskId, idRef, responseHandler);
+ } else {
+ client.delegate(taskId, userId, idRef, responseHandler);
+ }
responseHandler.waitTillDone(5000);
}
@SuppressWarnings("unchecked")
- public void completeTask(long taskId, Map data) {
+ public void completeTask(long taskId, Map data, String userId) {
+ // TODO
+ if (userId == null) {
+ System.err.println("assignTask: userId == null, using 'admin'");
+ userId = "admin";
+ }
connect();
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
- // TODO: fixme
- client.start(taskId, "admin", responseHandler);
+ client.start(taskId, userId, responseHandler);
responseHandler.waitTillDone(5000);
responseHandler = new BlockingTaskOperationResponseHandler();
ContentData contentData = null;
@@ -89,22 +102,25 @@
e.printStackTrace();
}
}
- // TODO: fixme
- client.complete(taskId, "admin", contentData, responseHandler);
+ client.complete(taskId, userId, contentData, responseHandler);
responseHandler.waitTillDone(5000);
}
@SuppressWarnings("unchecked")
- public void completeTask(long taskId, String outcome, Map data) {
+ public void completeTask(long taskId, String outcome, Map data, String userId) {
data.put("outcome", outcome);
- completeTask(taskId, data);
+ completeTask(taskId, data, userId);
}
- public void releaseTask(long taskId) {
+ public void releaseTask(long taskId, String userId) {
+ // TODO
+ if (userId == null) {
+ System.err.println("assignTask: userId == null, using 'admin'");
+ userId = "admin";
+ }
connect();
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
- // TODO: fixme
- client.release(taskId, "Administrator", responseHandler);
+ client.release(taskId, userId, responseHandler);
responseHandler.waitTillDone(5000);
}
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTransform.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTransform.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTransform.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -20,8 +20,9 @@
// Do nothing, keep version 0
}
ProcessDefinitionRef result = new ProcessDefinitionRef(
- process.getId(), process.getName(), version );
+ process.getId(), process.getName(), version);
result.setPackageName(process.getPackageName());
+ result.setDeploymentId("N/A");
return result;
}
@@ -42,8 +43,8 @@
return new TaskRef(
task.getId(),
// TODO: fixme
- "-1",
- "-1",
+ "",
+ "",
task.getName(),
task.getActualOwner() == null ? null : task.getActualOwner().getId(),
false,
@@ -60,8 +61,8 @@
return new TaskRef(
task.getId(),
// TODO: fixme
- "-1",
- "-1",
+ "",
+ "",
name,
task.getTaskData().getActualOwner() == null ? null : task.getTaskData().getActualOwner().getId(),
false,
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowUserManagement.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowUserManagement.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowUserManagement.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -8,12 +8,14 @@
public class DroolsFlowUserManagement implements UserManagement {
public List<String> getActorsForGroup(String groupName) {
+ // TODO: fixme
List<String> result = new ArrayList<String>();
result.add("admin");
return result;
}
public List<String> getGroupsForActor(String actorId) {
+ // TODO: fixme
List<String> result = new ArrayList<String>();
result.add("admins");
return result;
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-form/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/.classpath 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/.classpath 2009-07-26 23:25:32 UTC (rev 28466)
@@ -16,20 +16,17 @@
<classpathentry kind="var" path="M2_REPO/commons-net/commons-net/2.0/commons-net-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.4.2.v_883_R34x/core-3.4.2.v_883_R34x.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-api/5.1.0.SNAPSHOT/drools-api-5.1.0.SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/5.1.0.SNAPSHOT/drools-compiler-5.1.0.SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-process-task/5.1.0.SNAPSHOT/drools-process-task-5.1.0.SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-workitems/5.1.0.SNAPSHOT/drools-workitems-5.1.0.SNAPSHOT.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.15/freemarker-2.3.15.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-calendar/2.0/gdata-calendar-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-client/1.0/gdata-client-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gdata/gdata-core/1.0/gdata-core-1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0.CR1/gwt-console-rpc-1.0.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0.CR1/gwt-console-server-integration-1.0.0.CR1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0-SNAPSHOT/gwt-console-rpc-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0-SNAPSHOT/gwt-console-rpc-1.0.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0-SNAPSHOT/gwt-console-server-integration-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0-SNAPSHOT/gwt-console-server-integration-1.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.77/h2-1.0.77.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-form/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/pom.xml 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/pom.xml 2009-07-26 23:25:32 UTC (rev 28466)
@@ -22,7 +22,7 @@
<dependency>
<groupId>org.jboss.bpm</groupId>
<artifactId>gwt-console-server-integration</artifactId>
- <version>1.0.0.CR1</version>
+ <version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
Added: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/AbstractFormDispatcher.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/AbstractFormDispatcher.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/AbstractFormDispatcher.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1,93 @@
+package org.drools.integration.console.forms;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Map;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
+
+import freemarker.template.DefaultObjectWrapper;
+import freemarker.template.Template;
+
+/**
+ * @author Kris Verlaenen
+ */
+public abstract class AbstractFormDispatcher implements FormDispatcherPlugin {
+
+ public URL getDispatchUrl(FormAuthorityRef ref) {
+ StringBuffer sb = new StringBuffer();
+ // TODO: fix this for non localhost:8080
+ sb.append("http://");
+ sb.append("localhost");
+ sb.append(":").append(8080);
+ sb.append("/gwt-console-server/rs/form/" + getType(ref) + "/");
+ sb.append(ref.getReferenceId());
+ sb.append("/render");
+
+ try {
+ return new URL(sb.toString());
+ } catch (MalformedURLException e) {
+ throw new RuntimeException("Failed to resolve form dispatch url", e);
+ }
+ }
+
+ protected String getType(FormAuthorityRef ref) {
+ FormAuthorityRef.Type type = ref.getType();
+ if (type.equals(FormAuthorityRef.Type.TASK)) {
+ return "task";
+ }
+ if (type.equals(FormAuthorityRef.Type.PROCESS)) {
+ return "process";
+ }
+ throw new IllegalArgumentException(
+ "Unknown form authority type: " + ref.getType());
+ }
+
+ public InputStream getTemplate(String name) {
+ return AbstractFormDispatcher.class.getResourceAsStream("/" + name + ".ftl");
+ }
+
+ protected DataHandler processTemplate(final String name, InputStream src, Map<String, Object> renderContext) {
+ DataHandler merged = null;
+ try {
+ freemarker.template.Configuration cfg = new freemarker.template.Configuration();
+ cfg.setObjectWrapper(new DefaultObjectWrapper());
+ cfg.setTemplateUpdateDelay(0);
+ Template temp = new Template(name, new InputStreamReader(src), cfg);
+ final ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ Writer out = new OutputStreamWriter(bout);
+ temp.process(renderContext, out);
+ out.flush();
+ merged = new DataHandler(new DataSource() {
+ public InputStream getInputStream() throws IOException {
+ return new ByteArrayInputStream(bout.toByteArray());
+ }
+ public OutputStream getOutputStream() throws IOException {
+ return bout;
+ }
+ public String getContentType() {
+ return "*/*";
+ }
+ public String getName() {
+ return name + "_DataSource";
+ }
+ });
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to process form template", e);
+ }
+ return merged;
+ }
+
+}
Added: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/FormDispatcherComposite.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/FormDispatcherComposite.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/FormDispatcherComposite.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1,42 @@
+package org.drools.integration.console.forms;
+
+import java.net.URL;
+
+import javax.activation.DataHandler;
+
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
+
+public class FormDispatcherComposite implements FormDispatcherPlugin {
+
+ private FormDispatcherPlugin taskDispatcher;
+ private FormDispatcherPlugin processDispatcher;
+
+ public FormDispatcherComposite() {
+ this.taskDispatcher = new TaskFormDispatcher();
+ this.processDispatcher = new ProcessFormDispatcher();
+ }
+
+ public URL getDispatchUrl(FormAuthorityRef ref) {
+ switch (ref.getType()) {
+ case TASK:
+ return taskDispatcher.getDispatchUrl(ref);
+ case PROCESS:
+ return processDispatcher.getDispatchUrl(ref);
+ default:
+ throw new IllegalArgumentException("Unknown authority type:" + ref.getType());
+ }
+ }
+
+ public DataHandler provideForm(FormAuthorityRef ref) {
+ switch (ref.getType()) {
+ case TASK:
+ return taskDispatcher.provideForm(ref);
+ case PROCESS:
+ return processDispatcher.provideForm(ref);
+ default:
+ throw new IllegalArgumentException("Unknown authority type:" + ref.getType());
+ }
+ }
+
+}
Added: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/ProcessFormDispatcher.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/ProcessFormDispatcher.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/ProcessFormDispatcher.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1,29 @@
+package org.drools.integration.console.forms;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashMap;
+
+import javax.activation.DataHandler;
+
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+
+public class ProcessFormDispatcher extends AbstractFormDispatcher {
+
+ public URL getDispatchUrl(FormAuthorityRef ref) {
+ InputStream template = getTemplate(ref.getReferenceId());
+ if (template == null) {
+ return null;
+ }
+ return super.getDispatchUrl(ref);
+ }
+
+ public DataHandler provideForm(FormAuthorityRef ref) {
+ InputStream template = getTemplate(ref.getReferenceId());
+ if (template == null) {
+ return null;
+ }
+ return processTemplate(ref.getReferenceId(), template, new HashMap<String, Object>());
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskDispatcherPluginImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskDispatcherPluginImpl.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskDispatcherPluginImpl.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -1,150 +0,0 @@
-package org.drools.integration.console.forms;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.net.InetSocketAddress;
-import java.net.MalformedURLException;
-import java.net.SocketAddress;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.SystemEventListenerFactory;
-import org.drools.task.I18NText;
-import org.drools.task.Task;
-import org.drools.task.service.MinaTaskClient;
-import org.drools.task.service.TaskClientHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
-import org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin;
-
-import freemarker.template.DefaultObjectWrapper;
-import freemarker.template.Template;
-
-/**
- * @author Kris Verlaenen
- */
-public class TaskDispatcherPluginImpl implements TaskDispatcherPlugin {
-
- // TODO make this configurable
- private String ipAddress = "127.0.0.1";
- private int port = 9123;
- private MinaTaskClient client;
-
- public TaskDispatcherPluginImpl() {
- System.out.println("Created TaskDispatcherPlugin");
- }
-
- public void connect() {
- if (client == null) {
- client = new MinaTaskClient(
- "org.drools.process.workitem.wsht.WSHumanTaskHandler",
- new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()));
- NioSocketConnector connector = new NioSocketConnector();
- SocketAddress address = new InetSocketAddress(ipAddress, port);
- boolean connected = client.connect(connector, address);
- if (!connected) {
- throw new IllegalArgumentException(
- "Could not connect task client");
- }
- }
- }
-
- public URL getDispatchUrl(long taskId) {
- StringBuffer sb = new StringBuffer();
- // TODO: fix this for non localhost:8080
- sb.append("http://");
- sb.append("localhost");
- sb.append(":").append(8080);
- sb.append("/gwt-console-server/rs/task/");
- sb.append(taskId);
- sb.append("/render");
-
- try {
- return new URL(sb.toString());
- } catch (MalformedURLException e) {
- throw new RuntimeException("Failed to resolve task dispatch url", e);
- }
- }
-
- public DataHandler provideTaskUI(long taskId) {
- connect();
- BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask(taskId, getTaskResponseHandler);
- Task task = getTaskResponseHandler.getTask();
-
- // check if a template exists
- String name = null;
- List<I18NText> names = task.getNames();
- for (I18NText text: names) {
- if ("en-UK".equals(text.getLanguage())) {
- name = "/" + text.getText() + ".ftl";
- }
- }
- InputStream template = TaskDispatcherPluginImpl.class.getResourceAsStream(name);
- if (template == null) {
- System.out.println("Could not find template " + name);
- template = TaskDispatcherPluginImpl.class.getResourceAsStream("/DefaultTask.ftl");
- }
- System.out.println("Using template " + name);
-
- // merge template with process variables
- // TODO: fix this for non localhost:8080
- StringBuffer sb = new StringBuffer();
- sb.append("http://");
- sb.append("localhost");
- sb.append(":").append(8080);
- sb.append("/gwt-console-server/rs/task/");
- sb.append(taskId);
- sb.append("/process");
- Map<String, Object> renderContext = new HashMap<String, Object>();
- renderContext.put("task", task);
- return processTemplate(name, template, renderContext);
- }
-
- private DataHandler processTemplate(final String name, InputStream src, Map<String, Object> renderContext) {
- DataHandler merged = null;
- try {
- freemarker.template.Configuration cfg = new freemarker.template.Configuration();
- cfg.setObjectWrapper(new DefaultObjectWrapper());
- cfg.setTemplateUpdateDelay(0);
- Template temp = new Template(name, new InputStreamReader(src), cfg);
- final ByteArrayOutputStream bout = new ByteArrayOutputStream();
- Writer out = new OutputStreamWriter(bout);
- temp.process(renderContext, out);
- out.flush();
- merged = new DataHandler(new DataSource() {
- public InputStream getInputStream() throws IOException {
- return new ByteArrayInputStream(bout.toByteArray());
- }
- public OutputStream getOutputStream() throws IOException {
- return bout;
- }
- public String getContentType() {
- return "*/*";
- }
- public String getName() {
- return name + "_DataSource";
- }
- });
- } catch (Exception e) {
- throw new RuntimeException("Failed to process task template", e);
- }
- return merged;
- }
-
- public void processCompletion(long taskId, String outcome, InputStream payload) {
- // Do nothing
- }
-
-}
Copied: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java (from rev 27261, labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskDispatcherPluginImpl.java)
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1,71 @@
+package org.drools.integration.console.forms;
+
+import java.io.InputStream;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.activation.DataHandler;
+
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
+import org.drools.task.I18NText;
+import org.drools.task.Task;
+import org.drools.task.service.MinaTaskClient;
+import org.drools.task.service.TaskClientHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+
+/**
+ * @author Kris Verlaenen
+ */
+public class TaskFormDispatcher extends AbstractFormDispatcher {
+
+ // TODO make this configurable
+ private String ipAddress = "127.0.0.1";
+ private int port = 9123;
+ private MinaTaskClient client;
+
+ public void connect() {
+ if (client == null) {
+ client = new MinaTaskClient(
+ "org.drools.process.workitem.wsht.WSHumanTaskHandler",
+ new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()));
+ NioSocketConnector connector = new NioSocketConnector();
+ SocketAddress address = new InetSocketAddress(ipAddress, port);
+ boolean connected = client.connect(connector, address);
+ if (!connected) {
+ throw new IllegalArgumentException(
+ "Could not connect task client");
+ }
+ }
+ }
+
+ public DataHandler provideForm(FormAuthorityRef ref) {
+ connect();
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask(new Long(ref.getReferenceId()), getTaskResponseHandler);
+ Task task = getTaskResponseHandler.getTask();
+
+ // check if a template exists
+ String name = null;
+ List<I18NText> names = task.getNames();
+ for (I18NText text: names) {
+ if ("en-UK".equals(text.getLanguage())) {
+ name = text.getText();
+ }
+ }
+ InputStream template = getTemplate(name);
+ if (template == null) {
+ template = TaskFormDispatcher.class.getResourceAsStream("/DefaultTask.ftl");
+ }
+
+ // merge template with process variables
+ Map<String, Object> renderContext = new HashMap<String, Object>();
+ renderContext.put("task", task);
+ return processTemplate(name, template, renderContext);
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/DefaultTask.ftl
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/DefaultTask.ftl 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/DefaultTask.ftl 2009-07-26 23:25:32 UTC (rev 28466)
@@ -4,8 +4,8 @@
<h2>${task.names[0].text}</h2>
<hr>
Description: ${task.descriptions[0].text}
-<form action="process" method="POST" enctype="multipart/form-data">
-<input type="submit" name="outcome" value="Complete">
+<form action="complete" method="POST" enctype="multipart/form-data">
+<input type="submit" value="Complete">
</form>
</body>
</html>
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.FormDispatcherPlugin (from rev 27261, labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin)
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.FormDispatcherPlugin (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.FormDispatcherPlugin 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1 @@
+org.drools.integration.console.forms.FormDispatcherComposite
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.FormDispatcherPlugin
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin 2009-07-26 23:25:32 UTC (rev 28466)
@@ -1 +0,0 @@
-org.drools.integration.console.forms.TaskDispatcherPluginImpl
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/Performance Evaluation.ftl
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/Performance Evaluation.ftl 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/Performance Evaluation.ftl 2009-07-26 23:25:32 UTC (rev 28466)
@@ -5,7 +5,7 @@
${task.descriptions[0].text}<br/>
<br/>
Please fill in the following evaluation form:
-<form action="process" method="POST" enctype="multipart/form-data">
+<form action="complete" method="POST" enctype="multipart/form-data">
Rate the overall performance: <select name="performance">
<option value="outstanding">Outstanding</option>
<option value="exceeding">Exceeding expectations</option>
@@ -18,7 +18,7 @@
<input type="checkbox" name="change" value="change">Thriving on change<br/>
<input type="checkbox" name="communication" value="communication">Good communication skills<br/>
<br/>
-<input type="submit" name="outcome" value="Complete">
+<input type="submit" value="Complete">
</form>
</body>
</html>
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/com.sample.evaluation.ftl
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/com.sample.evaluation.ftl (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/resources/com.sample.evaluation.ftl 2009-07-26 23:25:32 UTC (rev 28466)
@@ -0,0 +1,11 @@
+<html>
+<body>
+
+<h2>Start Performance Evaluation</h2>
+<hr>
+<form action="complete" method="POST" enctype="multipart/form-data">
+Please fill in your username: <input type="text" name="employee" /></BR>
+<input type="submit" value="Complete">
+</form>
+</body>
+</html>
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-graph/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-graph/.classpath 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-graph/.classpath 2009-07-26 23:25:32 UTC (rev 28466)
@@ -12,8 +12,8 @@
<classpathentry kind="var" path="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT.jar" sourcepath="M2_REPO/org/drools/drools-core/5.1.0.SNAPSHOT/drools-core-5.1.0.SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0.CR1/gwt-console-rpc-1.0.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0.CR1/gwt-console-server-integration-1.0.0.CR1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0-SNAPSHOT/gwt-console-rpc-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/bpm/gwt-console-rpc/1.0.0-SNAPSHOT/gwt-console-rpc-1.0.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0-SNAPSHOT/gwt-console-server-integration-1.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/bpm/gwt-console-server-integration/1.0.0-SNAPSHOT/gwt-console-server-integration-1.0.0-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar"/>
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-graph/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-graph/pom.xml 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-graph/pom.xml 2009-07-26 23:25:32 UTC (rev 28466)
@@ -27,7 +27,7 @@
<dependency>
<groupId>org.jboss.bpm</groupId>
<artifactId>gwt-console-server-integration</artifactId>
- <version>1.0.0.CR1</version>
+ <version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/java/org/drools/integration/console/graph/GraphViewerPluginImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/java/org/drools/integration/console/graph/GraphViewerPluginImpl.java 2009-07-26 23:14:39 UTC (rev 28465)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/java/org/drools/integration/console/graph/GraphViewerPluginImpl.java 2009-07-26 23:25:32 UTC (rev 28466)
@@ -4,6 +4,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -30,8 +31,7 @@
*/
public class GraphViewerPluginImpl implements GraphViewerPlugin {
- public ActiveNodeInfo getActiveNodeInfo(String instanceId) {
- // TODO: there can be more than one active node !
+ public List<ActiveNodeInfo> getActiveNodeInfo(String instanceId) {
ProcessInstanceLog processInstance = ProcessInstanceDbLog.findProcessInstance(new Long(instanceId));
if (processInstance == null) {
throw new IllegalArgumentException("Could not find process instance " + instanceId);
@@ -45,15 +45,23 @@
}
}
if (!nodeInstances.isEmpty()) {
- NodeInstanceLog nodeInstance = nodeInstances.values().iterator().next();
- DiagramInfo diagramInfo = getDiagramInfo(processInstance.getProcessId());
- for (DiagramNodeInfo nodeInfo: diagramInfo.getNodeList()) {
- if (nodeInfo.getName().equals("id=" + nodeInstance.getNodeId())) {
- return new ActiveNodeInfo(diagramInfo.getWidth(), diagramInfo.getHeight(), nodeInfo);
+ List<ActiveNodeInfo> result = new ArrayList<ActiveNodeInfo>();
+ for (NodeInstanceLog nodeInstance: nodeInstances.values()) {
+ boolean found = false;
+ DiagramInfo diagramInfo = getDiagramInfo(processInstance.getProcessId());
+ for (DiagramNodeInfo nodeInfo: diagramInfo.getNodeList()) {
+ if (nodeInfo.getName().equals("id=" + nodeInstance.getNodeId())) {
+ result.add(new ActiveNodeInfo(diagramInfo.getWidth(), diagramInfo.getHeight(), nodeInfo));
+ found = true;
+ break;
+ }
}
+ if (!found) {
+ throw new IllegalArgumentException("Could not find info for node "
+ + nodeInstance.getNodeId() + " of process " + processInstance.getProcessId());
+ }
}
- throw new IllegalArgumentException("Could not find info for node "
- + nodeInstance.getNodeId() + " of process " + processInstance.getProcessId());
+ return result;
}
return null;
}
@@ -122,4 +130,8 @@
return total;
}
+ public URL getDiagramURL(String id) {
+ return GraphViewerPluginImpl.class.getResource("/" + id + ".png");
+ }
+
}
Added: labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/resources/com.sample.evaluation.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-process/drools-gwt-graph/src/main/resources/com.sample.evaluation.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jboss-svn-commits
mailing list