[jbpm-commits] JBoss JBPM SVN: r5158 - in projects/gwt-console/trunk: server/server-core/src/main/java/org/jboss/bpm/console/server and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jun 29 11:13:18 EDT 2009


Author: heiko.braun at jboss.com
Date: 2009-06-29 11:13:18 -0400 (Mon, 29 Jun 2009)
New Revision: 5158

Added:
   projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/FormProcessingFacade.java
   projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormAuthorityRef.java
   projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormDispatcherPlugin.java
Removed:
   projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/TaskDispatcherPlugin.java
Modified:
   projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
   projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java
   projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java
   projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java
   projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java
Log:
Rename TaskDispatcher to FormDispatcher

Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -215,7 +215,7 @@
 
       // plugin availability
       this.hasDispatcherPlugin =
-          ServerPlugins.has("org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin");
+          ServerPlugins.has("org.jboss.bpm.console.server.plugin.FormDispatcherPlugin");
       viewBtn.setEnabled(hasDispatcherPlugin);
       
       isInitialized = true;

Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -45,7 +45,7 @@
     singletons.add(new UserMgmtFacade());
     singletons.add(new TestFacade());
     singletons.add(new EngineFacade());
-
+    singletons.add(new FormProcessingFacade());
     singletons.add( new ReportFacade() );
   }
 

Added: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/FormProcessingFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/FormProcessingFacade.java	                        (rev 0)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/FormProcessingFacade.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.server;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
+import org.jboss.bpm.console.server.plugin.PluginMgr;
+import org.jboss.resteasy.plugins.providers.multipart.InputPart;
+import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+ at Path("form")
+public class FormProcessingFacade
+{
+  private static final Log log = LogFactory.getLog(FormProcessingFacade.class);
+
+  private FormDispatcherPlugin formPlugin;
+
+  /**
+   * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
+   */
+  private FormDispatcherPlugin getFormDispatcherPlugin()
+  {
+    if(null==this.formPlugin)
+    {
+      this.formPlugin = PluginMgr.load(FormDispatcherPlugin.class);
+      log.debug("Using FormDispatcherPlugin impl:" + this.formPlugin);
+    }
+
+    return this.formPlugin;
+  }
+
+
+  @GET
+  @Path("task/{taskId}/render")
+  @Produces("text/html")
+  public Response renderTaskUI(
+      @PathParam("taskId")
+      String taskId
+  )
+  {
+    DataHandler dh = getFormDispatcherPlugin().provideForm(
+        new FormAuthorityRef(taskId)
+    );
+
+    if(null==dh)
+    {
+      throw new RuntimeException("No UI associated with task ID " + taskId);
+    }
+
+    return Response.ok(dh.getDataSource()).type("text/html").build();
+  }
+
+  @POST
+  @Path("task/{taskId}/complete")
+  @Produces("text/html")
+  @Consumes("multipart/form-data")
+  public Response closeTaskWithUI(
+      @Context
+      HttpServletRequest request,
+      @PathParam("taskId")
+      String taskId,
+      MultipartFormDataInput payload
+  )
+  {
+    Map<String,Object> processVars = new HashMap<String,Object>();
+
+    Map<String, InputPart> formData = payload.getFormData();
+    Iterator<String> partNames = formData.keySet().iterator();
+
+    String outcome = null;
+
+    while(partNames.hasNext())
+    {
+      final String partName = partNames.next();
+      final InputPart part = formData.get(partName);
+      final MediaType mediaType = part.getMediaType();
+
+      if(partName.equals("outcome"))
+      {
+        outcome = part.getBodyAsString();
+      }
+      else if(MediaType.TEXT_PLAIN_TYPE.equals(mediaType))
+      {
+        // RFC2045: Each part has an optional "Content-Type" header
+        // that defaults to "text/plain".
+        // Can go into process without conversion
+        processVars.put(partName, part.getBodyAsString());
+      }
+      else
+      {
+        // anything else turns into a DataHandler
+        final byte[] data = part.getBodyAsString().getBytes();
+        DataHandler dh = new DataHandler(
+            new DataSource()
+            {
+              public InputStream getInputStream() throws IOException
+              {
+                return new ByteArrayInputStream(data);
+              }
+
+              public OutputStream getOutputStream() throws IOException
+              {
+                throw new RuntimeException("This is a readonly DataHandler");
+              }
+
+              public String getContentType()
+              {
+                return mediaType.getType();
+              }
+
+              public String getName()
+              {
+                return partName;
+              }
+            }
+        );
+
+        processVars.put(partName, dh);
+      }
+    }
+
+    // complete task
+    getFormDispatcherPlugin().processCompletion(
+        new FormAuthorityRef(taskId), processVars, request.getRemoteUser(), outcome
+    );
+
+    return Response.ok("Successfully processed task UI").build();
+  }
+}

Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -21,7 +21,7 @@
  */
 package org.jboss.bpm.console.server;
 
