[jbpm-commits] JBoss JBPM SVN: r4343 - in projects/gwt-console/trunk: plugin-api/src/main/java/org/jboss/bpm/console/client/model and 7 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Mar 27 12:11:26 EDT 2009


Author: heiko.braun at jboss.com
Date: 2009-03-27 12:11:26 -0400 (Fri, 27 Mar 2009)
New Revision: 4343

Added:
   projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ParticipantRef.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java
Removed:
   projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/forms/
   projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestDTOParser.java
Modified:
   projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
   projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
   projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskRef.java
   projects/gwt-console/trunk/server-integration/src/main/java/org/jboss/bpm/console/server/integration/TaskManagement.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java
   projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java
   projects/gwt-console/trunk/server/src/test/java/org/jboss/bpm/console/server/TaskManagementTest.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentCallback.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskEditor.java
   projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
   projects/gwt-console/trunk/war/src/main/resources/jmaki/xhp/xhp.json
Log:
JBPM-2126: Migrate console integration API to participation model

Modified: projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
===================================================================
--- projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -100,32 +100,36 @@
     return getConsoleServerUrl() + "/rs/process/definitions/new";
   }
 
-  public String getTaskListByActorURL(String actor)
+  public String getTaskListURL(String idRef)
   {
-    return getConsoleServerUrl() + "/rs/tasks/actor/" + URL.encode(actor);
+    return getConsoleServerUrl() + "/rs/tasks/" + URL.encode(idRef);
   }
 
-  public String getTaskFormDefURL(long processId, long taskId)
+  public String getParticipationTaskListURL(String idRef, String participation)
   {
-    return getConsoleServerUrl() + "/rs/tasks/forms/" + processId + "/" + taskId;
+    return getConsoleServerUrl() + "/rs/tasks/" + URL.encode(idRef) +"/participation/"+URL.encode(participation);
   }
 
-  public String getTaskEndURL(long id)
+  public String getTaskReleaseURL(long id)
   {
-    return getConsoleServerUrl() + "/rs/tasks/" + id + "/close/transition/default";
+    return getConsoleServerUrl() + "/rs/task/" + id + "/release";
   }
 
-  public String getTaskEndURL(long id, String signalName)
+  public String getTaskCompleteURL(long id)
   {
-    return getConsoleServerUrl() + "/rs/tasks/" + id + "/close/transition?signal=" + URL.encode(signalName);
+    return getConsoleServerUrl() + "/rs/task/" + id + "/close";
   }
 
-  public String getTaskAssignmentURL(long id, String actor)
+  public String getTaskCompleteURL(long id, String outcome)
   {
-    String actualActor = actor == null ? "" : "/" + actor;
-    return getConsoleServerUrl() + "/rs/tasks/" + id + "/assignment" + URL.encode(actualActor);
+    return getConsoleServerUrl() + "/rs/task/" + id + "/close/" + URL.encode(outcome);
   }
 
