[jbpm-commits] JBoss JBPM SVN: r3256 - in jbpm4/trunk/modules/task/src: main/java/org/jbpm/task/internal/hibernate and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Dec 7 16:41:10 EST 2008


Author: alex.guizar at jboss.com
Date: 2008-12-07 16:41:10 -0500 (Sun, 07 Dec 2008)
New Revision: 3256

Added:
   jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/SaveTask.java
Removed:
   jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java
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/model/TaskServiceImpl.java
   jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java
   jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java
Log:
JBPM-1858: save operation failed when updating existing task

Copied: jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/SaveTask.java (from rev 3245, 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/SaveTask.java	                        (rev 0)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/SaveTask.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.jbpm.task.internal.cmd;
+
+import org.jbpm.cmd.Command;
+import org.jbpm.env.Environment;
+import org.jbpm.task.Task;
+import org.jbpm.task.session.TaskDbSession;
+
+/**
+ * @author Alejandro Guizar
+ */
+public class SaveTask implements Command<Void> {
+
+  private static final long serialVersionUID = 1L;
+  
+  protected Task task;
+
+  public SaveTask(Task task) {
+    this.task = task;
+  }
+
+  public Void execute(Environment environment) throws Exception {
+    environment.get(TaskDbSession.class).saveTask(task);
+    return null;
+  }
+
+}

Deleted: 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-07 13:54:54 UTC (rev 3255)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/cmd/UpdateTask.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.jbpm.task.internal.cmd;
-
-import org.jbpm.cmd.Command;
-import org.jbpm.env.Environment;
-import org.jbpm.task.Task;
-import org.jbpm.task.session.TaskDbSession;
-
-/**
- * @author Alejandro Guizar
- */
-public class UpdateTask implements Command<Void> {
-
-  private static final long serialVersionUID = 1L;
-  
-  protected Task task;
-
-  public UpdateTask(Task task) {
-    this.task = task;
-  }
-
-  public Void execute(Environment environment) throws Exception {
-    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-07 13:54:54 UTC (rev 3255)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/hibernate/HibernateTaskDbSession.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -39,4 +39,7 @@
         .uniqueResult();
   }
 
+  public void saveTask(Task task) {
+    session.saveOrUpdate(task);
+  }
 }

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-07 13:54:54 UTC (rev 3255)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/internal/model/TaskServiceImpl.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -30,7 +30,7 @@
 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;
+import org.jbpm.task.internal.cmd.SaveTask;
 
 /**
  * @author Alejandro Guizar
@@ -63,7 +63,7 @@
 	}
 
 	public void saveTask(Task task) {
-		commandService.execute(new UpdateTask(task));
+		commandService.execute(new SaveTask(task));
 	}
 
 	public void submitTask(String taskId) {

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-07 13:54:54 UTC (rev 3255)
+++ jbpm4/trunk/modules/task/src/main/java/org/jbpm/task/session/TaskDbSession.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -31,4 +31,6 @@
 public interface TaskDbSession extends DbSession {
 
   Task getTask(String taskId);
+
+  void saveTask(Task task);
 }

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-07 13:54:54 UTC (rev 3255)
+++ jbpm4/trunk/modules/task/src/test/java/org/jbpm/task/TaskServiceTest.java	2008-12-07 21:41:10 UTC (rev 3256)
@@ -21,6 +21,8 @@
  */
 package org.jbpm.task;
 
+import java.util.Date;
+
 import org.jbpm.test.DbTestCase;
 
 /**
@@ -42,8 +44,15 @@
     Task task = taskService.newTask(taskId);
     saveTask(task);
     // task was made persistent
-    assertNotNull("expected task '" + taskId + "', but was null",
-        taskService.getTask(taskId));
+    task = taskService.getTask(taskId); 
+    assertNotNull("expected task '" + taskId + "', but was null", task);
+    // make some change
+    Date dueDate = new Date();
+    task.setDueDate(dueDate);
+    taskService.saveTask(task);
+    // verify change is applied
+    task = taskService.getTask(taskId);
+    assertEquals(dueDate, task.getDueDate());
   }
 
   public void testGetTask() {




More information about the jbpm-commits mailing list