JBoss JBPM SVN: r2884 - projects/gwt-console/trunk/server/src/main/webapp.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-11 09:58:10 -0500 (Tue, 11 Nov 2008)
New Revision: 2884
Modified:
projects/gwt-console/trunk/server/src/main/webapp/index.html
Log:
Update server docs to reflect new task management resources
Modified: projects/gwt-console/trunk/server/src/main/webapp/index.html
===================================================================
--- projects/gwt-console/trunk/server/src/main/webapp/index.html 2008-11-11 14:53:29 UTC (rev 2883)
+++ projects/gwt-console/trunk/server/src/main/webapp/index.html 2008-11-11 14:58:10 UTC (rev 2884)
@@ -6,94 +6,112 @@
<h2>Published REST Url's </h2>
<table border=1 cellpadding=5>
- <tr>
- <th>Method</th>
- <th>Context</th>
- <th>Description</th>
- <th>Mime Types</th>
- </tr>
+<tr>
+ <th>Method</th>
+ <th>Context</th>
+ <th>Description</th>
+ <th>Mime Types</th>
+</tr>
- <tr>
- <td colspan=4><h3>Process Management</h3></td>
- </tr>
+<tr>
+ <td colspan=4><h3>Process Management</h3></td>
+</tr>
- <tr>
- <td>GET</td>
- <td><a href="/gwt-console-server/rs/process/definitions">/rs/process/definitions</a></td>
- <td>A list of process definitions</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td><a href="/gwt-console-server/rs/process/definitions">/rs/process/definitions</a></td>
+ <td>A list of process definitions</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td>POST</td>
- <td>/rs/process/definitions/{processId}/remove</td>
- <td>Removes a particular process definition</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>POST</td>
+ <td>/rs/process/definitions/{processId}/remove</td>
+ <td>Removes a particular process definition</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td>GET</td>
- <td><a href="/gwt-console-server/rs/process/definitions/1/instances">/rs/process/definitions/{id}/instances</a></td>
- <td>A list of process instances for a given process definition</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td><a href="/gwt-console-server/rs/process/definitions/1/instances">/rs/process/definitions/{id}/instances</a></td>
+ <td>A list of process instances for a given process definition</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td>POST</td>
- <td>/rs/process/instances/{id}/state/{next}</td>
- <td>Change instance state (RUNNING, SUSPENDED, ENDED)</td>
- <td>*/*</td>
- </tr>
+<tr>
+ <td>POST</td>
+ <td>/rs/process/instances/{id}/state/{next}</td>
+ <td>Change instance state (RUNNING, SUSPENDED, ENDED)</td>
+ <td>*/*</td>
+</tr>
- <tr>
- <td>POST</td>
- <td>/rs/process/definitions/{processId}/instances/new</td>
- <td>Create a new process instance</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>POST</td>
+ <td>/rs/process/definitions/{processId}/instances/new</td>
+ <td>Create a new process instance</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td colspan=4><h3>User Management</h3></td>
- </tr>
+<tr>
+ <td colspan=4><h3>User Management</h3></td>
+</tr>
- <tr>
- <td>GET</td>
- <td><a href="/gwt-console-server/rs/user/roles?roleCheck=admin,user">/rs/user/roles?roleCheck=a,b,c</a></td>
- <td>A list of assigned roles matching the query parameter (Comma seperated list)</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td><a href="/gwt-console-server/rs/user/roles?roleCheck=admin,user">/rs/user/roles?roleCheck=a,b,c</a></td>
+ <td>A list of assigned roles matching the query parameter (Comma seperated list)</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td colspan=4><h3>jBPM3 proprietary extensions</h3></td>
- </tr>
+<tr>
+ <td colspan=4><h3>Task Management</h3></td>
+</tr>
- <tr>
- <td>GET</td>
- <td><a href="/gwt-console-server/rs/jbpm3/definitions/1/image">/rs/jbpm3/definitions/{processId}/image</a></td>
- <td>Retrieve a process definition image (GPD), if deployed</td>
- <td>image/jpeg</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td>/rs/tasks/actor/{actorId}</td>
+ <td>A list of available tasks (OPEN and IN_PROGRESS) for an actor</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td>GET</td>
- <td>/rs/jbpm3/definitions/{processId}/diagramInfo</td>
- <td>Retrieve a process definition coordinates (GPD)</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td>/rs/tasks/{taskId}/assignment/{actorId}</td>
+ <td>Assign a task to an actor actor. If you leave out the actorId it will release (IN_PROGRESS->OPEN) the task</td>
+ <td>application/json</td>
+</tr>
- <tr>
- <td>GET</td>
- <td>/rs/jbpm3/instances/{instanceId}/activeNodeInfo</td>
- <td>Retrieve a process definition coordinates (GPD) of the active node</td>
- <td>application/json</td>
- </tr>
+<tr>
+ <td colspan=4><h3>jBPM3 proprietary extensions</h3></td>
+</tr>
- <tr>
- <td>POST</td>
- <td>/rs/jbpm3/definitions/new</td>
- <td>Upload a new process definition</td>
- <td>Accept:multipart/form-data<br>Produce:application/json</td>
- </tr>
+<tr>
+ <td>GET</td>
+ <td><a href="/gwt-console-server/rs/jbpm3/definitions/1/image">/rs/jbpm3/definitions/{processId}/image</a></td>
+ <td>Retrieve a process definition image (GPD), if deployed</td>
+ <td>image/jpeg</td>
+</tr>
+
+<tr>
+ <td>GET</td>
+ <td>/rs/jbpm3/definitions/{processId}/diagramInfo</td>
+ <td>Retrieve a process definition coordinates (GPD)</td>
+ <td>application/json</td>
+</tr>
+
+<tr>
+ <td>GET</td>
+ <td>/rs/jbpm3/instances/{instanceId}/activeNodeInfo</td>
+ <td>Retrieve a process definition coordinates (GPD) of the active node</td>
+ <td>application/json</td>
+</tr>
+
+<tr>
+ <td>POST</td>
+ <td>/rs/jbpm3/definitions/new</td>
+ <td>Upload a new process definition</td>
+ <td>Accept:multipart/form-data<br>Produce:application/json</td>
+</tr>
</table>
<h2>Example usage</h2>
17 years, 5 months
JBoss JBPM SVN: r2883 - jbpm3/trunk/modules/core/src/main/java/org/jbpm/command.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-11 09:53:29 -0500 (Tue, 11 Nov 2008)
New Revision: 2883
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java
jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java
Log:
Update task commands to support simplifieed console management lifecycle
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java 2008-11-11 14:34:01 UTC (rev 2882)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java 2008-11-11 14:53:29 UTC (rev 2883)
@@ -28,8 +28,8 @@
public Object execute(JbpmContext jbpmContext) throws Exception {
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.setActorId(null);
- ti.setStart(null);
- return null;
+ ti.setStart(null);
+ return null;
}
public long getTaskInstanceId() {
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java 2008-11-11 14:34:01 UTC (rev 2882)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java 2008-11-11 14:53:29 UTC (rev 2883)
@@ -1,6 +1,10 @@
package org.jbpm.command;
import org.jbpm.JbpmContext;
+import org.jbpm.db.JbpmSchema;
+import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The current authorizes actor starts to work on the TaskInstance
@@ -12,11 +16,15 @@
private static final long serialVersionUID = 53004484398726736L;
- private long taskInstanceId;
+ private static final Log log = LogFactory.getLog(StartWorkOnTaskCommand.class);
+
+ private long taskInstanceId;
private boolean overwriteSwimlane = false;
- public StartWorkOnTaskCommand(long taskInstanceId, boolean overwriteSwimlane) {
+ private String actorId;
+
+ public StartWorkOnTaskCommand(long taskInstanceId, boolean overwriteSwimlane) {
this.taskInstanceId = taskInstanceId;
this.overwriteSwimlane = overwriteSwimlane;
}
@@ -25,8 +33,19 @@
}
public Object execute(JbpmContext jbpmContext) throws Exception {
- jbpmContext.getTaskInstance(taskInstanceId).start(jbpmContext.getActorId(), overwriteSwimlane);
- return null;
+ String actor = this.actorId==null ? jbpmContext.getActorId() : this.actorId;
+ TaskInstance taskInstance = jbpmContext.getTaskInstance(taskInstanceId);
+
+
+ if(taskInstance.getStart()!=null)
+ {
+ log.warn("Force stop on task " + taskInstance.getId() + ". Will be restarted.");
+ taskInstance.setStart(null); // strange, but means isNotStarted()
+ }
+
+ taskInstance.start(actor, overwriteSwimlane);
+
+ return null;
}
public boolean isOverwriteSwimlane() {
@@ -45,4 +64,13 @@
this.taskInstanceId = taskInstanceId;
}
+ public void setActorId(String actorId)
+ {
+ this.actorId = actorId;
+ }
+
+ public String getActorId()
+ {
+ return actorId;
+ }
}
17 years, 5 months
JBoss JBPM SVN: r2882 - in projects/gwt-console/trunk: rpc/src/main/java/org/jboss/bpm/console/client/model and 11 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-11 09:34:01 -0500 (Tue, 11 Nov 2008)
New Revision: 2882
Added:
projects/gwt-console/trunk/war/src/test/examples/
projects/gwt-console/trunk/war/src/test/examples/TaskAssignmentExample.par
Modified:
projects/gwt-console/trunk/pom.xml
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskReference.java
projects/gwt-console/trunk/server/gwt-server.iml
projects/gwt-console/trunk/server/pom.xml
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskManagement.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/TaskDAO.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3CommandDelegate.java
projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3TaskDAO.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
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/TaskListEditor.java
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java
Log:
Task assigment and simplified lifecycle done
Modified: projects/gwt-console/trunk/pom.xml
===================================================================
--- projects/gwt-console/trunk/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/pom.xml 2008-11-11 14:34:01 UTC (rev 2882)
@@ -26,7 +26,7 @@
<gson.version>1.2.2</gson.version>
<commons.fileupload.version>1.2.1</commons.fileupload.version>
<commons.io.version>1.3.2</commons.io.version>
- <jbpm.version>3.3.0-SNAPSHOT</jbpm.version>
+ <jbpm.version>3.3.1-SNAPSHOT</jbpm.version>
<javax.jaxb.version>2.1</javax.jaxb.version>
<javax.ejb.version>3.0</javax.ejb.version>
<jboss.common.version>2.2.7.GA</jboss.common.version>
@@ -45,7 +45,7 @@
<!-- JBPM -->
<dependency>
<groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-core</artifactId>
+ <artifactId>jbpm-jpdl</artifactId>
<scope>provided</scope>
<version>${jbpm.version}</version>
</dependency>
Modified: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskReference.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskReference.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TaskReference.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -22,8 +22,8 @@
package org.jboss.bpm.console.client.model;
import javax.xml.bind.annotation.XmlRootElement;
+import java.util.ArrayList;
import java.util.List;
-import java.util.ArrayList;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -37,8 +37,8 @@
private long processId;
private String name;
- private String actor;
-
+ private String actor = "";
+
private boolean isBlocking;
private boolean isSignalling = true;
@@ -46,7 +46,6 @@
private List<String> pooledActors = new ArrayList<String>();
public enum STATE {OPEN, IN_PROGRESS, CLOSED};
-
private STATE currentState;
public TaskReference()
@@ -66,9 +65,10 @@
this.processInstanceId = processInstanceId;
this.processId = processId;
this.name = taskName;
- this.actor = actorName;
+ setActor(actorName);
isBlocking = blocking;
isSignalling = signalling;
+
initOrUpdateState();
}
@@ -119,6 +119,8 @@
public void setActor(String actor)
{
+ if(null==actor)
+ actor = "";
this.actor = actor;
initOrUpdateState();
}
@@ -151,22 +153,13 @@
public void addPooledActor(String actorId)
{
pooledActors.add(actorId);
- initOrUpdateState();
- }
- public long getProcessId()
- {
- return processId;
+ initOrUpdateState();
}
- public STATE getCurrentState()
- {
- return currentState;
- }
-
private void initOrUpdateState()
{
- if(actor==null)
+ if(actor==null || actor.equals(""))
{
currentState = STATE.OPEN;
}
@@ -177,11 +170,26 @@
else
currentState = STATE.IN_PROGRESS;
}
+ }
+ public long getProcessId()
+ {
+ return processId;
}
+ public STATE getCurrentState()
+ {
+ return currentState;
+ }
+
public String toString()
{
return "TaskRef{id:"+id+",state:"+currentState+"}";
}
+
+ public boolean hasPooledActors()
+ {
+ return !pooledActors.isEmpty();
+ }
+
}
Modified: projects/gwt-console/trunk/server/gwt-server.iml
===================================================================
--- projects/gwt-console/trunk/server/gwt-server.iml 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/gwt-server.iml 2008-11-11 14:34:01 UTC (rev 2882)
@@ -537,6 +537,7 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module" module-name="gwt-rpc" />
<orderEntryProperties />
</component>
</module>
Modified: projects/gwt-console/trunk/server/pom.xml
===================================================================
--- projects/gwt-console/trunk/server/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/pom.xml 2008-11-11 14:34:01 UTC (rev 2882)
@@ -34,7 +34,7 @@
</dependency>
<dependency>
<groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-core</artifactId>
+ <artifactId>jbpm-jpdl</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskManagement.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskManagement.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/TaskManagement.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -23,6 +23,7 @@
import com.google.gson.Gson;
import org.jboss.bpm.console.client.model.TaskReferenceWrapper;
+import org.jboss.bpm.console.client.model.TaskReference;
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.util.MapEntry;
@@ -79,7 +80,7 @@
new TaskReferenceWrapper(getTaskDAO().getTasksByActor(actorName));
return createJsonResponse(wrapper);
}
-
+
@GET
@Path("forms/{processId}")
@Produces("application/json")
@@ -100,6 +101,36 @@
return createJsonResponse( entries );
}
+ @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 +"'");
+ String actualActor = actorId.equalsIgnoreCase("none") ? null : actorId;
+ getTaskDAO().reassignTask(taskId, actualActor);
+ return Response.ok().build();
+ }
+
+ @POST
+ @Path("{taskId}/assignment")
+ @Produces("application/json")
+ public Response releaseTask(
+ @PathParam("taskId")
+ long taskId
+ )
+ {
+ log.debug("Release task " + taskId);
+ getTaskDAO().reassignTask(taskId, null);
+ return Response.ok().build();
+ }
+
+
@GET
@Path("forms/{processId}/{taskId}")
@Produces("application/json")
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/TaskDAO.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/TaskDAO.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/TaskDAO.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -32,7 +32,9 @@
public interface TaskDAO
{
List<TaskReference> getTasksByActor(String actorName);
- List<TaskReference> getTasksByInstanceId(long instanceId);
Map<String, String> getAvailableTaskForms(long processId);
byte[] getTaskFormByTaskName(long processId, long taskId);
+
+ TaskReference getTaskById(long taskId);
+ void reassignTask(long taskId, String actorId);
}
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3CommandDelegate.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3CommandDelegate.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3CommandDelegate.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -42,7 +42,6 @@
*/
class JBPM3CommandDelegate
{
-
private LocalCommandService facade;
private static final String DEFAULT_JNDI_NAME = "java:ejb/CommandServiceBean";
@@ -175,8 +174,22 @@
public TaskInstance getTaskById(long taskId)
{
-
// include variables, but no logs
return (TaskInstance) facade.execute( new GetTaskInstanceCommand(taskId, true, false));
}
+
+ public void assignToAuthenticatedUser(long taskId, String actorId)
+ {
+ if(actorId!=null)
+ {
+ StartWorkOnTaskCommand command = new StartWorkOnTaskCommand(taskId, true);
+ command.setActorId(actorId);
+ facade.execute(command);
+ }
+ else
+ {
+ CancelWorkOnTaskCommand command = new CancelWorkOnTaskCommand(taskId);
+ facade.execute(command);
+ }
+ }
}
Modified: projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3TaskDAO.java
===================================================================
--- projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3TaskDAO.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/server/src/main/java/org/jboss/bpm/console/server/dao/internal/JBPM3TaskDAO.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -23,16 +23,18 @@
import org.jboss.bpm.console.client.model.TaskReference;
import org.jboss.bpm.console.server.dao.TaskDAO;
+import org.jbpm.file.def.FileDefinition;
import org.jbpm.graph.def.ProcessDefinition;
-import org.jbpm.file.def.FileDefinition;
import org.jbpm.util.XmlUtil;
-import org.jbpm.identity.Group;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
-import java.util.*;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -47,7 +49,6 @@
this.delegate = new JBPM3CommandDelegate();
}
-
public List<TaskReference> getTasksByActor(String actorName)
{
@@ -68,12 +69,6 @@
return copy;
}
- // TODO: If not reqired please remove
- public List<TaskReference> getTasksByInstanceId(long instanceId)
- {
- throw new RuntimeException("Not implemented");
- }
-
public Map<String, String> getAvailableTaskForms(long processId)
{
org.jbpm.graph.def.ProcessDefinition processDefinition =
@@ -131,4 +126,18 @@
throw new RuntimeException("No form definition for taskId '"+taskId+"'");
}
+
+ public TaskReference getTaskById(long taskId)
+ {
+ org.jbpm.taskmgmt.exe.TaskInstance t0 = delegate.getTaskById(taskId);
+ TaskReference taskRef = Transform.taskInstance(t0);
+ return taskRef;
+ }
+
+
+ public void reassignTask(long taskId, String actorId)
+ {
+ // TODO: validation of actorId?
+ delegate.assignToAuthenticatedUser(taskId, actorId);
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -22,6 +22,7 @@
package org.jboss.bpm.console.client;
import org.jboss.bpm.console.client.model.ProcessInstance;
+import org.jboss.bpm.console.client.model.TaskReference;
import java.util.List;
@@ -125,4 +126,10 @@
{
return getBaseUrl() + "/rs/tasks/forms/"+processId+"/"+taskId;
}
+
+ public String getTaskAssignmentURL(long id, String actor)
+ {
+ String actualActor = actor == null ? "none" : actor;
+ return getBaseUrl() + "/rs/tasks/"+id+"/assignment/"+actualActor;
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -22,6 +22,7 @@
package org.jboss.bpm.console.client.model;
import com.google.gwt.json.client.*;
+import com.allen_sauer.gwt.log.client.Log;
import org.jboss.bpm.console.client.model.forms.FieldDef;
import org.jboss.bpm.console.client.model.forms.FormDef;
import org.jboss.bpm.console.client.util.JSONWalk;
@@ -84,7 +85,6 @@
public static TaskReference parseTaskReference(JSONObject item)
{
-
long id = JSONWalk.on(item).next("id").asLong();
long tokenId = JSONWalk.on(item).next("tokenId").asLong();
long instanceId = JSONWalk.on(item).next("processInstanceId").asLong();
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/process/ProcessInstanceListEditor.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -174,7 +174,7 @@
}
);
instanceList.setRowSelectionModel(sm);
-
+
outerFormPanel.add(formPanel);
// ----------------------------------
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 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -25,12 +25,13 @@
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.json.client.JSONObject;
import com.gwtext.client.core.SortDir;
+import com.gwtext.client.core.Function;
+import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.*;
import com.gwtext.client.data.event.StoreListenerAdapter;
-import com.gwtext.client.widgets.ComponentMgr;
-import com.gwtext.client.widgets.Panel;
-import com.gwtext.client.widgets.Component;
+import com.gwtext.client.widgets.*;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.grid.*;
import org.jboss.bpm.console.client.MainView;
@@ -54,6 +55,7 @@
private GroupingStore store;
private String title;
private RowSelectionModel rowSelectionModel;
+ public static final int PAGE_SIZE = 15;
public TaskList(String titleName, final MainView view)
{
@@ -300,20 +302,43 @@
gridView.setGroupTextTpl("{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"Items\" : \"Item\"]})");
if(rowSelectionModel!=null)
+ {
grid.setSelectionModel(rowSelectionModel);
-
+ grid.doOnRender(new Function() {
+ public void execute() {
+ rowSelectionModel.selectFirstRow();
+ }
+ }, 10);
+ }
grid.setView(gridView);
grid.setFrame(true);
grid.setWidth(UIConstants.EDITOR_PANEL_WIDTH);
grid.setHeight(250);
grid.setEnableHdMenu(false);
+
+ grid.setBottomToolbar(createToolbar(store));
+
return grid;
}
+ private PagingToolbar createToolbar(final Store store)
+ {
+ PagingToolbar pagingToolbar = new PagingToolbar(store);
+ pagingToolbar.setPageSize(PAGE_SIZE);
+ pagingToolbar.setDisplayInfo(true);
+ pagingToolbar.setDisplayMsg("{0} - {1} of {2}");
+
+ pagingToolbar.addSeparator();
+ pagingToolbar.addSpacer();
+
+ return pagingToolbar;
+ }
+
+
public void reloadStore()
{
Log.debug("Reload " + this.getId());
- store.load(0, 15);
+ store.load(0, PAGE_SIZE);
}
public GridPanel getGrid()
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -21,28 +21,27 @@
*/
package org.jboss.bpm.console.client.task;
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.http.client.*;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.core.Position;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.widgets.*;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.event.PanelListenerAdapter;
+import com.gwtext.client.widgets.form.DateField;
+import com.gwtext.client.widgets.form.FieldSet;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.grid.RowSelectionModel;
+import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
+import com.gwtext.client.widgets.layout.ColumnLayout;
+import com.gwtext.client.widgets.layout.ColumnLayoutData;
import org.jboss.bpm.console.client.Editor;
import org.jboss.bpm.console.client.MainView;
import org.jboss.bpm.console.client.UIConstants;
import org.jboss.bpm.console.client.model.TaskReference;
import org.jboss.bpm.console.client.widgets.TeaserPanel;
-import com.gwtext.client.widgets.layout.ColumnLayout;
-import com.gwtext.client.widgets.layout.ColumnLayoutData;
-import com.gwtext.client.widgets.Panel;
-import com.gwtext.client.widgets.Component;
-import com.gwtext.client.widgets.PaddedPanel;
-import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.grid.RowSelectionModel;
-import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.FieldSet;
-import com.gwtext.client.widgets.form.TextField;
-import com.gwtext.client.widgets.form.DateField;
-import com.gwtext.client.widgets.event.PanelListenerAdapter;
-import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-import com.gwtext.client.core.Position;
-import com.gwtext.client.core.EventObject;
-import com.gwtext.client.data.Record;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -126,7 +125,7 @@
formContainer.setBorder(false);
leftHand.add(formContainer);
*/
-
+
// ----------------------------------
teaserPanel = new TeaserPanel();
@@ -151,7 +150,7 @@
private Panel assembleFormPanel()
{
- // ---------------
+ // ---------------
Panel outerFormPanel = new Panel();
outerFormPanel.setBorder(false);
@@ -181,35 +180,44 @@
fieldSet.add(new TextField("Id", "id", 230));
fieldSet.add(new TextField("Name", "name", 230));
fieldSet.add(new TextField("Actor", "actor", 230));
- fieldSet.add(new DateField("State", "currentState", 230));
-
+ fieldSet.add(new TextField("State", "currentState", 230));
+
Panel inner = new PaddedPanel(fieldSet, 0, 10, 0, 0);
formPanel.add(inner);
final Button startBtn = new Button("Start Progress",
- new ButtonListenerAdapter()
- {
+ new ButtonListenerAdapter()
+ {
- public void onClick(Button button, EventObject eventObject)
- {
- //selectedInstance.setState(ProcessInstance.STATE.SUSPENDED);
- //persistStateChange();
- }
- }
+ public void onClick(Button button, EventObject eventObject)
+ {
+ if(null==selectedInstance)
+ {
+ MessageBox.alert("Please select a task.");
+ return;
+ }
+ selectedInstance.setActor(mainView.getUsername());
+ persistChanges();
+ }
+ }
);
- //startBtn.setIcon("images/icons/pause.png");
final Button stopBtn = new Button("Stop",
- new ButtonListenerAdapter()
- {
+ new ButtonListenerAdapter()
+ {
- public void onClick(Button button, EventObject eventObject)
- {
- //selectedInstance.setState(ProcessInstance.STATE.RUNNING);
- //persistStateChange();
- }
- }
+ public void onClick(Button button, EventObject eventObject)
+ {
+ if(null==selectedInstance)
+ {
+ MessageBox.alert("Please select a task.");
+ return;
+ }
+ selectedInstance.setActor(null);
+ persistChanges();
+ }
+ }
);
formPanel.addButton(startBtn);
@@ -219,27 +227,33 @@
final RowSelectionModel sm = new RowSelectionModel(true);
sm.addListener(
- new RowSelectionListenerAdapter()
- {
- public void onRowSelect(RowSelectionModel sm, int rowIndex, Record record)
- {
- selectedInstance = TaskList.transform(record);
+ new RowSelectionListenerAdapter()
+ {
+ public void onRowSelect(RowSelectionModel sm, int rowIndex, Record record)
+ {
+ selectedInstance = TaskList.transform(record);
- if(TaskReference.STATE.IN_PROGRESS == selectedInstance.getCurrentState())
- {
- startBtn.disable();
- stopBtn.enable();
- }
- else
- {
- startBtn.enable();
- stopBtn.disable();
- }
+ if(!selectedInstance.hasPooledActors())
+ {
+ // no group assignment available
+ startBtn.disable();
+ stopBtn.disable();
+ }
+ else if(TaskReference.STATE.IN_PROGRESS == selectedInstance.getCurrentState())
+ {
+ startBtn.disable();
+ stopBtn.enable();
+ }
+ else
+ {
+ startBtn.enable();
+ stopBtn.disable();
+ }
- formPanel.getForm().loadRecord(record);
- formPanel.doLayout();
- }
- }
+ formPanel.getForm().loadRecord(record);
+ formPanel.doLayout();
+ }
+ }
);
taskList.setRowSelectionModel(sm);
@@ -247,4 +261,38 @@
return outerFormPanel;
}
+
+ private void persistChanges()
+ {
+ RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
+ mainView.getUrlBuilder().getTaskAssignmentURL(
+ selectedInstance.getId(), selectedInstance.getActor()
+ )
+ );
+
+ try
+ {
+ rb.sendRequest(null,
+ new RequestCallback() {
+
+ public void onResponseReceived(Request request, Response response)
+ {
+ // testSuccess
+ taskList.reloadStore();
+ selectedInstance = null;
+ }
+
+ public void onError(Request request, Throwable t)
+ {
+ // Unknown error
+ Log.error("Unknown error", t);
+ }
+ });
+ }
+ catch (RequestException e1)
+ {
+ mainView.setError(e1.getMessage());
+ Log.error("Request failed" ,e1);
+ }
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java 2008-11-11 13:59:20 UTC (rev 2881)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/util/JSONWalk.java 2008-11-11 14:34:01 UTC (rev 2882)
@@ -67,7 +67,7 @@
match = JSONWalk.on(child).next(name);
}
}
-
+
return match;
}
Added: projects/gwt-console/trunk/war/src/test/examples/TaskAssignmentExample.par
===================================================================
(Binary files differ)
Property changes on: projects/gwt-console/trunk/war/src/test/examples/TaskAssignmentExample.par
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
17 years, 5 months
JBoss JBPM SVN: r2881 - in jbpm3/branches/jpdl-3.2.2-SOA-4.2: modules/core and 9 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-11 08:59:20 -0500 (Tue, 11 Nov 2008)
New Revision: 2881
Modified:
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/core/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/db/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/distribution/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/ear/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/jar/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/examples/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/identity/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/.classpath
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/userguide/pom.xml
jbpm3/branches/jpdl-3.2.2-SOA-4.2/pom.xml
Log:
version=3.2.2-SOA-4.2.0.CP03
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/core/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/core/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/core/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -23,7 +23,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/db/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/db/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/db/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/distribution/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/distribution/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/distribution/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -22,7 +22,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/ear/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/ear/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/ear/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -22,7 +22,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm-enterprise</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
</parent>
<!-- Dependencies -->
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/jar/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/jar/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/jar/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -22,7 +22,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm-enterprise</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
</parent>
<!-- Dependencies -->
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/enterprise/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -22,7 +22,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/examples/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/examples/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/examples/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/identity/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/identity/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/identity/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -22,7 +22,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/.classpath
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/.classpath 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/.classpath 2008-11-11 13:59:20 UTC (rev 2881)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/simulation/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -21,7 +21,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/userguide/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/userguide/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/modules/userguide/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<relativePath>../../pom.xml</relativePath>
</parent>
Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/pom.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/pom.xml 2008-11-11 13:26:19 UTC (rev 2880)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/pom.xml 2008-11-11 13:59:20 UTC (rev 2881)
@@ -17,7 +17,7 @@
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm</artifactId>
<packaging>pom</packaging>
- <version>3.3.0.GA</version>
+ <version>3.2.2-SOA-4.2.0.CP03</version>
<!-- Parent -->
<parent>
17 years, 5 months
JBoss JBPM SVN: r2880 - jbpm3/branches.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-11 08:26:19 -0500 (Tue, 11 Nov 2008)
New Revision: 2880
Added:
jbpm3/branches/jpdl-3.2.2-SOA-4.2/
Log:
Recreate SOA-4.2 branch from 3.3.0.GA
Copied: jbpm3/branches/jpdl-3.2.2-SOA-4.2 (from rev 2879, jbpm3/tags/jbpm-3.3.0.GA)
17 years, 5 months
JBoss JBPM SVN: r2879 - jbpm3/branches.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-11 08:25:41 -0500 (Tue, 11 Nov 2008)
New Revision: 2879
Added:
jbpm3/branches/jpdl-3.2.2-SOA-4.2-old/
Removed:
jbpm3/branches/jpdl-3.2.2-SOA-4.2/
Log:
Recreate SOA-4.2 branch from 3.3.0.GA
Copied: jbpm3/branches/jpdl-3.2.2-SOA-4.2-old (from rev 2878, jbpm3/branches/jpdl-3.2.2-SOA-4.2)
17 years, 5 months
JBoss JBPM SVN: r2878 - jbpm3/branches.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-11-11 06:58:40 -0500 (Tue, 11 Nov 2008)
New Revision: 2878
Removed:
jbpm3/branches/jbpm-3.3.0.GA/
Log:
Delete 3.3.0.GA QA branch
17 years, 5 months
JBoss JBPM SVN: r2877 - in jbpm3: tags and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-11-11 06:56:10 -0500 (Tue, 11 Nov 2008)
New Revision: 2877
Added:
jbpm3/tags/jpdl-3.2.3.GA_JBPM-1704/
Removed:
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/
Log:
work on patch JBPM-1704 complete, turning into tag
Copied: jbpm3/tags/jpdl-3.2.3.GA_JBPM-1704 (from rev 2876, jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704)
17 years, 5 months
JBoss JBPM SVN: r2876 - in projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client: task and 1 other directory.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-11 05:19:21 -0500 (Tue, 11 Nov 2008)
New Revision: 2876
Modified:
projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
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/TaskListEditor.java
Log:
Task form binding, first cut
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-11 09:44:06 UTC (rev 2875)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2008-11-11 10:19:21 UTC (rev 2876)
@@ -22,11 +22,9 @@
package org.jboss.bpm.console.client.model;
import com.google.gwt.json.client.*;
-import com.allen_sauer.gwt.log.client.Log;
import org.jboss.bpm.console.client.model.forms.FieldDef;
import org.jboss.bpm.console.client.model.forms.FormDef;
import org.jboss.bpm.console.client.util.JSONWalk;
-import org.jboss.bpm.console.server.gson.GsonFactory;
import java.util.ArrayList;
import java.util.List;
@@ -87,8 +85,6 @@
public static TaskReference parseTaskReference(JSONObject item)
{
- Log.debug("Parsing " + item.toString());
-
long id = JSONWalk.on(item).next("id").asLong();
long tokenId = JSONWalk.on(item).next("tokenId").asLong();
long instanceId = JSONWalk.on(item).next("processInstanceId").asLong();
@@ -105,6 +101,16 @@
isSignalling, isBlocking
);
+
+ // pooled actors
+ JSONArray pooledActors = JSONWalk.on(item).next("pooledActors").asArray();
+ for (int k = 0; k < pooledActors.size(); ++k)
+ {
+ JSONValue jsonValue = pooledActors.get(k);
+ JSONString t = jsonValue.isString();
+ ref.addPooledActor(t.stringValue());
+ }
+
if(isSignalling)
{
JSONArray arr = JSONWalk.on(item).next("transitionNames").asArray();
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 2008-11-11 09:44:06 UTC (rev 2875)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java 2008-11-11 10:19:21 UTC (rev 2876)
@@ -32,10 +32,7 @@
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.grid.ColumnConfig;
-import com.gwtext.client.widgets.grid.ColumnModel;
-import com.gwtext.client.widgets.grid.GridPanel;
-import com.gwtext.client.widgets.grid.GroupingView;
+import com.gwtext.client.widgets.grid.*;
import org.jboss.bpm.console.client.MainView;
import org.jboss.bpm.console.client.UIConstants;
import org.jboss.bpm.console.client.model.DTOParser;
@@ -56,6 +53,7 @@
private GridPanel grid;
private GroupingStore store;
private String title;
+ private RowSelectionModel rowSelectionModel;
public TaskList(String titleName, final MainView view)
{
@@ -66,6 +64,7 @@
this.setHeader(false);
this.setBorder(false);
this.setFrame(false);
+ this.setIconCls("bpm-task-icon");
String resourceUrl = view.getUrlBuilder().getTaskListByActorURL(view.getUsername());
DataProxy dataProxy = new ScriptTagProxy(resourceUrl, 1000*10);
@@ -198,9 +197,7 @@
int i=0;
for(Record r : records)
{
- JavaScriptObject js = r.getDataAsJsObject();
- JSONObject jso = new JSONObject(js);
- TaskReference ref = DTOParser.parseTaskReference(jso);
+ TaskReference ref = transform(r);
row2taskref.put(i, ref);
i++;
}
@@ -213,6 +210,14 @@
Log.debug("Loaded " + row2taskref.size() + " tasks");
}
+ public static TaskReference transform(Record r)
+ {
+ JavaScriptObject js = r.getDataAsJsObject();
+ JSONObject jso = new JSONObject(js);
+ TaskReference ref = DTOParser.parseTaskReference(jso);
+ return ref;
+ }
+
private ColumnModel createColumnModel()
{
final ColumnModel columnModel = new ColumnModel(
@@ -294,6 +299,9 @@
gridView.setForceFit(true);
gridView.setGroupTextTpl("{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"Items\" : \"Item\"]})");
+ if(rowSelectionModel!=null)
+ grid.setSelectionModel(rowSelectionModel);
+
grid.setView(gridView);
grid.setFrame(true);
grid.setWidth(UIConstants.EDITOR_PANEL_WIDTH);
@@ -312,4 +320,9 @@
{
return grid;
}
+
+ public void setRowSelectionModel(RowSelectionModel model)
+ {
+ this.rowSelectionModel = model;
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java 2008-11-11 09:44:06 UTC (rev 2875)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskListEditor.java 2008-11-11 10:19:21 UTC (rev 2876)
@@ -24,12 +24,25 @@
import org.jboss.bpm.console.client.Editor;
import org.jboss.bpm.console.client.MainView;
import org.jboss.bpm.console.client.UIConstants;
+import org.jboss.bpm.console.client.model.TaskReference;
import org.jboss.bpm.console.client.widgets.TeaserPanel;
import com.gwtext.client.widgets.layout.ColumnLayout;
import com.gwtext.client.widgets.layout.ColumnLayoutData;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Component;
+import com.gwtext.client.widgets.PaddedPanel;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.grid.RowSelectionModel;
+import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.FieldSet;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.form.DateField;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.core.Position;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.data.Record;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -45,6 +58,8 @@
private Panel formContainer;
+ private TaskReference selectedInstance;
+
public TaskListEditor(MainView mainView )
{
super();
@@ -100,10 +115,17 @@
taskList = new TaskList("Your tasks", mainView);
leftHand.add(taskList);
+ // ----------------------------------
+
+ Panel detailsFormPanel = assembleFormPanel();
+ leftHand.add(detailsFormPanel);
+
+ /*
formContainer = new Panel();
formContainer.setPaddings(10);
formContainer.setBorder(false);
leftHand.add(formContainer);
+ */
// ----------------------------------
@@ -126,4 +148,103 @@
{
return formContainer;
}
+
+ private Panel assembleFormPanel()
+ {
+ // ---------------
+
+ Panel outerFormPanel = new Panel();
+ outerFormPanel.setBorder(false);
+ outerFormPanel.setFrame(false);
+ outerFormPanel.setPaddings(10);
+
+ // ---------------
+
+ final FormPanel formPanel = new FormPanel();
+ formPanel.setLabelAlign(Position.LEFT);
+ formPanel.setWidth(UIConstants.EDITOR_PANEL_WIDTH);
+ formPanel.setHeader(false);
+ formPanel.setFrame(false);
+ formPanel.setPaddings(5, 5, 5, 0);
+ formPanel.setLabelWidth(120);
+
+ // ---------------
+
+ FieldSet fieldSet = new FieldSet();
+ fieldSet.setLabelWidth(90);
+ fieldSet.setTitle("Task Instance Details");
+ fieldSet.setAutoHeight(true);
+ fieldSet.setBorder(false);
+
+ // ---------------
+ //the field names must match the data field values from the Store
+ fieldSet.add(new TextField("Id", "id", 230));
+ fieldSet.add(new TextField("Name", "name", 230));
+ fieldSet.add(new TextField("Actor", "actor", 230));
+ fieldSet.add(new DateField("State", "currentState", 230));
+
+ Panel inner = new PaddedPanel(fieldSet, 0, 10, 0, 0);
+
+ formPanel.add(inner);
+
+ final Button startBtn = new Button("Start Progress",
+ new ButtonListenerAdapter()
+ {
+
+ public void onClick(Button button, EventObject eventObject)
+ {
+ //selectedInstance.setState(ProcessInstance.STATE.SUSPENDED);
+ //persistStateChange();
+ }
+ }
+ );
+ //startBtn.setIcon("images/icons/pause.png");
+
+ final Button stopBtn = new Button("Stop",
+ new ButtonListenerAdapter()
+ {
+
+ public void onClick(Button button, EventObject eventObject)
+ {
+ //selectedInstance.setState(ProcessInstance.STATE.RUNNING);
+ //persistStateChange();
+ }
+ }
+ );
+
+ formPanel.addButton(startBtn);
+ formPanel.addButton(stopBtn);
+
+ // ----------------
+
+ final RowSelectionModel sm = new RowSelectionModel(true);
+ sm.addListener(
+ new RowSelectionListenerAdapter()
+ {
+ public void onRowSelect(RowSelectionModel sm, int rowIndex, Record record)
+ {
+ selectedInstance = TaskList.transform(record);
+
+ if(TaskReference.STATE.IN_PROGRESS == selectedInstance.getCurrentState())
+ {
+ startBtn.disable();
+ stopBtn.enable();
+ }
+ else
+ {
+ startBtn.enable();
+ stopBtn.disable();
+ }
+
+ formPanel.getForm().loadRecord(record);
+ formPanel.doLayout();
+ }
+ }
+ );
+ taskList.setRowSelectionModel(sm);
+
+ outerFormPanel.add(formPanel);
+
+ return outerFormPanel;
+ }
}
17 years, 5 months
JBoss JBPM SVN: r2875 - in projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client: widgets and 1 other directory.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-11-11 04:44:06 -0500 (Tue, 11 Nov 2008)
New Revision: 2875
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/widgets/RemoteListView.java
Log:
Use GroupingStore for task list
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 2008-11-10 22:18:39 UTC (rev 2874)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/task/TaskList.java 2008-11-11 09:44:06 UTC (rev 2875)
@@ -24,20 +24,22 @@
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.json.client.JSONObject;
+import com.gwtext.client.core.SortDir;
import com.gwtext.client.data.*;
+import com.gwtext.client.data.event.StoreListenerAdapter;
import com.gwtext.client.widgets.ComponentMgr;
import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Component;
+import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
+import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GroupingView;
-import com.gwtext.client.widgets.grid.GridPanel;
-import com.gwtext.client.core.SortDir;
import org.jboss.bpm.console.client.MainView;
import org.jboss.bpm.console.client.UIConstants;
import org.jboss.bpm.console.client.model.DTOParser;
import org.jboss.bpm.console.client.model.TaskReference;
-import org.jboss.bpm.console.client.widgets.RemoteListView;
import java.util.HashMap;
import java.util.Map;
@@ -47,54 +49,48 @@
*
* @author Heiko.Braun <heiko.braun(a)jboss.com>
*/
-public class TaskList extends RemoteListView
+public class TaskList extends Panel
{
private Map<Integer,TaskReference> row2taskref = new HashMap<Integer,TaskReference>();
+ private MainView mainView;
+ private GridPanel grid;
+ private GroupingStore store;
+ private String title;
public TaskList(String titleName, final MainView view)
{
- super(titleName, view,
- view.getUrlBuilder().getTaskListByActorURL(view.getUsername())
- );
+ this.mainView = view;
+ this.title = titleName;
- final JsonReader reader = createReader();
+ this.setPaddings(10);
+ this.setHeader(false);
+ this.setBorder(false);
+ this.setFrame(false);
+
+ String resourceUrl = view.getUrlBuilder().getTaskListByActorURL(view.getUsername());
DataProxy dataProxy = new ScriptTagProxy(resourceUrl, 1000*10);
- GroupingStore groupingStore = new GroupingStore(dataProxy, reader, false);
- groupingStore.addStoreListener( new ListViewStoreListener(this) );
- groupingStore.setGroupField("currentState");
- groupingStore.setSortInfo(new SortState("actor", SortDir.ASC));
+ final Reader reader = createReader();
- // replace default store
- super.store = groupingStore;
-
- enableAddBtn(false);
- enableDeleteBtn(false);
- }
+ store = new GroupingStore();
+ store.setReader(reader);
+ store.setDataProxy(dataProxy);
+ store.setSortInfo(new SortState("id", SortDir.ASC));
+ store.setGroupField("currentState");
+ store.addStoreListener( new ListViewStoreListener(this) );
-
- protected GridPanel createGridPanel(String titleName)
- {
- GroupingView gridView = new GroupingView();
- gridView.setForceFit(true);
- //gridView.setGroupTextTpl(
- // "{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"Items\" : \"Item\"]})");
-
- GridPanel grid = new GridPanel();
- grid.setView(gridView);
-
- grid.setTitle(titleName);
- grid.setFrame(true);
- grid.setWidth(UIConstants.EDITOR_PANEL_WIDTH);
- grid.stripeRows(true);
- grid.setLoadMask(true);
-
- grid.setCollapsible(true);
- grid.setAnimCollapse(false);
-
- grid.addGridCellListener( new ListViewCellListener() );
-
- return grid;
+ // PanelListener will lazy load store data.
+ // Store.onLoad() callback will populate the grid
+ // and add it to the container panel.
+ this.addListener( new PanelListenerAdapter()
+ {
+ public boolean doBeforeRender(Component component)
+ {
+ reloadStore();
+ return true;
+ }
+ }
+ );
}
protected void onAdd()
@@ -217,7 +213,7 @@
Log.debug("Loaded " + row2taskref.size() + " tasks");
}
- protected ColumnModel createColumnModel()
+ private ColumnModel createColumnModel()
{
final ColumnModel columnModel = new ColumnModel(
new ColumnConfig[]
@@ -231,7 +227,7 @@
return columnModel;
}
- protected JsonReader createReader()
+ private JsonReader createReader()
{
final RecordDef recordDef = new RecordDef(
new FieldDef[]{
@@ -248,4 +244,72 @@
reader.setId("id");
return reader;
}
+
+ private class ListViewStoreListener extends StoreListenerAdapter
+ {
+
+ Panel containerPanel;
+
+ public ListViewStoreListener(Panel containerPanel)
+ {
+ this.containerPanel = containerPanel;
+ }
+
+ /**
+ * load callback will push records to implementation
+ * and (!) add the grid to the container panel.
+ */
+ public void onLoad(Store store, Record[] records)
+ {
+
+ onRecordsLoaded(records);
+
+ grid = assembleGrid();
+
+ containerPanel.clear();
+ containerPanel.add(grid);
+ containerPanel.doLayout();
+ }
+
+ public void onLoadException(Throwable throwable)
+ {
+ Log.error("Failed to load remote data", throwable);
+ }
+
+ }
+
+ private GridPanel assembleGrid()
+ {
+ final ColumnModel columnModel = createColumnModel();
+
+ GridPanel grid = new GridPanel();
+ grid.setStore(store);
+ grid.setColumnModel(columnModel);
+ grid.setFrame(true);
+ grid.setStripeRows(true);
+ grid.setAutoExpandColumn("name");
+ grid.setTitle(title);
+
+ GroupingView gridView = new GroupingView();
+ gridView.setForceFit(true);
+ gridView.setGroupTextTpl("{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"Items\" : \"Item\"]})");
+
+ grid.setView(gridView);
+ grid.setFrame(true);
+ grid.setWidth(UIConstants.EDITOR_PANEL_WIDTH);
+ grid.setHeight(250);
+ grid.setEnableHdMenu(false);
+ return grid;
+ }
+
+ public void reloadStore()
+ {
+ Log.debug("Reload " + this.getId());
+ store.load(0, 15);
+ }
+
+ public GridPanel getGrid()
+ {
+ return grid;
+ }
}
Modified: projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java
===================================================================
--- projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java 2008-11-10 22:18:39 UTC (rev 2874)
+++ projects/gwt-console/trunk/war/src/main/java/org/jboss/bpm/console/client/widgets/RemoteListView.java 2008-11-11 09:44:06 UTC (rev 2875)
@@ -49,7 +49,7 @@
{
protected int selectedRowIndex = -1;
protected MainView view;
- protected static final int PAGE_SIZE = 25;
+ public static final int PAGE_SIZE = 25;
private GridPanel grid;
protected String title;
@@ -203,10 +203,10 @@
protected abstract JsonReader createReader();
- protected class ListViewStoreListener extends StoreListenerAdapter
+ private class ListViewStoreListener extends StoreListenerAdapter
{
- Panel containerPanel;
+ Panel containerPanel;
public ListViewStoreListener(Panel containerPanel)
{
17 years, 5 months