+  public String getTaskAssignURL(long id, String idRef)
+  {
+    return getConsoleServerUrl() + "/rs/task/" + id + "/assign/" + URL.encode(idRef);
+  }
+
   public String getExecutionSignalUrl(TokenReference tok)
   {
     return getConsoleServerUrl() + "/rs/process/tokens/" + adoptExecutionId(tok.getId()) + "/transition/default";

Modified: projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
===================================================================
--- projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -23,8 +23,6 @@
 
 import com.google.gwt.json.client.*;
 import org.jboss.bpm.console.client.util.ConsoleLog;
-import org.jboss.bpm.console.client.model.forms.FieldDef;
-import org.jboss.bpm.console.client.model.forms.FormDef;
 import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
 import org.jboss.bpm.console.client.util.JSONWalk;
 
@@ -99,44 +97,51 @@
   public static TaskRef parseTaskReference(JSONObject item)
   {
 
-    long id = JSONWalk.on(item).next("id").asLong();
-    long tokenId = JSONWalk.on(item).next("tokenId").asLong();
-    String instanceId = JSONWalk.on(item).next("processInstanceId").asString();
+    long id = JSONWalk.on(item).next("id").asLong();    
+    String executionId = JSONWalk.on(item).next("processInstanceId").asString();
     String processId = JSONWalk.on(item).next("processId").asString();
     String name = JSONWalk.on(item).next("name").asString();
-    String actor = JSONWalk.on(item).next("actor").asString();
+    String assignee = JSONWalk.on(item).next("assignee").asString();
     boolean isBlocking = JSONWalk.on(item).next("isBlocking").asBool();
     boolean isSignalling = JSONWalk.on(item).next("isSignalling").asBool();
 
     TaskRef ref = new TaskRef(
-        id, tokenId, instanceId,
+        id, executionId,
         processId,
-        name, actor,
+        name, assignee,
         isSignalling, isBlocking
     );
 
-    // pooled actors
-    JSONArray pooledActors = JSONWalk.on(item).next("pooledActors").asArray();
-    for (int k = 0; k < pooledActors.size(); ++k)
+    // participant users
+    JSONArray arrUsers = JSONWalk.on(item).next("participantUsers").asArray();
+    for (int k = 0; k < arrUsers.size(); ++k)
     {
-      JSONValue jsonValue = pooledActors.get(k);
-      JSONString t = jsonValue.isString();
-      ref.addPooledActor(t.stringValue());
+      JSONValue jsonValue = arrUsers.get(k);
+      ParticipantRef p = parseParticipant(jsonValue, k);
+      ref.getParticipantUsers().add(p);
     }
 
+    JSONArray arrGroups = JSONWalk.on(item).next("participantGroups").asArray();
+    for (int k = 0; k < arrGroups.size(); ++k)
+    {
+      JSONValue jsonValue = arrGroups.get(k);
+      ParticipantRef p = parseParticipant(jsonValue, k);
+      ref.getParticipantGroups().add(p);
+    }
+
     if (isSignalling)
     {
-      JSONArray arr = JSONWalk.on(item).next("transitionNames").asArray();
+      JSONArray arr = JSONWalk.on(item).next("outcomes").asArray();
       for (int k = 0; k < arr.size(); ++k)
       {
         JSONValue jsonValue = arr.get(k);
         if (jsonValue.toString().equals("null"))
         {
-          ConsoleLog.debug("FIXME JBPM-1828: Null value on transitionNames:" + arr.toString());
+          ConsoleLog.debug("FIXME JBPM-1828: Null value on outcomes:" + arr.toString());
           continue; // TODO: JBPM-1828
         }
         JSONString t = jsonValue.isString();
-        ref.getTransitionNames().add(t.stringValue());
+        ref.getOutcomes().add(t.stringValue());
       }
 
     }
@@ -144,55 +149,18 @@
     return ref;
   }
 
-  public static Map<String, String> parseFormMapping(String json)
+  private static ParticipantRef parseParticipant(JSONValue jsonValue, int k)
   {
-    //[{"name":"update erp","value":"form.raise.erp-update.xhtml"}]
+    String type = JSONWalk.on(jsonValue).next("type").asString();
+    String idRef = JSONWalk.on(jsonValue).next("idRef").asString();
+    ParticipantRef p = new ParticipantRef(type, idRef);
 
-    throw new RuntimeException("Not implemented");
-
+    boolean isGroup = JSONWalk.on(jsonValue).next("isGroup").asBool();
+    p.setGroup(isGroup);
+    
+    return p;
   }
 
-  public static FormDef parseFormDef(String json)
-  {
-    return parseFormDef(JSONParser.parse(json));
-  }
-
-  public static FormDef parseFormDef(JSONValue root)
-  {
-    // {"formName":"taskform-15",
-    // "fields":[
-    //    {"varname":"amount","label":"FirstName","required":true,"inputType":"TEXT",
-    //    "dataTypeClass":"java.lang.String","defaults":[]}
-    // ]}
-
-    String formName = JSONWalk.on(root).next("formName").asString();
-    FormDef formDef = new FormDef(formName);
-
-    JSONArray array = JSONWalk.on(root).next("fields").asArray();
-    for (int i = 0; i < array.size(); i++)
-    {
-      JSONObject item = array.get(i).isObject();
-
-      // fieldDefs
-      String label = JSONWalk.on(item).next("label").asString();
-      String varName = JSONWalk.on(item).next("varname").asString();
-      boolean required = JSONWalk.on(item).next("required").asBool();
-      FieldDef.InputType inputType = FieldDef.InputType.valueOf(
-          JSONWalk.on(item).next("inputType").asString()
-      );
-
-      String dataType = JSONWalk.on(item).next("dataTypeClass").asString();
-
-      // TODO: Parse defaults
-
-      formDef.getFields().add(
-          new FieldDef(label, varName, inputType, dataType, required)
-      );
-    }
-
-    return formDef;
-  }
-
   public static ProcessInstanceRef parseProcessInstance(JSONObject root)
   {
     ConsoleLog.debug("parse " + root);

Added: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ParticipantRef.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ParticipantRef.java	                        (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ParticipantRef.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -0,0 +1,72 @@
+/*
+ * 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.client.model;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class ParticipantRef
+{  
+  private String type;
+  private String idRef;
+  private boolean isGroup;
+
+  public ParticipantRef()
+  {
+  }
+
+  public ParticipantRef(String type, String idRef)
+  {
+    this.type = type;
+    this.idRef = idRef;
+  }
+
+  public String getType()
+  {
+    return type;
+  }
+
+  public void setType(String type)
+  {
+    this.type = type;
+  }
+
+  public String getIdRef()
+  {
+    return idRef;
+  }
+
+  public void setIdRef(String idRef)
+  {
+    this.idRef = idRef;
+  }
+
+  public boolean isGroup()
+  {
+    return isGroup;
+  }
+
+  public void setGroup(boolean group)
+  {
+    isGroup = group;
+  }
+}

Modified: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskRef.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskRef.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskRef.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -31,185 +31,163 @@
 @XmlRootElement(name = "taskReference")
 public class TaskRef
 {
-   private long id;
-   private long tokenId;
-   private String processInstanceId;
-   private String processId;
+  private long id;
+  private String processInstanceId;
+  private String processId;
 
-   private String name;
-   private String actor = "";
+  private String name;
+  private String assignee = "";
 
-   private boolean isBlocking;
-   private boolean isSignalling = true;
+  private boolean isBlocking;
+  private boolean isSignalling = true;
 
-   private List<String> transitionNames = new ArrayList<String>();
-   private List<String> pooledActors = new ArrayList<String>();
+  private List<String> outcomes = new ArrayList<String>();
 
-   public enum STATE {OPEN, ASSIGNED, CLOSED};
-   private STATE currentState;
+  public enum STATE {OPEN, ASSIGNED, CLOSED};
+  private STATE currentState;
 
-   public TaskRef()
-   {
-      initOrUpdateState();
-   }
+  private List<ParticipantRef> participantUsers = new ArrayList<ParticipantRef>();
+  private List<ParticipantRef> participantGroups = new ArrayList<ParticipantRef>();
+  
+  public TaskRef()
+  {
+    initOrUpdateState();
+  }
 
-   public TaskRef(
-         long taskId, long tokenId, String processInstanceId,
-         String processId,
-         String taskName, String actorName,
-         boolean blocking, boolean signalling
-   )
-   {
-      this.id = taskId;
-      this.tokenId = tokenId;
-      this.processInstanceId = processInstanceId;
-      this.processId = processId;
-      this.name = taskName;
-      setActor(actorName);
-      isBlocking = blocking;
-      isSignalling = signalling;
+  public TaskRef(
+      long taskId,
+      String processInstanceId, String processId,
+      String taskName, String assignee,
+      boolean blocking, boolean signalling
+  )
+  {
+    this.id = taskId;
+    this.processInstanceId = processInstanceId;
+    this.processId = processId;
+    this.name = taskName;
+    setAssignee(assignee);
+    isBlocking = blocking;
+    isSignalling = signalling;
 
-      initOrUpdateState();
-   }
+    initOrUpdateState();
+  }
 
-   public long getId()
-   {
-      return id;
-   }
+  public long getId()
+  {
+    return id;
+  }
 
-   public void setId(long id)
-   {
-      this.id = id;
-   }
+  public void setId(long id)
+  {
+    this.id = id;
+  }
 
-   public long getTokenId()
-   {
-      return tokenId;
-   }
+  public String getProcessInstanceId()
+  {
+    return processInstanceId;
+  }
 
-   public void setTokenId(long tokenId)
-   {
-      this.tokenId = tokenId;
-   }
+  public void setProcessInstanceId(String processInstanceId)
+  {
+    this.processInstanceId = processInstanceId;
+  }
 
-   public String getProcessInstanceId()
-   {
-      return processInstanceId;
-   }
+  public String getName()
+  {
+    return name;
+  }
 
-   public void setProcessInstanceId(String processInstanceId)
-   {
-      this.processInstanceId = processInstanceId;
-   }
+  public void setName(String name)
+  {
+    this.name = name;
+  }
 
-   public String getName()
-   {
-      return name;
-   }
+  public String getAssignee()
+  {
+    return assignee;
+  }
 
-   public void setName(String name)
-   {
-      this.name = name;
-   }
+  public void setAssignee(String assignee)
+  {
+    if(null== assignee)
+      assignee = "";
 
-   public String getActor()
-   {
-      return actor;
-   }
+    this.assignee = assignee;
+    initOrUpdateState();
+  }
 
-   public void setActor(String actor)
-   {
-      if(null==actor)
-         actor = "";
-      
-      this.actor = actor;
-      initOrUpdateState();
-   }
+  public boolean isBlocking()
+  {
+    return isBlocking;
+  }
 
-   public boolean isBlocking()
-   {
-      return isBlocking;
-   }
+  public void setBlocking(boolean blocking)
+  {
+    isBlocking = blocking;
+  }
 
-   public void setBlocking(boolean blocking)
-   {
-      isBlocking = blocking;
-   }
+  public boolean isSignalling()
+  {
+    return isSignalling;
+  }
 
-   public boolean isSignalling()
-   {
-      return isSignalling;
-   }
+  public void setSignalling(boolean signalling)
+  {
+    isSignalling = signalling;
+  }
 
-   public void setSignalling(boolean signalling)
-   {
-      isSignalling = signalling;
-   }
+  public List<String> getOutcomes()
+  {
+    return outcomes;
+  }
 
-   public List<String> getTransitionNames()
-   {
-      return transitionNames;
-   }
+  public void setProcessId(String processId)
+  {
+    this.processId = processId;
+  }
 
-   public void setProcessId(String processId)
-   {
-      this.processId = processId;
-   }
+  public List<ParticipantRef> getParticipantUsers()
+  {
+    return participantUsers;
+  }
 
-   public void setTransitionNames(List<String> transitionNames)
-   {
-      this.transitionNames = transitionNames;
-   }
+  public List<ParticipantRef> getParticipantGroups()
+  {
+    return participantGroups;
+  }
 
-   public void setPooledActors(List<String> pooledActors)
-   {
-      this.pooledActors = pooledActors;
-   }
+  private void initOrUpdateState()
+  {
+    if(assignee ==null || assignee.equals(""))
+    {
+      currentState = STATE.OPEN;
+    }
+    else
+    {
+      currentState = STATE.ASSIGNED;
+    }
+  }
 
-   public void addPooledActor(String actorId)
-   {
-      pooledActors.add(actorId);
+  public void close()
+  {
+    if(STATE.ASSIGNED != currentState)
+      throw new IllegalArgumentException("Cannot close task in state " + currentState);
 
-      initOrUpdateState();
-   }
+    currentState = STATE.CLOSED;
+  }
 
-   private void initOrUpdateState()
-   {
-      if(actor==null || actor.equals(""))
-      {
-         currentState = STATE.OPEN;
-      }
-      else
-      {
-         currentState = STATE.ASSIGNED;
-      }
-   }
+  public String getProcessId()
+  {
+    return processId;
+  }
 
-   public void close()
-   {
-      if(STATE.ASSIGNED != currentState)
-         throw new IllegalArgumentException("Cannot close task in state " + currentState);
+  public STATE getCurrentState()
+  {
+    return currentState;
+  }
 
-      currentState = STATE.CLOSED;
-   }
-
-   public String getProcessId()
-   {
-      return processId;
-   }
-
-   public STATE getCurrentState()
-   {
-      return currentState;
-   }
-
-   public String toString()
-   {
-      return "TaskRef{id:"+id+",state:"+currentState+"}";
-   }
-
-   public List<String> getPooledActors()
-   {
-      return pooledActors;
-   }
+  public String toString()
+  {
+    return "TaskRef{id:"+id+",state:"+currentState+"}";
+  }
 }

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/ConsoleServerApplication.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -27,31 +27,32 @@
 
 /**
  * JAX-RS core component.
- * 
+ *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public class ConsoleServerApplication extends Application
 {
-   HashSet<Object> singletons = new HashSet<Object>();
+  HashSet<Object> singletons = new HashSet<Object>();
 
-   public ConsoleServerApplication()
-   {
-      singletons.add(new ProcessMgmtFacade());
-      singletons.add(new TaskMgmtFacade());
-      singletons.add(new UserMgmtFacade());      
-      singletons.add(new TestFacade());      
-   }
+  public ConsoleServerApplication()
+  {
+    singletons.add(new ProcessMgmtFacade());
+    singletons.add(new TaskListFacade());
+    singletons.add(new TaskMgmtFacade());
+    singletons.add(new UserMgmtFacade());
+    singletons.add(new TestFacade());
+  }
 
-   @Override
-   public Set<Class<?>> getClasses()
-   {
-      HashSet<Class<?>> set = new HashSet<Class<?>>();
-      return set;
-   }
+  @Override
+  public Set<Class<?>> getClasses()
+  {
+    HashSet<Class<?>> set = new HashSet<Class<?>>();
+    return set;
+  }
 
-   @Override
-   public Set<Object> getSingletons()
-   {
-      return singletons;
-   }
+  @Override
+  public Set<Object> getSingletons()
+  {
+    return singletons;
+  }
 }

Added: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java	                        (rev 0)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskListFacade.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -0,0 +1,96 @@
+/*
+ * 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 com.google.gson.Gson;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.console.client.model.TaskRefWrapper;
+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 javax.ws.rs.*;
+import javax.ws.rs.core.Response;
+
+/**
+ * REST server module for accessing task related data.
+ *
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+ at Path("tasks")
+public class TaskListFacade
+{
+  private static final Log log = LogFactory.getLog(TaskMgmtFacade.class);
+
+  private TaskManagement taskManagement;
+
+  /**
+   * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
+   */
+  private TaskManagement getTaskManagement()
+  {
+    if(null==this.taskManagement)
+    {
+      ManagementFactory factory = ManagementFactory.newInstance();
+      this.taskManagement = factory.createTaskManagement();
+      log.debug("Using ManagementFactory impl:" + factory.getClass().getName());
+    }
+
+    return this.taskManagement;
+  }
+
+  @GET
+  @Path("{idRef}")
+  @Produces("application/json")
+  public Response getTasksForIdRef(
+      @PathParam("idRef")
+      String idRef
+  )
+  {
+    TaskRefWrapper wrapper =
+        new TaskRefWrapper(getTaskManagement().getTasksForIdentity(idRef));
+    return createJsonResponse(wrapper);
+  }
+
+  @GET
+  @Path("{idRef}/participation/{type}")
+  @Produces("application/json")
+  public Response getTasksForIdRefAndParticipation(
+      @PathParam("idRef")
+      String idRef,
+      @PathParam("type")
+      String participationType
+  )
+  {
+    TaskRefWrapper wrapper =
+        new TaskRefWrapper(getTaskManagement().getTasksForIdentity(idRef, participationType));
+    return createJsonResponse(wrapper);
+  }
+
+  private Response createJsonResponse(Object wrapper)
+  {
+    Gson gson = GsonFactory.createInstance();
+    String json = gson.toJson(wrapper);
+    return Response.ok(json).type("application/json").build();
+  }
+}

Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskMgmtFacade.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -37,99 +37,88 @@
  *
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
- at Path("tasks")
+ at Path("task")
 public class TaskMgmtFacade
 {
-   private static final Log log = LogFactory.getLog(TaskMgmtFacade.class);
+  private static final Log log = LogFactory.getLog(TaskMgmtFacade.class);
 
-   private TaskManagement taskManagement;
+  private TaskManagement taskManagement;
 
-   /**
-    * Lazy load the {@link org.jboss.bpm.console.server.integration.ProcessManagement}
-    */
-   private TaskManagement getTaskManagement()
-   {
-      if(null==this.taskManagement)
-      {
-         ManagementFactory factory = ManagementFactory.newInstance();
-         this.taskManagement = factory.createTaskManagement();
-         log.debug("Using ManagementFactory impl:" + factory.getClass().getName());
-      }
+  /**
+   * Lazy load the {@link org.jboss.bpm.console.server.integration.TaskManagement}
+   */
+  private TaskManagement getTaskManagement()
+  {
+    if(null==this.taskManagement)
+    {
+      ManagementFactory factory = ManagementFactory.newInstance();
+      this.taskManagement = factory.createTaskManagement();
+      log.debug("Using ManagementFactory impl:" + factory.getClass().getName());
+    }
 
-      return this.taskManagement;
-   }
+    return this.taskManagement;
+  }
 
-   @GET
-   @Path("actor/{actorName}")
-   @Produces("application/json")
-   public Response getTasksForActor(
-         @PathParam("actorName")
-         String actorName
-   )
-   {
-      TaskRefWrapper wrapper =
-            new TaskRefWrapper(getTaskManagement().getTasksByActor(actorName));
-      return createJsonResponse(wrapper);
-   }
+  @POST
+  @Path("{taskId}/assign/{ifRef}")
+  @Produces("application/json")
+  public Response assignTask(
+      @PathParam("taskId")
+      long taskId,
+      @PathParam("ifRef")
+      String idRef
+  )
+  {
+    log.debug("Assign task " + taskId + " to '" + idRef +"'");
+    getTaskManagement().assignTask(taskId, idRef);
+    return Response.ok().build();
+  }
 
-   @POST
-   @Path("{taskId}/assignment/{actorId}")
-   @Produces("application/json")
-   public Response assignTask(
-         @PathParam("taskId")
-         long taskId,
-         @PathParam("actorId")
-         String actorId
-   )
-   {
-      log.debug("Reassign task " + taskId + " to '" + actorId +"'");
-      getTaskManagement().reassignTask(taskId, actorId);
-      return Response.ok().build();
-   }
+  @POST
+  @Path("{taskId}/release")
+  @Produces("application/json")
+  public Response releaseTask(
+      @PathParam("taskId")
+      long taskId
+  )
+  {
+    log.debug("Release task " + taskId);
+    getTaskManagement().assignTask(taskId, null);
+    return Response.ok().build();
+  }
 
-   @POST
-   @Path("{taskId}/assignment")
-   @Produces("application/json")
-   public Response releaseTask(
-         @PathParam("taskId")
-         long taskId       
-   )
-   {
-      log.debug("Release task " + taskId);
-      getTaskManagement().reassignTask(taskId, null);
-      return Response.ok().build();
-   }
+  @POST
+  @Path("{taskId}/close")
+  @Produces("application/json")
+  public Response closeTask(
+      @PathParam("taskId")
+      long taskId
+  )
+  {
+    log.debug("Close task " + taskId );
+    getTaskManagement().completeTask(taskId);
+    return Response.ok().build();
+  }
 
-   @POST
-   @Path("{taskId}/close/transition/default")
-   @Produces("application/json")
-   public Response closeTask(
-         @PathParam("taskId")
-         long taskId
-   )
-   {
-      return closeTaskWithSignal(taskId, null);
-   }
+  @POST
+  @Path("{taskId}/close/{outcome}")
+  @Produces("application/json")
+  public Response closeTaskWithSignal(
+      @PathParam("taskId")
+      long taskId,
+      @QueryParam("outcome")
+      String outcome
+  )
+  {
+    log.debug("Close task " + taskId + " outcome " + outcome);
+    getTaskManagement().completeTask(taskId, outcome);
+    return Response.ok().build();
+  }
 
-   @POST
-   @Path("{taskId}/close/transition")
-   @Produces("application/json")
-   public Response closeTaskWithSignal(
-         @PathParam("taskId")
-         long taskId,
-         @QueryParam("signal")
-         String signalName
-   )
-   {
-      log.debug("Close task " + taskId);
-      getTaskManagement().closeTask(taskId, signalName);
-      return Response.ok().build();
-   }
-
-   private Response createJsonResponse(Object wrapper)
-   {
-      Gson gson = GsonFactory.createInstance();
-      String json = gson.toJson(wrapper);
-      return Response.ok(json).type("application/json").build();
-   }
+  private Response createJsonResponse(Object wrapper)
+  {
+    Gson gson = GsonFactory.createInstance();
+    String json = gson.toJson(wrapper);
+    return Response.ok(json).type("application/json").build();
+  }
 }

Modified: projects/gwt-console/trunk/server/src/test/java/org/jboss/bpm/console/server/TaskManagementTest.java
===================================================================
--- projects/gwt-console/trunk/server/src/test/java/org/jboss/bpm/console/server/TaskManagementTest.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/server/src/test/java/org/jboss/bpm/console/server/TaskManagementTest.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -70,7 +70,7 @@
       }
 
       assertNotNull(match);
-      List<String> transitions = match.getTransitionNames();
+      List<String> transitions = match.getOutcomes();
       assertFalse(transitions.isEmpty());
       assertTrue(transitions.size()==1);
       assertEquals("to_end", transitions.get(0));

Modified: projects/gwt-console/trunk/server-integration/src/main/java/org/jboss/bpm/console/server/integration/TaskManagement.java
===================================================================
--- projects/gwt-console/trunk/server-integration/src/main/java/org/jboss/bpm/console/server/integration/TaskManagement.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/server-integration/src/main/java/org/jboss/bpm/console/server/integration/TaskManagement.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -29,12 +29,18 @@
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 public interface TaskManagement
-{
-   List<TaskRef> getTasksByActor(String actorName);
+{  
+  TaskRef getTaskById(long taskId);
 
-   TaskRef getTaskById(long taskId);
+  void assignTask(long taskId, String idRef);
 
-   void reassignTask(long taskId, String actorId);
-   
-   void closeTask(long taskId, String signalName);
+  void releaseTask(long taskId);
+
+  void completeTask(long taskId);
+
+  void completeTask(long taskId, String outcome);
+
+  List<TaskRef> getTasksForIdentity(String idRef);
+
+  List<TaskRef> getTasksForIdentity(String idRef, String participationType);
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentCallback.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentCallback.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentCallback.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -29,4 +29,6 @@
   void onAssignmentDone();
 
   void onTaskEnd();
+
+  void onReleaseDone(); 
 }

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/AssignmentFormPanel.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -21,25 +21,27 @@
  */
 package org.jboss.bpm.console.client.task;
 
-import org.jboss.bpm.console.client.util.ConsoleLog;
-import org.jboss.bpm.console.client.util.ModelListenerRegistry;
 import com.google.gwt.http.client.*;
-import com.google.gwt.json.client.JSONParser;
-import com.google.gwt.json.client.JSONValue;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.data.Record;
-import com.gwtext.client.widgets.*;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.Container;
+import com.gwtext.client.widgets.MessageBox;
+import com.gwtext.client.widgets.Panel;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.event.PanelListenerAdapter;
 import com.gwtext.client.widgets.form.Form;
 import com.gwtext.client.widgets.form.FormPanel;
 import org.jboss.bpm.console.client.ApplicationContext;
-import org.jboss.bpm.console.client.model.DTOParser;
+import org.jboss.bpm.console.client.model.ParticipantRef;
 import org.jboss.bpm.console.client.model.TaskRef;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.util.ModelChangeListener;
+import org.jboss.bpm.console.client.util.ModelListenerRegistry;
 import org.jboss.bpm.console.client.widgets.FormWidgets;
-import org.jboss.bpm.console.client.util.ModelChangeListener;
 import org.jboss.bpm.console.client.widgets.RefreshableComboBox;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -54,7 +56,7 @@
   private ApplicationContext mainView;
   private AssignmentCallback callback;
 
-  private List<String> availableActors;
+  private List<ParticipantRef> availableAssignees;
   private TaskRef selectedInstance;
 
   public AssignmentFormPanel(ApplicationContext mainView, AssignmentCallback callback)
@@ -63,15 +65,15 @@
     this.mainView = mainView;
     this.callback = callback;
 
-    setTitle("Reassign Task");
+    setTitle("Assign User");
     setBorder(false);
     setFrame(false);
-    setIconCls("bpm-tools-icon");
+    setIconCls("bpm-tools-icon");    
 
     // ---------------
 
     formPanel = FormWidgets.createBaseFormPanel();
-    RefreshableComboBox cb = new RefreshableComboBox("actorId", "Actor");
+    RefreshableComboBox cb = new RefreshableComboBox("assignee", "Assignee");
     formPanel.add(cb);
 
     final Button assignBtn = new Button("Delegate",
@@ -81,12 +83,12 @@
           public void onClick(Button button, EventObject eventObject)
           {
             Form form = formPanel.getForm();
-            RefreshableComboBox cb = (RefreshableComboBox) form.findField("actorId");
+            RefreshableComboBox cb = (RefreshableComboBox) form.findField("assignee");
             String rawValue = cb.getRawValue();
 
             if (null == rawValue || rawValue.equals(""))
             {
-              MessageBox.alert("Please select an actor.");
+              MessageBox.alert("Please select an assignee.");
               return;
             }
 
@@ -118,20 +120,14 @@
   public void onModelChange(ModelListenerRegistry parent, Object changeEvent)
   {
     selectedInstance = (TaskRef) changeEvent;
-    availableActors = null;
+    availableAssignees = null;
 
-    boolean hasPooledActors = selectedInstance.getPooledActors().size() > 0;
-    if (hasPooledActors)
+    boolean hasParticipants = selectedInstance.getParticipantGroups().size() > 0;
+    if (hasParticipants)
     {
-      // has pooled actors -> can be asigned to pooled actors only
-      availableActors = selectedInstance.getPooledActors();
-    }
-    else if (!hasPooledActors &&
-        TaskRef.STATE.ASSIGNED == selectedInstance.getCurrentState())
-    {
-      // no pooled actors but an assigned actor
-      loadActors();
-    }
+      // has pooled actors -> can be assigned to pooled actors only
+      availableAssignees = selectedInstance.getParticipantGroups();
+    }   
     else
     {
       // no pooled actors and no assignee
@@ -149,6 +145,8 @@
     // ignore
   }
 
+  /*
+  TODO: What's this?
   private void loadActors()
   {
     String url = mainView.getUrlBuilder().getAvailableActorsUrl(mainView.getAuthentication().getUsername());
@@ -181,25 +179,35 @@
     {
       ConsoleLog.error("Request failed", e1);
     }
-  }
+  } */
 
   private void refreshComboBox()
   {
-    if (null == availableActors)
+    if (null == availableAssignees)
       throw new IllegalArgumentException("available actors cannot be null");
 
     if (isRendered())
     {
       Form form = formPanel.getForm();
       RefreshableComboBox cb = (RefreshableComboBox) form.findField("actorId");
-      cb.display(availableActors);
+
+      List<String> items = new ArrayList<String>(availableAssignees.size());
+      for(int i=0; i< availableAssignees.size(); i++)
+      {
+        ParticipantRef participantRef = availableAssignees.get(i);
+        // TODO: only users are assignable, otherwise we need to fetch all user for each group
+        if(participantRef.isGroup() == false)
+          items.add(participantRef.getIdRef());
+      }
+      
+      cb.display(items);
     }
   }
 
   private void reassignTask(long taskId, String actor)
   {
     RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
-        mainView.getUrlBuilder().getTaskAssignmentURL(taskId, actor)
+        mainView.getUrlBuilder().getTaskAssignURL(taskId, actor)
     );
 
     try

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskDetailsFormPanel.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -80,7 +80,7 @@
     nameField.setReadOnly(true);
     formPanel.add(nameField);
 
-    TextField actorField = new TextField("Actor", "actor", 230);
+    TextField actorField = new TextField("Assignee", "assignee", 230);
     actorField.setReadOnly(true);
     formPanel.add(actorField);
 
@@ -89,7 +89,7 @@
     formPanel.add(stateField);
 
     // ----------
-    RefreshableComboBox cb = new RefreshableComboBox("signal", "Signal");
+    RefreshableComboBox cb = new RefreshableComboBox("outcome", "Outcome");
     formPanel.add(cb);
 
     startBtn = new Button("Claim",
@@ -103,8 +103,8 @@
               MessageBox.alert("Please select a task.");
               return;
             }
-            selectedInstance.setActor(mainView.getAuthentication().getUsername());
-            reassignTask();
+            selectedInstance.setAssignee(mainView.getAuthentication().getUsername());
+            assignTask();
           }
         }
     );
@@ -120,8 +120,8 @@
               MessageBox.alert("Please select a task.");
               return;
             }
