[jbpm-commits] JBoss JBPM SVN: r1740 - in jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src: test/java/org/jbpm and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jul 28 16:54:26 EDT 2008


Author: alex.guizar at jboss.com
Date: 2008-07-28 16:54:25 -0400 (Mon, 28 Jul 2008)
New Revision: 1740

Added:
   jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/test/java/org/jbpm/command/
   jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/test/java/org/jbpm/command/GetProcessInstancesCommandTest.java
Modified:
   jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/command/GetProcessInstancesCommand.java
Log:
allow process instance selection based on date and time, not just time: JBPM-1106

Modified: jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/command/GetProcessInstancesCommand.java
===================================================================
--- jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/command/GetProcessInstancesCommand.java	2008-07-28 17:11:43 UTC (rev 1739)
+++ jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/main/java/org/jbpm/command/GetProcessInstancesCommand.java	2008-07-28 20:54:25 UTC (rev 1740)
@@ -88,10 +88,10 @@
         Query query = jbpmContext.getSession().createQuery(queryText.toString());
 
         if (fromStartDate != null) {
-            query.setDate("from", fromStartDate);
+            query.setTimestamp("from", fromStartDate);
         }
         if (untilStartDate != null) {
-            query.setDate("until", untilStartDate);
+            query.setTimestamp("until", untilStartDate);
         }
 
         if (processName != null && processName.length() > 0) {

Added: jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/test/java/org/jbpm/command/GetProcessInstancesCommandTest.java
===================================================================
--- jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/test/java/org/jbpm/command/GetProcessInstancesCommandTest.java	                        (rev 0)
+++ jbossbpm/impl/jbpm3/trunk/modules/jpdl/core/src/test/java/org/jbpm/command/GetProcessInstancesCommandTest.java	2008-07-28 20:54:25 UTC (rev 1740)
@@ -0,0 +1,94 @@
+/*
+ * 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.command;
+
+import java.util.Calendar;
+import java.util.List;
+
+import org.jbpm.command.impl.CommandServiceImpl;
+import org.jbpm.db.AbstractDbTestCase;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+/**
+ * Test case for JBPM-1106.
+ * @author Alejandro Guizar
+ */
+public class GetProcessInstancesCommandTest extends AbstractDbTestCase {
+
+  private static CommandService commandService = new CommandServiceImpl(jbpmConfiguration);
+  private ProcessDefinition processDefinition;
+
+  public void setUp() throws Exception {
+	super.setUp();
+	processDefinition = new ProcessDefinition("Audit");
+	jbpmContext.deployProcessDefinition(processDefinition);
+
+	ProcessInstance processInstance = new ProcessInstance(processDefinition);
+	Calendar calendar = Calendar.getInstance();
+	calendar.set(2008, 8, 10, 9, 30);
+	processInstance.setStart(calendar.getTime());
+	jbpmContext.save(processInstance);
+
+	processInstance = new ProcessInstance(processDefinition);
+	calendar.set(Calendar.HOUR_OF_DAY, 16);
+	processInstance.setStart(calendar.getTime());
+	jbpmContext.save(processInstance);
+
+	processInstance = new ProcessInstance(processDefinition);
+	calendar.add(Calendar.DAY_OF_MONTH, 1);
+	processInstance.setStart(calendar.getTime());
+	jbpmContext.save(processInstance);
+
+	processInstance = new ProcessInstance(processDefinition);
+	calendar.set(Calendar.HOUR_OF_DAY, 9);
+	processInstance.setStart(calendar.getTime());
+	jbpmContext.save(processInstance);
+
+	newTransaction();
+  }
+
+  public void testStartDate() {
+	GetProcessInstancesCommand command = new GetProcessInstancesCommand();
+	Calendar calendar = Calendar.getInstance();
+	calendar.set(2008, 8, 10, 9, 0);
+	command.setFromStartDate(calendar.getTime());
+	calendar.add(Calendar.DAY_OF_MONTH, 1);
+	command.setUntilStartDate(calendar.getTime());
+
+	List processInstances = (List) commandService.execute(command);
+	assertEquals(2, processInstances.size());
+  }
+
+  public void testStartTime() {
+	GetProcessInstancesCommand command = new GetProcessInstancesCommand();
+	Calendar calendar = Calendar.getInstance();
+	calendar.set(2008, 8, 10, 9, 0);
+	command.setFromStartDate(calendar.getTime());
+	calendar.set(Calendar.HOUR_OF_DAY, 12);
+	command.setUntilStartDate(calendar.getTime());
+
+	List processInstances = (List) commandService.execute(command);
+	assertEquals(1, processInstances.size());
+  }
+
+}




More information about the jbpm-commits mailing list