[jbpm-commits] JBoss JBPM SVN: r3245 - in jbpm4/trunk/modules: task and 8 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Dec 5 18:14:34 EST 2008
Author: alex.guizar at jboss.com
Date: 2008-12-05 18:14:34 -0500 (Fri, 05 Dec 2008)
New Revision: 3245
Modified:
jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java
jbpm4/trunk/modules/task/
jbpm4/trunk/modules/task/pom.xml
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/DeleteTask.java
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/GetTask.java
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/hibernate/HibernateTaskDbSession.java
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/model/TaskServiceImpl.java
jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java
jbpm4/trunk/modules/task/src/main/resources/jbpm.task.hbm.xml
jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java
jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml
jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/DbTestCase.java
Log:
JBPM-1858: completed task management operations
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/TaskService.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -34,17 +34,17 @@
/** Creates a task with the given identifier.
* The returned task will be transient.
- * Use {@link #updateTask(Task)} to persist the task. */
+ * Use {@link #saveTask(Task)} to persist the task. */
Task newTask(String taskId);
+ /** Saves the given task to persistent storage. */
+ void saveTask(Task task);
+
/** Retrieves the task with the given identifier from persistent storage.
* If no task with the given identifier exists,
* the call returns <code>null</code>. */
Task getTask(String taskId);
- /** Saves the given task to persistent storage. */
- void updateTask(Task task);
-
/** Marks the task with the given identifier as completed.
* This operation may result in a process instance being resumed. */
void submitTask(String taskId);
Property changes on: jbpm4/trunk/modules/task
___________________________________________________________________
Name: svn:ignore
- target
+ target
.settings
Modified: jbpm4/trunk/modules/task/pom.xml
===================================================================
--- jbpm4/trunk/modules/task/pom.xml 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/pom.xml 2008-12-05 23:14:34 UTC (rev 3245)
@@ -85,7 +85,6 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
- <exclude>org/jbpm/task/TaskServiceTest.java</exclude>
</excludes>
</configuration>
</plugin>
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/DeleteTask.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/DeleteTask.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/DeleteTask.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -23,26 +23,26 @@
import org.jbpm.cmd.Command;
import org.jbpm.env.Environment;
-import org.jbpm.session.DbSession;
-import org.jbpm.task.internal.model.TaskImpl;
+import org.jbpm.task.Task;
+import org.jbpm.task.session.TaskDbSession;
/**
- * @author Tom Baeyens
+ * @author Alejandro Guizar
*/
public class DeleteTask implements Command<Void> {
private static final long serialVersionUID = 1L;
- protected long taskDbid;
-
- public DeleteTask(long taskDbid) {
- this.taskDbid = taskDbid;
+ protected String taskId;
+
+ public DeleteTask(String taskId) {
+ this.taskId = taskId;
}
public Void execute(Environment environment) throws Exception {
- DbSession dbSession = environment.get(DbSession.class);
- TaskImpl task = dbSession.get(TaskImpl.class, taskDbid);
- dbSession.delete(task);
+ TaskDbSession taskDbSession = environment.get(TaskDbSession.class);
+ Task task = taskDbSession.getTask(taskId);
+ taskDbSession.delete(task);
return null;
}
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/GetTask.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/GetTask.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/GetTask.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -23,25 +23,23 @@
import org.jbpm.cmd.Command;
import org.jbpm.env.Environment;
-import org.jbpm.session.DbSession;
import org.jbpm.task.Task;
-import org.jbpm.task.internal.model.TaskImpl;
+import org.jbpm.task.session.TaskDbSession;
/**
- * @author Tom Baeyens
+ * @author Alejandro Guizar
*/
public class GetTask implements Command<Task> {
private static final long serialVersionUID = 1L;
- protected long taskDbid;
+ protected String taskId;
- public GetTask(long taskDbid) {
- this.taskDbid = taskDbid;
+ public GetTask(String taskId) {
+ this.taskId = taskId;
}
public Task execute(Environment environment) throws Exception {
- DbSession dbSession = environment.get(DbSession.class);
- return dbSession.get(TaskImpl.class, taskDbid);
+ return environment.get(TaskDbSession.class).getTask(taskId);
}
}
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -23,12 +23,11 @@
import org.jbpm.cmd.Command;
import org.jbpm.env.Environment;
-import org.jbpm.session.DbSession;
import org.jbpm.task.Task;
+import org.jbpm.task.session.TaskDbSession;
-
/**
- * @author Tom Baeyens
+ * @author Alejandro Guizar
*/
public class UpdateTask implements Command<Void> {
@@ -41,8 +40,7 @@
}
public Void execute(Environment environment) throws Exception {
- DbSession dbSession = environment.get(DbSession.class);
- dbSession.save(task);
+ environment.get(TaskDbSession.class).save(task);
return null;
}
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/hibernate/HibernateTaskDbSession.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/hibernate/HibernateTaskDbSession.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/hibernate/HibernateTaskDbSession.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -21,14 +21,22 @@
*/
package org.jbpm.task.internal.hibernate;
+import org.hibernate.criterion.Restrictions;
import org.jbpm.pvm.internal.hibernate.HibernateDbSession;
+import org.jbpm.task.Task;
+import org.jbpm.task.internal.model.TaskImpl;
import org.jbpm.task.session.TaskDbSession;
/**
* @author Alejandro Guizar
- *
*/
public class HibernateTaskDbSession extends HibernateDbSession implements
TaskDbSession {
+ public Task getTask(String taskId) {
+ return (Task) session.createCriteria(TaskImpl.class)
+ .add(Restrictions.eq("id", taskId))
+ .uniqueResult();
+ }
+
}
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/model/TaskServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/model/TaskServiceImpl.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/model/TaskServiceImpl.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -28,68 +28,71 @@
import org.jbpm.task.Role;
import org.jbpm.task.Task;
import org.jbpm.task.internal.cmd.CreateTask;
+import org.jbpm.task.internal.cmd.DeleteTask;
+import org.jbpm.task.internal.cmd.GetTask;
import org.jbpm.task.internal.cmd.UpdateTask;
/**
- * @author Tom Baeyens
+ * @author Alejandro Guizar
*/
public class TaskServiceImpl implements TaskService {
-
- protected CommandService commandService;
-
- public TaskServiceImpl() {
- }
- public TaskServiceImpl(CommandService commandService) {
- this.commandService = commandService;
- }
+ protected CommandService commandService;
- public void updateTask(Task task) {
- commandService.execute(new UpdateTask(task));
- }
+ public TaskServiceImpl() {
+ }
- public CommandService getCommandService() {
- return commandService;
- }
- public void setCommandService(CommandService commandService) {
- this.commandService = commandService;
- }
+ public TaskServiceImpl(CommandService commandService) {
+ this.commandService = commandService;
+ }
- public void deleteTask(String taskId) {
- // TODO Auto-generated method stub
-
- }
+ public CommandService getCommandService() {
+ return commandService;
+ }
- public List<Task> getPersonalTaskList(String userId, int firstResult, int maxResults) {
- // TODO Auto-generated method stub
- return null;
- }
+ public void setCommandService(CommandService commandService) {
+ this.commandService = commandService;
+ }
- public Task getTask(String taskId) {
- // TODO Auto-generated method stub
- return null;
- }
+ public Task newTask(String taskId) {
+ return commandService.execute(new CreateTask(taskId));
+ }
- public Task newTask(String taskId) {
- return commandService.execute(new CreateTask(taskId));
- }
+ public Task getTask(String taskId) {
+ return commandService.execute(new GetTask(taskId));
+ }
- public void submitTask(String taskId) {
- // TODO Auto-generated method stub
- }
+ public void saveTask(Task task) {
+ commandService.execute(new UpdateTask(task));
+ }
- public List<Task> getGroupTaskList(String userId, int firstResult, int maxResults) {
- // TODO Auto-generated method stub
- return null;
- }
+ public void submitTask(String taskId) {
+ // TODO Auto-generated method stub
+ }
- public List<String> getCandidates(String taskId) {
- // TODO Auto-generated method stub
- return null;
- }
+ public void deleteTask(String taskId) {
+ commandService.execute(new DeleteTask(taskId));
+ }
- public List<Role> getRoles(String taskId) {
- // TODO Auto-generated method stub
- return null;
- }
+ public List<String> getCandidates(String taskId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Role> getRoles(String taskId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Task> getPersonalTaskList(String userId, int firstResult,
+ int maxResults) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Task> getGroupTaskList(String userId, int firstResult,
+ int maxResults) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java
===================================================================
--- jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -22,6 +22,7 @@
package org.jbpm.task.session;
import org.jbpm.session.DbSession;
+import org.jbpm.task.Task;
/**
* Persistence interface for tasks.
@@ -29,5 +30,5 @@
*/
public interface TaskDbSession extends DbSession {
- // TODO
+ Task getTask(String taskId);
}
Modified: jbpm4/trunk/modules/task/src/main/resources/jbpm.task.hbm.xml
===================================================================
--- jbpm4/trunk/modules/task/src/main/resources/jbpm.task.hbm.xml 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/main/resources/jbpm.task.hbm.xml 2008-12-05 23:14:34 UTC (rev 3245)
@@ -52,6 +52,7 @@
<discriminator type="char" column="CLASS_"/>
<version name="dbversion" column="DBVERSION_" />
+ <property name="id" column="ID_" unique="true" />
<property name="name" column="NAME_"/>
<property name="description" column="DESCR_"/>
<property name="assignee" column="ASSIGNEE_"/>
Modified: jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java
===================================================================
--- jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -30,8 +30,44 @@
public void testNewTask() {
String taskId = getName();
- Task task = createTask(taskId);
+ Task task = taskService.newTask(taskId);
assertEquals(taskId, task.getId());
+ // new task is transient
+ task = taskService.getTask(taskId);
+ assertNull("expected null, but was " + task, task);
}
+ public void testSaveTask() {
+ String taskId = getName();
+ Task task = taskService.newTask(taskId);
+ saveTask(task);
+ // task was made persistent
+ assertNotNull("expected task '" + taskId + "', but was null",
+ taskService.getTask(taskId));
+ }
+
+ public void testGetTask() {
+ String taskId = getName();
+ // ensure task does not exist
+ Task task = taskService.getTask(taskId);
+ assertNull("expected null, but was " + task, task);
+ // create task and verify it exists
+ task = taskService.newTask(taskId);
+ saveTask(task);
+ assertNotNull("expected task '" + taskId + "', but was null",
+ taskService.getTask(taskId));
+ }
+
+ public void testDeleteTask() {
+ String taskId = getName();
+ Task task = taskService.newTask(taskId);
+ taskService.saveTask(task);
+ // task was made persistent
+ assertNotNull("expected task '" + taskId + "', but was null",
+ taskService.getTask(taskId));
+ // delete task and verify it does not exist
+ taskService.deleteTask(taskId);
+ task = taskService.getTask(taskId);
+ assertNull("expected null, but was " + task, task);
+ }
}
Modified: jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/task/src/test/resources/jbpm.cfg.xml 2008-12-05 23:14:34 UTC (rev 3245)
@@ -42,7 +42,9 @@
<job-executor auto-start="false" />
<job-test-helper />
+ <!-- TODO reintroduce id-generator after lifecycle issue is fixed
<id-generator />
+ -->
<variable-types resource="jbpm.pvm.types.xml" />
<business-calendar>
Modified: jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/DbTestCase.java
===================================================================
--- jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/DbTestCase.java 2008-12-05 21:14:05 UTC (rev 3244)
+++ jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/DbTestCase.java 2008-12-05 23:14:34 UTC (rev 3245)
@@ -80,7 +80,13 @@
processService.deleteProcessDefinitionAndInstances(processDefinition.getId());
}
}
-
+
+ if (tasks != null) {
+ for (Task task : tasks) {
+ taskService.deleteTask(task.getId());
+ }
+ }
+
Db.verifyClean(processEngine);
super.tearDown();
@@ -106,14 +112,12 @@
return null;
}
- public Task createTask(String taskId) {
- Task task = taskService.newTask(taskId);
-
+ public void saveTask(Task task) {
if (tasks == null) {
tasks = new ArrayList<Task>();
}
tasks.add(task);
- return task;
+ taskService.saveTask(task);
}
}
More information about the jbpm-commits
mailing list