-import org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
 import org.jboss.bpm.console.server.plugin.PluginMgr;
 import org.jboss.bpm.console.server.plugin.GraphViewerPlugin;
 import org.jboss.bpm.console.server.plugin.ProcessEnginePlugin;
@@ -44,7 +44,7 @@
 {
 
   private Class[] pluginInterfaces = {
-      TaskDispatcherPlugin.class,
+      FormDispatcherPlugin.class,
       GraphViewerPlugin.class,
       ProcessEnginePlugin.class
   };

Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -24,19 +24,22 @@
 import com.google.gson.Gson;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.console.client.model.TaskRef;
 import org.jboss.bpm.console.client.model.TaskRefWrapper;
-import org.jboss.bpm.console.client.model.TaskRef;
 import org.jboss.bpm.console.server.gson.GsonFactory;
 import org.jboss.bpm.console.server.integration.ManagementFactory;
 import org.jboss.bpm.console.server.integration.TaskManagement;
-import org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin;
 import org.jboss.bpm.console.server.plugin.PluginMgr;
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
 
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.Response;
+import java.net.URL;
 import java.util.List;
-import java.util.ArrayList;
-import java.net.URL;
 
 /**
  * REST server module for accessing task related data.
@@ -49,7 +52,7 @@
   private static final Log log = LogFactory.getLog(TaskMgmtFacade.class);
 
   private TaskManagement taskManagement;
-  private TaskDispatcherPlugin formPlugin;
+  private FormDispatcherPlugin formPlugin;
 
   /**
    * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
@@ -67,14 +70,14 @@
   }
 
   /**
-   * Lazy load the {@link org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin}.
+   * Lazy load the {@link org.jboss.bpm.console.server.plugin.FormDispatcherPlugin}.
    * Can be null if the plugin is not available.
    */
-  private TaskDispatcherPlugin getTaskDispatcherPlugin()
+  private FormDispatcherPlugin getTaskDispatcherPlugin()
   {
     if(null==this.formPlugin)
     {
-      this.formPlugin = PluginMgr.load(TaskDispatcherPlugin.class);
+      this.formPlugin = PluginMgr.load(FormDispatcherPlugin.class);
     }
 
     return this.formPlugin;
@@ -107,12 +110,14 @@
   private Response processTaskListResponse(List<TaskRef> taskList)
   {
     // decorate task form URL if plugin available
-    TaskDispatcherPlugin formPlugin = getTaskDispatcherPlugin();
+    FormDispatcherPlugin formPlugin = getTaskDispatcherPlugin();
     if(formPlugin!=null)
     {
       for(TaskRef task : taskList)
       {
-        URL taskFormURL = formPlugin.getDispatchUrl(task.getId());
+        URL taskFormURL = formPlugin.getDispatchUrl(
+            new FormAuthorityRef(String.valueOf(task.getId()))
+        );
         if(taskFormURL!=null)
         {
           task.setUrl(taskFormURL.toExternalForm());

Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -26,7 +26,8 @@
 import org.jboss.bpm.console.server.integration.ManagementFactory;
 import org.jboss.bpm.console.server.integration.TaskManagement;
 import org.jboss.bpm.console.server.plugin.PluginMgr;
-import org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin;
+import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
+import org.jboss.bpm.console.server.plugin.FormDispatcherPlugin;
 import org.jboss.resteasy.plugins.providers.multipart.InputPart;
 import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
 
@@ -37,13 +38,13 @@
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.ByteArrayInputStream;
 
 /**
  * REST server module for accessing task related data.
@@ -57,7 +58,7 @@
 
   private TaskManagement taskManagement;
 
-  private TaskDispatcherPlugin formPlugin;
+  private FormDispatcherPlugin formPlugin;
 
   /**
    * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
@@ -77,12 +78,12 @@
   /**
    * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
    */
-  private TaskDispatcherPlugin getTaskDispatcherPlugin()
+  private FormDispatcherPlugin getFormDispatcherPlugin()
   {
     if(null==this.formPlugin)
     {
-      this.formPlugin = PluginMgr.load(TaskDispatcherPlugin.class);
-      log.debug("Using TaskDispatcherPlugin impl:" + this.formPlugin);
+      this.formPlugin = PluginMgr.load(FormDispatcherPlugin.class);
+      log.debug("Using FormDispatcherPlugin impl:" + this.formPlugin);
     }
 
     return this.formPlugin;
@@ -152,15 +153,19 @@
     return Response.ok().build();
   }
 
+  /*
   @GET
   @Path("{taskId}/render")
   @Produces("text/html")
   public Response renderUI(
       @PathParam("taskId")
-      long taskId
+      String taskId
   )
   {
-    DataHandler dh = getTaskDispatcherPlugin().provideTaskUI(taskId);
+    DataHandler dh = getFormDispatcherPlugin().provideForm(
+      new FormAuthorityRef(taskId)
+    );
+    
     if(null==dh)
     {
       throw new RuntimeException("No UI associated with task ID " + taskId);
@@ -177,7 +182,7 @@
       @Context
       HttpServletRequest request,
       @PathParam("taskId")
-      long taskId,
+      String taskId,
       MultipartFormDataInput payload
   )
   {
@@ -238,15 +243,11 @@
       }
     }
 
-    // trigger execution
-    TaskManagement tm = getTaskManagement();
-    
-    if(null==outcome)
-      tm.completeTask(taskId, processVars, request.getRemoteUser());
-    else
-      tm.completeTask(taskId, outcome, processVars, request.getRemoteUser());
+    // complete task
+    getFormDispatcherPlugin().processCompletion(
+        new FormAuthorityRef(taskId), processVars, request.getRemoteUser(), outcome
+    );
 
-
     return Response.ok("Successfully processed task UI").build();
-  }
+  } */
 }

Added: projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormAuthorityRef.java
===================================================================
--- projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormAuthorityRef.java	                        (rev 0)
+++ projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormAuthorityRef.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.server.plugin;
+
+/**
+ * Identifies the source entity associated with a form.
+ * I.e. process or task.
+ *
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class FormAuthorityRef
+{
+  public enum Type {TASK, PROCESS}
+
+  private Type currentType = null;
+
+  private String referenceId;
+  
+  public FormAuthorityRef(String referenceId)
+  {
+    this.referenceId = referenceId;
+    this.currentType = Type.TASK;
+  }
+
+  public FormAuthorityRef(Type currentType, String referenceId)
+  {
+    this.currentType = currentType;
+    this.referenceId = referenceId;
+  }
+
+  public Type getType()
+  {
+    return this.currentType;
+  }
+
+  public String getReferenceId()
+  {
+    return referenceId;
+  }
+}

Copied: projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormDispatcherPlugin.java (from rev 5148, projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/TaskDispatcherPlugin.java)
===================================================================
--- projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormDispatcherPlugin.java	                        (rev 0)
+++ projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/FormDispatcherPlugin.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.server.plugin;
+
+import javax.activation.DataHandler;
+import java.net.URL;
+import java.util.Map;
+
+/**
+ * Render task UI's and process task completion.
+ *
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public interface FormDispatcherPlugin
+{
+  URL getDispatchUrl(FormAuthorityRef ref);
+  
+  DataHandler provideForm(FormAuthorityRef ref);
+
+  void processCompletion(
+      FormAuthorityRef ref, Map<String, Object> payload,
+      String performingUser, String outcome);
+}

Deleted: projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/TaskDispatcherPlugin.java
===================================================================
--- projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/TaskDispatcherPlugin.java	2009-06-29 14:55:15 UTC (rev 5157)
+++ projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/TaskDispatcherPlugin.java	2009-06-29 15:13:18 UTC (rev 5158)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.bpm.console.server.plugin;
-
-import javax.activation.DataHandler;
-import java.io.InputStream;
-import java.net.URL;
-
-/**
- * Render task UI's and process task completion.
- *
- * @author Heiko.Braun <heiko.braun at jboss.com>
- */
-public interface TaskDispatcherPlugin
-{
-  URL getDispatchUrl(long taskId);
-  
-  DataHandler provideTaskUI(long taskId);
-
-  void processCompletion(long taskId, String outcome, InputStream payload);
-}




More information about the jbpm-commits mailing list