-            selectedInstance.setActor(null);
-            reassignTask();
+            selectedInstance.setAssignee(null);
+            releaseTask();
           }
         }
     );
@@ -140,10 +140,10 @@
 
             selectedInstance.close();
 
-            ComboBox cb = (ComboBox) formPanel.getForm().findField("signal");
+            ComboBox cb = (ComboBox) formPanel.getForm().findField("outcome");
             String signalName = cb.getRawValue();
             if (signalName.equals(""))
-              MessageBox.alert("Please select a signal to end this task");
+              MessageBox.alert("Please select an outcome to end this task");
             else
               endTask(signalName);
           }
@@ -157,11 +157,11 @@
     this.add(formPanel);
   }
 
-  private void reassignTask()
+  private void assignTask()
   {
     RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
-        mainView.getUrlBuilder().getTaskAssignmentURL(
-            selectedInstance.getId(), selectedInstance.getActor()
+        mainView.getUrlBuilder().getTaskAssignURL(
+            selectedInstance.getId(), selectedInstance.getAssignee()
         )
     );
 
@@ -174,7 +174,7 @@
             public void onResponseReceived(Request request, Response response)
             {
               if (200 != response.getStatusCode())
-                ConsoleLog.error("Failed to reassign task: " + response.getStatusText());
+                ConsoleLog.error("Failed to assign task: " + response.getStatusText());
 
               selectedInstance = null;
               callback.onAssignmentDone();
@@ -193,11 +193,46 @@
     }
   }
 
