[jboss-svn-commits] JBL Code SVN: r32681 - labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Apr 29 13:34:25 EDT 2010
Author: KrisVerlaenen
Date: 2010-04-29 13:34:25 -0400 (Thu, 29 Apr 2010)
New Revision: 32681
Modified:
labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java
Log:
JBRULES-2491: Expose task content in task forms
- adding content parameter to task form
Modified: 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/java/org/drools/integration/console/forms/TaskFormDispatcher.java 2010-04-29 16:48:35 UTC (rev 32680)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java 2010-04-29 17:34:25 UTC (rev 32681)
@@ -1,6 +1,9 @@
package org.drools.integration.console.forms;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.ObjectInputStream;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.HashMap;
@@ -11,10 +14,12 @@
import org.apache.mina.transport.socket.nio.NioSocketConnector;
import org.drools.SystemEventListenerFactory;
+import org.drools.task.Content;
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.BlockingGetContentResponseHandler;
import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
@@ -48,6 +53,24 @@
BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
client.getTask(new Long(ref.getReferenceId()), getTaskResponseHandler);
Task task = getTaskResponseHandler.getTask();
+ Object input = null;
+ long contentId = task.getTaskData().getDocumentContentId();
+ if (contentId != -1) {
+ BlockingGetContentResponseHandler getContentResponseHandler = new BlockingGetContentResponseHandler();
+ client.getContent(contentId, getContentResponseHandler);
+ Content content = getContentResponseHandler.getContent();
+ ByteArrayInputStream bis = new ByteArrayInputStream(content.getContent());
+ ObjectInputStream in;
+ try {
+ in = new ObjectInputStream(bis);
+ input = in.readObject();
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
// check if a template exists
String name = null;
@@ -64,7 +87,16 @@
// merge template with process variables
Map<String, Object> renderContext = new HashMap<String, Object>();
- renderContext.put("task", task);
+ renderContext.put("task", task);
+ renderContext.put("content", input);
+ if (input instanceof Map) {
+ Map<?, ?> map = (Map) input;
+ for (Map.Entry<?, ?> entry: map.entrySet()) {
+ if (entry.getKey() instanceof String) {
+ renderContext.put((String) entry.getKey(), entry.getValue());
+ }
+ }
+ }
return processTemplate(name, template, renderContext);
}
More information about the jboss-svn-commits
mailing list