[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