[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