-  private void endTask(String signalName)
+  private void releaseTask()
+    {
+      RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
+          mainView.getUrlBuilder().getTaskReleaseURL(selectedInstance.getId())
+      );
+
+      try
+      {
+        rb.sendRequest("",
+            new RequestCallback()
+            {
+
+              public void onResponseReceived(Request request, Response response)
+              {
+                if (200 != response.getStatusCode())
+                  ConsoleLog.error("Failed to release task: " + response.getStatusText());
+
+                selectedInstance = null;
+                callback.onReleaseDone();
+              }
+
+              public void onError(Request request, Throwable t)
+              {
+                // Unknown error
+                ConsoleLog.error("Unknown error", t);
+              }
+            });
+      }
+      catch (RequestException e1)
+      {
+        ConsoleLog.error("Request failed", e1);
+      }
+    }
+
+
+  private void endTask(String outcome)
   {
-    String taskCloseURL = signalName.equals(UIConstants.DEFAULT_TRANSITION) ?
-        mainView.getUrlBuilder().getTaskEndURL(selectedInstance.getId()) :
-        mainView.getUrlBuilder().getTaskEndURL(selectedInstance.getId(), signalName);
+    String taskCloseURL = outcome.equals(UIConstants.DEFAULT_TRANSITION) ?
+        mainView.getUrlBuilder().getTaskCompleteURL(selectedInstance.getId()) :
+        mainView.getUrlBuilder().getTaskCompleteURL(selectedInstance.getId(), outcome);
 
     RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, taskCloseURL);
 
