[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