[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