@@ -235,9 +270,9 @@
     selectedInstance = TaskList.transform(changeEvent);
 
     Form form = formPanel.getForm();
-    RefreshableComboBox cb = (RefreshableComboBox) form.findField("signal");
+    RefreshableComboBox cb = (RefreshableComboBox) form.findField("outcome");
 
-    if (selectedInstance.getPooledActors().isEmpty())
+    if (selectedInstance.getParticipantGroups().isEmpty())
     {
       // no group assignment available
       startBtn.disable();
@@ -258,7 +293,7 @@
       endBtn.disable();
     }
 
-    cb.display(selectedInstance.getTransitionNames());
+    cb.display(selectedInstance.getOutcomes());
 
     formPanel.getForm().loadRecord(changeEvent);
     formPanel.doLayout();

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskEditor.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskEditor.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -182,6 +182,11 @@
     resetEditor();
   }
 
+  public void onReleaseDone()
+  {
+    resetEditor();
+  }
+
   class TaskTree extends TreePanel
   {
 

Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -70,7 +70,7 @@
       this.setFrame(false);
       this.setIconCls("bpm-task-icon");
 
-      String resourceUrl = appContext.getUrlBuilder().getTaskListByActorURL(appContext.getAuthentication().getUsername());
+      String resourceUrl = appContext.getUrlBuilder().getTaskListURL(appContext.getAuthentication().getUsername());
       DataProxy dataProxy = new ScriptTagProxy(resourceUrl, 1000*10);
 
       final Reader reader = createReader();
@@ -132,7 +132,7 @@
                   {
                         new ColumnConfig("ID", "id", 35, true),
                         new ColumnConfig("Task Name", "name", 290, true, null, "expand"),
-                        new ColumnConfig("Assigned to", "actor", 75, true),
+                        new ColumnConfig("Assigned to", "assignee", 75, true),
                         new ColumnConfig("State", "currentState", 50, true)
                   }
       );
@@ -145,7 +145,7 @@
             new FieldDef[]{
                   new IntegerFieldDef("id"),
                   new StringFieldDef("name"),
-                  new StringFieldDef("actor"),
+                  new StringFieldDef("assignee"),
                   new StringFieldDef("currentState")
             }
       );

Modified: projects/gwt-console/trunk/war/src/main/resources/jmaki/xhp/xhp.json
===================================================================
--- projects/gwt-console/trunk/war/src/main/resources/jmaki/xhp/xhp.json	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/main/resources/jmaki/xhp/xhp.json	2009-03-27 16:11:26 UTC (rev 4343)
@@ -4,8 +4,8 @@
         {"id": "default",
          "url":"http://localhost:8080/gwt-console-server",
          "passthrough":true,
-         "username":"admin",
-         "password":"admin"
+         "username":"peter",
+         "password":"password"
         },
         {"id": "birt",
          "url":"http://localhost:8080/report",

Deleted: projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestDTOParser.java
===================================================================
--- projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestDTOParser.java	2009-03-27 13:19:48 UTC (rev 4342)
+++ projects/gwt-console/trunk/war/src/test/java/org/jboss/bpm/console/client/GwtTestDTOParser.java	2009-03-27 16:11:26 UTC (rev 4343)
@@ -1,80 +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.client;
-
-import com.google.gwt.junit.client.GWTTestCase;
-import org.jboss.bpm.console.client.model.DTOParser;
-import org.jboss.bpm.console.client.model.TaskRef;
-import org.jboss.bpm.console.client.model.forms.FormDef;
-
-import java.util.List;
-
-
-public class GwtTestDTOParser extends GWTTestCase {
-
-   public String getModuleName() {
-      return "org.jboss.bpm.console.Application";
-   }
-
-   public void testRolesAssgnedParsing()
-   {
-      // {"roles":[{"isAssigned":true,"role":"admin"},{"isAssigned":true,"role":"user"}]}
-
-      String json = "{\"roles\":[{\"isAssigned\":true,\"role\":\"admin\"},{\"isAssigned\":true,\"role\":\"user\"}]}";
-      List<String> roles = DTOParser.parseRolesAssigned(json);
-      assertTrue(roles.size() == 2);
-   }
-
-   public void testTaskRefParsing()
-   {    
-      String json = "{\"tasks\":[{\"id\":14,\"tokenId\":6,\"processInstanceId\":4,\"id\":2,\"name\":\"manager evaluation\",\"actor\":\"manager\",\"isBlocking\":false,\"isSignalling\":true,\"transitionNames\":[\"reject\",\"approve\"],\"pooledActors\":[\"hr\",\"sales\"]}]}";
-      List<TaskRef> result = DTOParser.parseTaskReferenceList(json);
-      assertTrue("Failed to parse TaskReferenceList", result.size()==1);
-      assertTrue("Failed to parse transitionNames", result.get(0).getTransitionNames().size()==2);
-      assertFalse("Failed to parse pooledActors", result.get(0).getPooledActors().isEmpty());
-
-   }
-
-   public void testForDefParsing()
-   {
-      // {"formName":"taskform-15","fields":[{"varname":"amount","required":true,"inputType":"TEXT","dataTypeClass":"java.lang.String","defaults":[]},{"varname":"reason","required":true,"inputType":"TEXTAREA","dataTypeClass":"java.lang.String","defaults":[]}]}
-
-      String json = "{\"formName\":\"taskform-14\",\"fields\":[{\"label\":\"Amount:\",\"varname\":\"amount\",\"required\":true,\"inputType\":\"TEXT\",\"dataTypeClass\":\"java.lang.String\",\"defaults\":[]}]}";
-
-      /*
-      TODO: clean source code imports into GWT
-
-      FormDef form = new FormDef("myform-14");
-      form.getFields().add( new FieldDef(
-            "FirstName", "firstname",
-            FieldDef.InputType.TEXT, String.class.getName(),
-            true
-      ) );
-
-      String json = getGSONParser().toJson(form);
-      System.out.println("!!! " + json);
-      */
-
-      FormDef formDef = DTOParser.parseFormDef(json);
-      System.out.println(formDef.getFields());
-   }
-}




More information about the jbpm-commits mailing list