[jbpm-commits] JBoss JBPM SVN: r6658 - in jbpm4/trunk/modules: api/src/main/java/org/jbpm/api/history and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Sep 14 00:04:32 EDT 2010


Author: alex.guizar at jboss.com
Date: 2010-09-14 00:04:29 -0400 (Tue, 14 Sep 2010)
New Revision: 6658

Added:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperator.java
Removed:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperand.java
Modified:
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/DeploymentQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/JobQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessInstanceQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/TaskQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryActivityInstanceQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryDetailQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryProcessInstanceQuery.java
   jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryTaskQuery.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/DeploymentQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryDetailQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryProcessInstanceQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryTaskQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/JobQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessInstanceQueryImpl.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/TaskQueryImpl.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessEndTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskReassignTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/DeploymentQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryProcessInstanceQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryTaskQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/JobQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessDefinitionQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessInstanceQueryTest.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/TaskQueryTest.java
Log:
JBPM-2873 allow variable number of operands

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/DeploymentQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/DeploymentQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/DeploymentQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -36,7 +36,7 @@
   DeploymentQuery deploymentId(String id);
   
   /** only include a specific deployment by id allows to specify query operand*/
-  DeploymentQuery deploymentId(String id, QueryOperand operand); 
+  DeploymentQuery deploymentId(QueryOperator operator, String... deploymentId); 
   
   /** only select suspended deployments */
   DeploymentQuery suspended();

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/JobQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/JobQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/JobQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -51,7 +51,7 @@
   JobQuery processInstanceId(String processInstanceId);
 
   /** only select jobs related to the given process instance, allows to specify query operand*/
-  JobQuery processInstanceId(String processInstanceId, QueryOperand operand); 
+  JobQuery processInstanceId(QueryOperator operator, String... processInstanceId); 
   
   /** only select jobs that were rolled back due to an exception */ 
   JobQuery exception(boolean hasException);

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessDefinitionQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -57,16 +57,16 @@
   ProcessDefinitionQuery deploymentId(String deploymentId);
   
   /** select only the process definition with the given id, allows to specify query operand */
-  ProcessDefinitionQuery processDefinitionId(String processDefinitionId, QueryOperand operand);
+  ProcessDefinitionQuery processDefinitionId(QueryOperator operator, String... processDefinitionId);
 
   /** select only process definitions with the given key, allows to specify query operand */
-  ProcessDefinitionQuery processDefinitionKey(String key, QueryOperand operand);
+  ProcessDefinitionQuery processDefinitionKey(QueryOperator operator, String... processDefinitionKey);
 
   /** select only process definitions with an exact match for the given name, allows to specify query operand */
-  ProcessDefinitionQuery processDefinitionName(String name, QueryOperand operand);
+  ProcessDefinitionQuery processDefinitionName(QueryOperator operator, String... processDefinitionName);
 
   /** select only process definitions within the given deployment, allows to specify query operand */
-  ProcessDefinitionQuery deploymentId(String deploymentId, QueryOperand operand);
+  ProcessDefinitionQuery deploymentId(QueryOperator operator, String... deploymentId);
 
   /** select only suspended process definitions */
   ProcessDefinitionQuery suspended();

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessInstanceQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessInstanceQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ProcessInstanceQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -47,19 +47,19 @@
   ProcessInstanceQuery processInstanceKey(String processInstanceKey);
   
   /** select only process instances that were started be given user */
-  ProcessInstanceQuery initiator(String user);
+  ProcessInstanceQuery initiator(String userId);
   
   /** select only process instances for the given process definition, allows to specify query operand */
-  ProcessInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand);
+  ProcessInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId);
 
   /** select only a specific process instances using the process instance id, allows to specify query operand */
-  ProcessInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  ProcessInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId);
   
   /** select only specific process instances using a business key, allows to specify query operand */
-  ProcessInstanceQuery processInstanceKey(String processInstanceKey, QueryOperand operand);
+  ProcessInstanceQuery processInstanceKey(QueryOperator operator, String... processInstanceKey);
 
   /** select only process instances that were started be given user, allows to specify query operand */
-  ProcessInstanceQuery initiator(String user, QueryOperand operand);
+  ProcessInstanceQuery initiator(QueryOperator operator, String... userId);
   
   /** select only suspended process definitions */
   ProcessInstanceQuery suspended();

Deleted: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperand.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperand.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperand.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -1,21 +0,0 @@
-package org.jbpm.api;
-
-public enum QueryOperand {
-
-  EQUALS("="),
-  LIKE("like"),
-  IN("in"),
-  NOT_IN("not in");
-
-  private final String value;
-
-  QueryOperand(String value) {
-    this.value = value;
-  }
-
-  @Override
-  public String toString() {
-    return value;
-  }
-
-}

Copied: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperator.java (from rev 6655, jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperand.java)
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperator.java	                        (rev 0)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/QueryOperator.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -0,0 +1,21 @@
+package org.jbpm.api;
+
+public enum QueryOperator {
+
+  EQUALS("="),
+  LIKE("like"),
+  IN("in"),
+  NOT_IN("not in");
+
+  private final String value;
+
+  QueryOperator(String value) {
+    this.value = value;
+  }
+
+  @Override
+  public String toString() {
+    return value;
+  }
+
+}

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/TaskQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/TaskQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/TaskQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -25,7 +25,6 @@
 
 import org.jbpm.api.task.Task;
 
-
 /** query for tasks.
  * 
  * @author Tom Baeyens
@@ -71,24 +70,24 @@
    * can be used in combination with the {@link #processDefinitionId(String)} */
   TaskQuery activityName(String activityName);
   
-  /** only query for tasks for which the given user is a candidate, allows to specify query operand.
+  /** only query for tasks for which the given user is a candidate, allows to specify query operator.
    * The user could be associated directly as a candidate participant 
    * to the task or the user could be a member of a group that is 
    * associated as a candidate group to the task. */
-  TaskQuery assignee(String userId, QueryOperand operand);
+  TaskQuery assignee(QueryOperator operator, String... userId);
   
-    /** only select tasks that are associated to the given execution, allows to specify query operand */
-  TaskQuery executionId(String executionId, QueryOperand operand);
+  /** only select tasks that are associated to the given execution, allows to specify query operator */
+  TaskQuery executionId(QueryOperator operator, String... executionId);
 
-  /** only select tasks that are associated to the given process instance, allows to specify query operand */
-  TaskQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  /** only select tasks that are associated to the given process instance, allows to specify query operator */
+  TaskQuery processInstanceId(QueryOperator operator, String... processInstanceId);
 
-  /** only select tasks that are associated to the given process definition, allows to specify query operand */
-  TaskQuery processDefinitionId(String processDefinitionId, QueryOperand operand);
+  /** only select tasks that are associated to the given process definition, allows to specify query operator */
+  TaskQuery processDefinitionId(QueryOperator operator, String... processDefinitionId);
 
-  /** only select tasks that are associated to the given activity name, allows to specify query operand.  This 
-   * can be used in combination with the {@link #processDefinitionId(String)} */
-  TaskQuery activityName(String activityName, QueryOperand operand);
+  /** only select tasks that are associated to the given activity name, allows to specify query operator.
+   * can be used in combination with {@link #processDefinitionId(String)} */
+  TaskQuery activityName(QueryOperator operator, String... activityName);
 
   /** only select suspended tasks */
   TaskQuery suspended();

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryActivityInstanceQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryActivityInstanceQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryActivityInstanceQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -24,7 +24,7 @@
 import java.util.Date;
 import java.util.List;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 
 
 /** query for {@link HistoryActivityInstance activity occurrences}.
@@ -55,13 +55,13 @@
   HistoryActivityInstanceQuery processInstanceId(String processInstanceId);
   
   /** only select activity instances for the given process definition, allows to specify query operand */
-  HistoryActivityInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand);
+  HistoryActivityInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId);
 
   /** only select activity instances for the given execution, allows to specify query operand */
-  HistoryActivityInstanceQuery executionId(String executionId, QueryOperand operand);
+  HistoryActivityInstanceQuery executionId(QueryOperator operator, String... executionId);
   
   /** only select activity instances for the given process instance id, allows to specify query operand */
-  HistoryActivityInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  HistoryActivityInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId);
 
   /** only select activity instances started after the given time */
   HistoryActivityInstanceQuery startedAfter(Date time);
@@ -78,7 +78,7 @@
   
   /** only select activity instances for the given activity, allows to specify query operand 
    * (this usually used in combination with {@link #processDefinitionId(String)}) */
-  HistoryActivityInstanceQuery activityName(String activityName, QueryOperand operand);
+  HistoryActivityInstanceQuery activityName(QueryOperator operator, String... activityName);
 
   /** only select activity instances that took longer then the given duration in milliseconds */
   HistoryActivityInstanceQuery tookLongerThen(long durationInMillis);

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryDetailQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryDetailQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryDetailQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -24,7 +24,7 @@
 import java.util.Date;
 import java.util.List;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 
 
 /** query for task comments, task assignments and so on.
@@ -49,13 +49,13 @@
   HistoryDetailQuery taskId(String taskId);
   
   /** only select details for the given processInstanceId, allows to specify query operand */
-  HistoryDetailQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  HistoryDetailQuery processInstanceId(QueryOperator operator, String... processInstanceId);
 
   /** only select details for the given activityInstanceId, allows to specify query operand */
-  HistoryDetailQuery activityInstanceId(String activityInstanceId, QueryOperand operand);
+  HistoryDetailQuery activityInstanceId(QueryOperator operator, String... activityInstanceId);
 
   /** only select details for the given taskId, allows to specify query operand */
-  HistoryDetailQuery taskId(String taskId, QueryOperand operand);
+  HistoryDetailQuery taskId(QueryOperator operator, String... taskId);
 
   /** only select details after the given time */
   HistoryDetailQuery timeAfter(Date time);

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryProcessInstanceQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryProcessInstanceQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryProcessInstanceQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -24,7 +24,7 @@
 import java.util.Date;
 import java.util.List;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 
 
 /** query for ongoing and finished
@@ -68,23 +68,23 @@
   HistoryProcessInstanceQuery superProcessInstanceId(String processInstanceId);
   
   /** select only the process instances with the given id, allows to specify query operand */
-  HistoryProcessInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  HistoryProcessInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId);
 
   /** select only process instances with the given process definition, allows to specify query operand */
-  HistoryProcessInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand);
+  HistoryProcessInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId);
   
   /** select only process instances with the given business key, allows to specify query operand */
-  HistoryProcessInstanceQuery processInstanceKey(String processInstanceKey, QueryOperand operand);
+  HistoryProcessInstanceQuery processInstanceKey(QueryOperator operator, String... processInstanceKey);
 
   /** select only process instances in the given state, allows to specify query operand */
-  HistoryProcessInstanceQuery state(String state, QueryOperand operand);
+  HistoryProcessInstanceQuery state(QueryOperator operator, String... state);
   
   /** select only process instances that were started be given user, allows to specify query operand */
-  HistoryProcessInstanceQuery initiator(String user, QueryOperand operand);
+  HistoryProcessInstanceQuery initiator(QueryOperator operator, String... userId);
   
   /** select only the process instances with the super process instance as given id,
    * in other words sub process instances, allows to specify query operand */
-  HistoryProcessInstanceQuery superProcessInstanceId(String processInstanceId, QueryOperand operand);
+  HistoryProcessInstanceQuery superProcessInstanceId(QueryOperator operator, String... processInstanceId);
 
   /** order selected process instances ascending for certain {@link #PROPERTY_STARTTIME properties} */
   HistoryProcessInstanceQuery orderAsc(String property);

Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryTaskQuery.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryTaskQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/history/HistoryTaskQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -24,7 +24,7 @@
 import java.util.Date;
 import java.util.List;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 
 
 /** query for history tasks.
@@ -67,25 +67,25 @@
   HistoryTaskQuery state(String state);
   
   /** only select the history task for the given id, allows to specify query operand */
-  HistoryTaskQuery taskId(String taskId, QueryOperand operand);
+  HistoryTaskQuery taskId(QueryOperator operator, String... taskId);
   
   /** only select history tasks within the given processInstanceId, allows to specify query operand */
-  HistoryTaskQuery processInstanceId(String processInstanceId, QueryOperand operand);
+  HistoryTaskQuery processInstanceId(QueryOperator operator, String... processInstanceId);
   
   /** only select history tasks within the given execution, allows to specify query operand */
-  HistoryTaskQuery executionId(String executionId, QueryOperand operand);
+  HistoryTaskQuery executionId(QueryOperator operator, String... executionId);
   
   /** only select history tasks for the given assignee, allows to specify query operand */
-  HistoryTaskQuery assignee(String assignee, QueryOperand operand);
+  HistoryTaskQuery assignee(QueryOperator operator, String... assignee);
 
   /** only select history tasks in the given state, allows to specify query operand */
-  HistoryTaskQuery state(String state, QueryOperand operand);
+  HistoryTaskQuery state(QueryOperator operator, String... state);
 
   /** only select history tasks that have the given outcome */
   HistoryTaskQuery outcome(String outcome);
   
   /** only select history tasks that have the given outcome, allows to specify query operand */
-  HistoryTaskQuery outcome(String outcome, QueryOperand operand);
+  HistoryTaskQuery outcome(QueryOperator operator, String... outcome);
 
   /** order selected history tasks ascending for certain {@link #PROPERTY_ID properties} */
   HistoryTaskQuery orderAsc(String property);

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/AbstractQuery.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -31,7 +31,7 @@
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.cmd.Command;
 import org.jbpm.api.cmd.Environment;
 import org.jbpm.pvm.internal.cmd.CommandService;
@@ -52,11 +52,11 @@
   protected boolean count;
   protected boolean uniqueResult;
 
-  protected Map<String, QueryOperand> parameterOperands = new HashMap<String, QueryOperand>();
+  protected Map<String, QueryOperator> parameterOperators = new HashMap<String, QueryOperator>();
 
   protected abstract void applyParameters(Query query);
 
-  public abstract String hql();
+  protected abstract String hql();
 
   /* reuse by copy and paste:
    * (return type can't be changed)
@@ -161,11 +161,11 @@
     }
   }
 
-  protected QueryOperand getOperand(String param) {
-    if (parameterOperands.containsKey(param)) {
-      return parameterOperands.get(param);
+  protected QueryOperator getOperator(String param) {
+    if (parameterOperators.containsKey(param)) {
+      return parameterOperators.get(param);
     }
-    return QueryOperand.EQUALS;
+    return QueryOperator.EQUALS;
   }
 
   /**
@@ -206,32 +206,27 @@
     }
   }
 
-  protected void appendWhereClauseWithOperand(String where, String namedParam, StringBuilder hql) {
-    QueryOperand operand = getOperand(namedParam);
-    switch (operand) {
+  protected void appendWhereClauseWithOperator(String where, String namedParam, StringBuilder hql) {
+    QueryOperator operator = getOperator(namedParam);
+    switch (operator) {
     case IN:
     case NOT_IN:
-      appendWhereClause(where + " " + operand + " (:" + namedParam + ") ", hql);
+      appendWhereClause(where + " " + operator + " (:" + namedParam + ") ", hql);
       break;
     default:
-      appendWhereClause(where + " " + operand + " :" + namedParam + " ", hql);
+      appendWhereClause(where + " " + operator + " :" + namedParam + " ", hql);
     }
   }
 
-  protected void applyParameterWithOperand(String parameter, String namedParam, Class<?> clazz,
-    Query query) {
-    switch (getOperand(namedParam)) {
-    case IN:
-    case NOT_IN:
-      query.setParameterList(namedParam, transformToArray(parameter, clazz));
+  protected void applyParameterWithOperator(String name, Object[] values, Query query) {
+    switch (values.length) {
+    case 0:
       break;
+    case 1:
+      query.setParameter(name, values[0]);
+      break;
     default:
-      if (clazz == Long.class) {
-        query.setLong(namedParam, Long.parseLong(parameter));
-      }
-      else {
-        query.setString(namedParam, parameter);
-      }
+      query.setParameterList(name, values);
     }
   }
 

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/DeploymentQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/DeploymentQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/DeploymentQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -26,7 +26,7 @@
 import org.hibernate.Query;
 import org.jbpm.api.Deployment;
 import org.jbpm.api.DeploymentQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
 import org.jbpm.pvm.internal.util.CollectionUtil;
 
@@ -38,10 +38,10 @@
 
   private static final long serialVersionUID = 1L;
 
-  protected String deploymentId;
+  protected Long[] deploymentId;
   protected Boolean suspended;
 
-  public String hql() {
+  protected String hql() {
     StringBuilder hql = new StringBuilder();
 
     hql.append("select ");
@@ -57,7 +57,7 @@
     hql.append(" as d ");
 
     if (deploymentId != null) {
-      appendWhereClauseWithOperand("d.dbid", "deploymentId", hql);
+      appendWhereClauseWithOperator("d.dbid", "deploymentId", hql);
     }
 
     if (suspended != null) {
@@ -76,12 +76,12 @@
 
   protected void applyParameters(Query query) {
     if (deploymentId != null) {
-      applyParameterWithOperand(deploymentId, "deploymentId", Long.class, query);
+      applyParameterWithOperator("deploymentId", deploymentId, query);
     }
   }
 
   public DeploymentQuery deploymentId(String deploymentId) {
-    this.deploymentId = deploymentId;
+    this.deploymentId = new Long[] { Long.valueOf(deploymentId) };
     return this;
   }
 
@@ -118,9 +118,12 @@
     return (Deployment) untypedUniqueResult();
   }
 
-  public DeploymentQuery deploymentId(String id, QueryOperand operand) {
-    this.deploymentId = id;
-    parameterOperands.put("deploymentId", operand);
+  public DeploymentQuery deploymentId(QueryOperator operator, String... deploymentId) {
+    this.deploymentId = new Long[deploymentId.length];
+    for (int i = 0; i < deploymentId.length; i++) {
+      this.deploymentId[i] = Long.valueOf(deploymentId[i]);
+    }
+    parameterOperators.put("deploymentId", operator);
     return this;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryActivityInstanceQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -26,7 +26,7 @@
 
 import org.hibernate.Query;
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryActivityInstance;
 import org.jbpm.api.history.HistoryActivityInstanceQuery;
 import org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl;
@@ -41,17 +41,17 @@
 
   private static final long serialVersionUID = 1L;
   
-  protected String processDefinitionId;
+  protected String[] processDefinitionId;
   protected Long tookLessThen;
   protected Long tookLongerThen;
   protected Date startedBefore;
   protected Date startedAfter;
-  protected String executionId;
-  protected String processInstanceId;
-  protected String activityName;
+  protected String[] executionId;
+  protected String[] processInstanceId;
+  protected String[] activityName;
   protected boolean completedOnly;
 
-  public String hql() {
+  protected String hql() {
   	StringBuilder hql = new StringBuilder();
   	
   	hql.append("select ");
@@ -66,7 +66,7 @@
     hql.append(" as hai ");
     
     if (processDefinitionId!=null) {
-      appendWhereClauseWithOperand("hai.historyProcessInstance.processDefinitionId", "processDefinitionId", hql);
+      appendWhereClauseWithOperator("hai.historyProcessInstance.processDefinitionId", "processDefinitionId", hql);
     }
 
     if (tookLessThen!=null) {
@@ -86,15 +86,15 @@
     }
     
     if (processInstanceId!=null) {
-      appendWhereClauseWithOperand("hai.historyProcessInstance.processInstanceId", "processInstanceId", hql);
+      appendWhereClauseWithOperator("hai.historyProcessInstance.processInstanceId", "processInstanceId", hql);
     }
     
     if (executionId!=null) {
-      appendWhereClauseWithOperand("hai.executionId", "executionId", hql);
+      appendWhereClauseWithOperator("hai.executionId", "executionId", hql);
     }
     
     if (activityName!=null) {
-      appendWhereClauseWithOperand("hai.activityName", "activityName", hql);
+      appendWhereClauseWithOperator("hai.activityName", "activityName", hql);
     }
     
     if (completedOnly) {
@@ -124,19 +124,19 @@
     }
     
     if (processDefinitionId!=null) {
-      applyParameterWithOperand(processDefinitionId, "processDefinitionId", String.class, query);
+      applyParameterWithOperator("processDefinitionId", processDefinitionId, query);
     }
     
     if (processInstanceId!=null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
     
     if (executionId!=null) {
-      applyParameterWithOperand(executionId, "executionId", String.class, query);
+      applyParameterWithOperator("executionId", executionId, query);
     }
     
     if (activityName!=null) {
-      applyParameterWithOperand(activityName, "activityName", String.class, query);
+      applyParameterWithOperator("activityName", activityName, query);
     }
   }
 
@@ -149,17 +149,17 @@
   }
 
   public HistoryActivityInstanceQuery activityName(String activityName) {
-    this.activityName = activityName;
+    this.activityName = new String[] { activityName };
     return this;
   }
 
   public HistoryActivityInstanceQuery executionId(String executionId) {
-    this.executionId = executionId;
+    this.executionId = new String[] { executionId };
     return this;
   }
   
   public HistoryActivityInstanceQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
 
@@ -182,7 +182,7 @@
     if (processDefinitionId==null) {
       throw new JbpmException("processInstanceId is null");
     }
-    this.processDefinitionId = processDefinitionId;
+    this.processDefinitionId = new String[] { processDefinitionId };
     return this;
   }
 
@@ -211,30 +211,30 @@
     return this;
   }
 
-  public HistoryActivityInstanceQuery activityName(String activityName, QueryOperand operand) {
+  public HistoryActivityInstanceQuery activityName(QueryOperator operator, String... activityName) {
     this.activityName = activityName;
-    parameterOperands.put("activityName", operand);
+    parameterOperators.put("activityName", operator);
     
     return this;
   }
 
-  public HistoryActivityInstanceQuery executionId(String executionId, QueryOperand operand) {
+  public HistoryActivityInstanceQuery executionId(QueryOperator operator, String... executionId) {
     this.executionId = executionId;
-    parameterOperands.put("executionId", operand);
+    parameterOperators.put("executionId", operator);
     
     return this;
   }
 
-  public HistoryActivityInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand) {
+  public HistoryActivityInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId) {
     this.processDefinitionId = processDefinitionId;
-    parameterOperands.put("processDefinitionId", operand);
+    parameterOperators.put("processDefinitionId", operator);
     
     return this;
   }
 
-  public HistoryActivityInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public HistoryActivityInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryDetailQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryDetailQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryDetailQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -25,14 +25,14 @@
 import java.util.List;
 
 import org.hibernate.Query;
-import org.jbpm.api.QueryOperand;
+
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryDetail;
 import org.jbpm.api.history.HistoryDetailQuery;
 import org.jbpm.pvm.internal.history.model.HistoryCommentImpl;
 import org.jbpm.pvm.internal.history.model.HistoryDetailImpl;
 import org.jbpm.pvm.internal.util.CollectionUtil;
 
-
 /**
  * @author Tom Baeyens
  * @author Maciej Swiderski
@@ -44,11 +44,13 @@
   protected Date timeBefore;
   protected Date timeAfter;
   
-  protected String processInstanceId;
-  protected String activityInstanceId;
-  protected String taskId;
+  protected String[] processInstanceId;
+  protected String[] activityInstanceId;
+  protected String[] taskId;
 
-  public String hql() {
+  private static final long serialVersionUID = 1L;
+
+  protected String hql() {
     StringBuilder hql = new StringBuilder();
     hql.append("select ");
     if (count) {
@@ -61,15 +63,15 @@
     hql.append(" as hd ");
     
     if (taskId!=null) {
-      appendWhereClauseWithOperand("hd.historyTask.dbid", "taskId", hql);
+      appendWhereClauseWithOperator("hd.historyTask.dbid", "taskId", hql);
     }
     
     if (processInstanceId!=null) {
-      appendWhereClauseWithOperand("hd.historyProcessInstance.processInstanceId", "processInstanceId", hql);
+      appendWhereClauseWithOperator("hd.historyProcessInstance.processInstanceId", "processInstanceId", hql);
     }
     
     if (activityInstanceId!=null) {
-      appendWhereClauseWithOperand("hd.historyActivityInstance.dbid", "activityInstanceId", hql);
+      appendWhereClauseWithOperator("hd.historyActivityInstance.dbid", "activityInstanceId", hql);
     }
     
     if (timeBefore!=null) {
@@ -95,15 +97,15 @@
     }
     
     if (taskId!=null) {
-      applyParameterWithOperand(taskId, "taskId", Long.class, query);
+      applyParameterWithOperator("taskId", taskId, query);
     }
     
     if (processInstanceId!=null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
     
     if (activityInstanceId!=null) {
-      applyParameterWithOperand(activityInstanceId, "activityInstanceId", Long.class, query);
+      applyParameterWithOperator("activityInstanceId", activityInstanceId, query);
     }
   }
 
@@ -116,7 +118,7 @@
   }
 
   public HistoryDetailQuery taskId(String taskId) {
-    this.taskId = taskId;
+    this.taskId = new String[] { taskId };
     return this;
   }
 
@@ -136,12 +138,12 @@
   }
 
   public HistoryDetailQuery activityInstanceId(String activityInstanceId) {
-    this.activityInstanceId = activityInstanceId;
+    this.activityInstanceId = new String[] { activityInstanceId };
     return this;
   }
 
   public HistoryDetailQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
 
@@ -160,23 +162,23 @@
     return this;
   }
 
-  public HistoryDetailQuery activityInstanceId(String activityInstanceId, QueryOperand operand) {
+  public HistoryDetailQuery activityInstanceId(QueryOperator operator, String... activityInstanceId) {
     this.activityInstanceId = activityInstanceId;
-    parameterOperands.put("activityInstanceId", operand);
+    parameterOperators.put("activityInstanceId", operator);
     
     return this;
   }
 
-  public HistoryDetailQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public HistoryDetailQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }
 
-  public HistoryDetailQuery taskId(String taskId, QueryOperand operand) {
+  public HistoryDetailQuery taskId(QueryOperator operator, String... taskId) {
     this.taskId = taskId;
-    parameterOperands.put("taskId", operand);
+    parameterOperators.put("taskId", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryProcessInstanceQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryProcessInstanceQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryProcessInstanceQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -25,7 +25,7 @@
 import java.util.List;
 
 import org.hibernate.Query;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.api.history.HistoryProcessInstanceQuery;
 import org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl;
@@ -40,19 +40,19 @@
 
   private static final long serialVersionUID = 1L;
   
-  protected String processDefinitionId;
-  protected String state;
-  protected String processInstanceId;
-  protected String processInstanceKey;
-  protected String initiator;
-  protected String superProcessInstanceId;
+  protected String[] processDefinitionId;
+  protected String[] state;
+  protected String[] processInstanceId;
+  protected String[] processInstanceKey;
+  protected String[] initiator;
+  protected String[] superProcessInstanceId;
 
   protected boolean ended;
   protected Date endedBefore;
   protected Date endedAfter;
   
 
-  public String hql() {
+  protected String hql() {
   	StringBuilder hql = new StringBuilder();
   	
   	hql.append("select ");
@@ -67,27 +67,27 @@
     hql.append(" as hpi ");
     
     if (processInstanceId!=null) {
-      appendWhereClauseWithOperand("hpi.processInstanceId", "processInstanceId", hql);
+      appendWhereClauseWithOperator("hpi.processInstanceId", "processInstanceId", hql);
     }
     
     if (processDefinitionId!=null) {
-      appendWhereClauseWithOperand("hpi.processDefinitionId", "processDefinitionId", hql);
+      appendWhereClauseWithOperator("hpi.processDefinitionId", "processDefinitionId", hql);
     }
     
     if (state!=null) {
-      appendWhereClauseWithOperand("hpi.state", "state", hql);
+      appendWhereClauseWithOperator("hpi.state", "state", hql);
     }
     
     if (processInstanceKey!=null) {
-      appendWhereClauseWithOperand("hpi.key", "processInstanceKey", hql);
+      appendWhereClauseWithOperator("hpi.key", "processInstanceKey", hql);
     }
     
     if (initiator!=null) {
-      appendWhereClauseWithOperand("hpi.initiator", "initiator", hql);
+      appendWhereClauseWithOperator("hpi.initiator", "initiator", hql);
     }
     
     if (superProcessInstanceId!=null) {
-      appendWhereClauseWithOperand("hpi.superProcessInstanceId", "superProcessInstanceId", hql);
+      appendWhereClauseWithOperator("hpi.superProcessInstanceId", "superProcessInstanceId", hql);
     }
     
     if (ended) {
@@ -114,27 +114,27 @@
     }
     
     if (processInstanceId!=null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
     
     if (processDefinitionId!=null) {
-      applyParameterWithOperand(processDefinitionId, "processDefinitionId", String.class, query);
+      applyParameterWithOperator("processDefinitionId", processDefinitionId, query);
     }
     
     if (state!=null) {
-      applyParameterWithOperand(state, "state", String.class, query);
+      applyParameterWithOperator("state", state, query);
     }
     
     if (processInstanceKey!=null) {
-      applyParameterWithOperand(processInstanceKey, "processInstanceKey", String.class, query);
+      applyParameterWithOperator("processInstanceKey", processInstanceKey, query);
     }
     
     if (initiator!=null) {
-      applyParameterWithOperand(initiator, "initiator", String.class, query);
+      applyParameterWithOperator("initiator", initiator, query);
     }
     
     if (superProcessInstanceId!=null) {
-      applyParameterWithOperand(superProcessInstanceId, "superProcessInstanceId", String.class, query);
+      applyParameterWithOperator("superProcessInstanceId", superProcessInstanceId, query);
     }
   }
 
@@ -147,7 +147,7 @@
   }
 
   public HistoryProcessInstanceQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
 
@@ -167,22 +167,22 @@
   }
 
   public HistoryProcessInstanceQuery processDefinitionId(String processDefinitionId) {
-    this.processDefinitionId = processDefinitionId;
+    this.processDefinitionId = new String[] { processDefinitionId };
     return this;
   }
   
   public HistoryProcessInstanceQuery processInstanceKey(String processInstanceKey) {
-    this.processInstanceKey = processInstanceKey;
+    this.processInstanceKey = new String[] { processInstanceKey };
     return this;
   }
 
   public HistoryProcessInstanceQuery state(String state) {
-    this.state = state;
+    this.state = new String[] { state };
     return this;
   }
   
   public HistoryProcessInstanceQuery initiator(String user) {
-    this.initiator = user;
+    this.initiator = new String[] { user };
     return this;
   }
 
@@ -210,50 +210,50 @@
     return this;
   }
 
-  public HistoryProcessInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand) {
+  public HistoryProcessInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId) {
     this.processDefinitionId = processDefinitionId;
-    parameterOperands.put("processDefinitionId", operand);
+    parameterOperators.put("processDefinitionId", operator);
     
     return this;
   }
 
-  public HistoryProcessInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public HistoryProcessInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }
 
-  public HistoryProcessInstanceQuery processInstanceKey(String processInstanceKey, QueryOperand operand) {
+  public HistoryProcessInstanceQuery processInstanceKey(QueryOperator operator, String... processInstanceKey) {
     this.processInstanceKey = processInstanceKey;
-    parameterOperands.put("processInstanceKey", operand);
+    parameterOperators.put("processInstanceKey", operator);
     
     return this;
   }
 
-  public HistoryProcessInstanceQuery state(String state, QueryOperand operand) {
+  public HistoryProcessInstanceQuery state(QueryOperator operator, String... state) {
     this.state = state;
-    parameterOperands.put("state", operand);
+    parameterOperators.put("state", operator);
     
     return this;
   }
   
-  public HistoryProcessInstanceQuery initiator(String user, QueryOperand operand) {
-    this.initiator = user;
-    parameterOperands.put("initiator", operand);
+  public HistoryProcessInstanceQuery initiator(QueryOperator operator, String... userId) {
+    this.initiator = userId;
+    parameterOperators.put("initiator", operator);
     
     return this;
   }
 
   public HistoryProcessInstanceQuery superProcessInstanceId(String processInstanceId) {
-    this.superProcessInstanceId = processInstanceId;
+    this.superProcessInstanceId = new String[] { processInstanceId };
     
     return this;
   }
 
-  public HistoryProcessInstanceQuery superProcessInstanceId(String processInstanceId, QueryOperand operand) {
+  public HistoryProcessInstanceQuery superProcessInstanceId(QueryOperator operator, String... processInstanceId) {
     this.superProcessInstanceId = processInstanceId;
-    parameterOperands.put("superProcessInstanceId", operand);
+    parameterOperators.put("superProcessInstanceId", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryTaskQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryTaskQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/HistoryTaskQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -26,7 +26,7 @@
 
 import org.hibernate.Query;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryTask;
 import org.jbpm.api.history.HistoryTaskQuery;
 import org.jbpm.pvm.internal.history.model.HistoryTaskImpl;
@@ -39,18 +39,20 @@
  */
 public class HistoryTaskQueryImpl extends AbstractQuery implements HistoryTaskQuery {
 
-  protected String taskId;
-  protected String executionId;
-  protected String processInstanceId;
-  protected String assignee;
-  protected String state;
-  protected String outcome;
+  protected Long[] taskId;
+  protected String[] executionId;
+  protected String[] processInstanceId;
+  protected String[] assignee;
+  protected String[] state;
+  protected String[] outcome;
   protected Long tookLessThen;
   protected Long tookLongerThen;
   protected Date startedBefore;
   protected Date startedAfter;
 
-  public String hql() {
+  private static final long serialVersionUID = 1L;
+
+  protected String hql() {
     StringBuilder hql = new StringBuilder();
     
     hql.append("select ");
@@ -69,27 +71,27 @@
       hql.append(HistoryTaskInstanceImpl.class.getName());
       hql.append(" as hti ");
       appendWhereClause("ht = hti.historyTask", hql);
-      appendWhereClauseWithOperand("hti.historyProcessInstance.processInstanceId", "processInstanceId", hql);
+      appendWhereClauseWithOperator("hti.historyProcessInstance.processInstanceId", "processInstanceId", hql);
     }
     
     if (taskId!=null) {
-      appendWhereClauseWithOperand("ht.dbid", "taskId", hql);
+      appendWhereClauseWithOperator("ht.dbid", "taskId", hql);
     }
     
     if (executionId!=null) {
-      appendWhereClauseWithOperand("ht.executionId", "executionId", hql);
+      appendWhereClauseWithOperator("ht.executionId", "executionId", hql);
     }
     
     if (assignee!=null) {
-      appendWhereClauseWithOperand("ht.assignee", "assignee", hql);
+      appendWhereClauseWithOperator("ht.assignee", "assignee", hql);
     }
 
     if (state!=null) {
-      appendWhereClauseWithOperand("ht.state", "state", hql);
+      appendWhereClauseWithOperator("ht.state", "state", hql);
     }
 
     if (outcome!=null) {
-      appendWhereClauseWithOperand("ht.outcome", "outcome", hql);
+      appendWhereClauseWithOperator("ht.outcome", "outcome", hql);
     }
 
     if (tookLessThen!=null) {
@@ -131,27 +133,27 @@
     }
     
     if (processInstanceId!=null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
     
     if (taskId!=null) {
-      applyParameterWithOperand(taskId, "taskId", Long.class, query);
+      applyParameterWithOperator("taskId", taskId, query);
     }
     
     if (executionId!=null) {
-      applyParameterWithOperand(executionId, "executionId", String.class, query);
+      applyParameterWithOperator("executionId", executionId, query);
     }
     
     if (assignee!=null) {
-      applyParameterWithOperand(assignee, "assignee", String.class, query);
+      applyParameterWithOperator("assignee", assignee, query);
     }
 
     if (state!=null) {
-      applyParameterWithOperand(state, "state", String.class, query);
+      applyParameterWithOperator("state", state, query);
     }
 
     if (outcome!=null) {
-      applyParameterWithOperand(outcome, "outcome", String.class, query);
+      applyParameterWithOperator("outcome", outcome, query);
     }
   }
 
@@ -164,32 +166,32 @@
   }
 
   public HistoryTaskQuery taskId(String taskId) {
-    this.taskId = taskId;
+    this.taskId = new Long[] { Long.valueOf(taskId) };
     return this;
   }
 
   public HistoryTaskQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
   
   public HistoryTaskQuery executionId(String executionId) {
-    this.executionId = executionId;
+    this.executionId = new String[] { executionId };
     return this;
   }
 
   public HistoryTaskQuery assignee(String assignee) {
-    this.assignee = assignee;
+    this.assignee = new String[] { assignee };
     return this;
   }
 
   public HistoryTaskQuery state(String state) {
-    this.state = state;
+    this.state = new String[] { state };
     return this;
   }
 
   public HistoryTaskQuery outcome(String outcome) {
-    this.outcome = outcome;
+    this.outcome = new String[] { outcome };
     return this;
   }
 
@@ -228,44 +230,47 @@
     return this;
   }
 
-  public HistoryTaskQuery assignee(String assignee, QueryOperand operand) {
+  public HistoryTaskQuery assignee(QueryOperator operator, String... assignee) {
     this.assignee = assignee;
-    parameterOperands.put("assignee", operand);
+    parameterOperators.put("assignee", operator);
     
     return this;
   }
   
-  public HistoryTaskQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public HistoryTaskQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }
 
-  public HistoryTaskQuery executionId(String executionId, QueryOperand operand) {
+  public HistoryTaskQuery executionId(QueryOperator operator, String... executionId) {
     this.executionId = executionId;
-    parameterOperands.put("executionId", operand);
+    parameterOperators.put("executionId", operator);
     
     return this;
   }
 
-  public HistoryTaskQuery state(String state, QueryOperand operand) {
+  public HistoryTaskQuery state(QueryOperator operator, String... state) {
     this.state = state;
-    parameterOperands.put("state", operand);
+    parameterOperators.put("state", operator);
     
     return this;
   }
 
-  public HistoryTaskQuery taskId(String taskId, QueryOperand operand) {
-    this.taskId = taskId;
-    parameterOperands.put("taskId", operand);
+  public HistoryTaskQuery taskId(QueryOperator operator, String... taskId) {
+    this.taskId = new Long[taskId.length];
+    for (int i = 0; i < taskId.length; i++) {
+      this.taskId[i] = Long.valueOf(taskId[i]);
+    }
+    parameterOperators.put("taskId", operator);
     
     return this;
   }
   
-  public HistoryTaskQuery outcome(String outcome, QueryOperand operand) {
+  public HistoryTaskQuery outcome(QueryOperator operator, String... outcome) {
     this.outcome = outcome;
-    parameterOperands.put("outcome", operand);
+    parameterOperators.put("outcome", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/JobQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/JobQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/JobQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -24,15 +24,15 @@
 import java.util.List;
 
 import org.hibernate.Query;
+
 import org.jbpm.api.JobQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.job.Job;
 import org.jbpm.pvm.internal.job.JobImpl;
 import org.jbpm.pvm.internal.job.MessageImpl;
 import org.jbpm.pvm.internal.job.TimerImpl;
 import org.jbpm.pvm.internal.util.CollectionUtil;
 
-
 /**
  * @author Tom Baeyens
  * @author Maciej Swiderski
@@ -41,14 +41,12 @@
   
   private static final long serialVersionUID = 1L;
 
-  protected boolean messagesOnly = false; 
-  protected boolean timersOnly = false;
-  protected String processInstanceId = null;
+  protected boolean messagesOnly; 
+  protected boolean timersOnly;
+  protected String[] processInstanceId;
   protected Boolean exception;
-  
-  
 
-  public String hql() {
+  protected String hql() {
   	StringBuilder hql = new StringBuilder();
   	
   	hql.append("select ");
@@ -69,10 +67,9 @@
     hql.append(" j ");
 
     if (processInstanceId!=null) {
-      appendWhereClauseWithOperand("j.processInstance.id", "processInstanceId", hql);
+      appendWhereClauseWithOperator("j.processInstance.id", "processInstanceId", hql);
     } 
 
-    
     if (exception!=null) {
       if (exception) {
         appendWhereClause("j.exception is not null ", hql);
@@ -88,7 +85,7 @@
 
   protected void applyParameters(Query query) {
     if (processInstanceId != null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
   }
 
@@ -131,13 +128,13 @@
   }
 
   public JobQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
   
-  public JobQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public JobQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessDefinitionQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -31,7 +31,7 @@
 import org.jbpm.api.Deployment;
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.pvm.internal.env.EnvironmentImpl;
 import org.jbpm.pvm.internal.model.ProcessDefinitionImpl;
 import org.jbpm.pvm.internal.repository.DeploymentImpl;
@@ -58,12 +58,11 @@
   
   private static final long serialVersionUID = 1L;
 
-  protected String id;
-  protected String key;
-  protected String nameLike;
-  protected String name;
+  protected String[] id;
+  protected String[] key;
+  protected String[] name;
   protected Boolean suspended;
-  protected String deploymentId;
+  protected Long[] deploymentId;
   
   public Object execute(Session session) {
     Object result = super.execute(session);
@@ -94,7 +93,7 @@
     return (ProcessDefinitionImpl) repositorySession.getObject(deploymentId, objectName);
   }
 
-  public String hql() {
+  protected String hql() {
   	StringBuilder hql = new StringBuilder();
     hql.append("select new map( idProperty.objectName as objectName, " +
     		                   "idProperty.deployment.dbid as deploymentDbid ) ");
@@ -128,25 +127,20 @@
     appendWhereClause("versionProperty.deployment = deployment ", hql);
 
     if (id!=null) {
-      appendWhereClauseWithOperand("idProperty.stringValue", "id", hql);
+      appendWhereClauseWithOperator("idProperty.stringValue", "id", hql);
     }
 
     if (name!=null) {
-      appendWhereClauseWithOperand("idProperty.objectName", "name", hql);
+      appendWhereClauseWithOperator("idProperty.objectName", "name", hql);
     }
 
     if (key!=null) {
-      appendWhereClauseWithOperand("keyProperty.stringValue", "key", hql);
+      appendWhereClauseWithOperator("keyProperty.stringValue", "key", hql);
     }
     
     if (deploymentId!=null) {
-      appendWhereClauseWithOperand("idProperty.deployment.dbid", "deploymentId", hql);
+      appendWhereClauseWithOperator("idProperty.deployment.dbid", "deploymentId", hql);
     }
-
-    // @deprecated, should be used with operand
-    if (nameLike!=null) {
-      appendWhereClause("idProperty.objectName like '"+nameLike+"' ", hql);
-    }
     
     appendOrderByClause(hql);
 
@@ -155,21 +149,20 @@
   
   protected void applyParameters(Query query) {
     if (id != null) {
-      applyParameterWithOperand(id, "id", String.class, query);
+      applyParameterWithOperator("id", id, query);
     }
     
     if (name != null) {
-      applyParameterWithOperand(name, "name", String.class, query);
+      applyParameterWithOperator("name", name, query);
     }
     
     if (key != null) {
-      applyParameterWithOperand(key, "key", String.class, query);
+      applyParameterWithOperator("key", key, query);
     }
     
     if (deploymentId != null) {
-      applyParameterWithOperand(deploymentId, "deploymentId", Long.class, query);
+      applyParameterWithOperator("deploymentId", deploymentId, query);
     }
-    
   }
   
   public List<ProcessDefinition> list() {
@@ -186,12 +179,12 @@
   }
 
   public ProcessDefinitionQuery processDefinitionId(String id) {
-    this.id = id;
+    this.id = new String[] { id };
     return this;
   }
 
   public ProcessDefinitionQuery processDefinitionKey(String key) {
-    this.key = key;
+    this.key = new String[] { key };
     return this;
   }
   
@@ -206,17 +199,18 @@
   }
 
   public ProcessDefinitionQuery processDefinitionNameLike(String name) {
-    this.nameLike = name;
+    this.name = new String[] { name };
+    parameterOperators.put("name", QueryOperator.LIKE);
     return this;
   }
 
   public ProcessDefinitionQuery processDefinitionName(String name) {
-    this.name = name;
+    this.name = new String[] { name };
     return this;
   }
 
   public ProcessDefinitionQuery deploymentId(String deploymentId) {
-    this.deploymentId = deploymentId;
+    this.deploymentId = new Long[] { Long.valueOf(deploymentId) };
     return this;
   } 
 
@@ -235,30 +229,33 @@
     return this;
   }
 
-  public ProcessDefinitionQuery deploymentId(String deploymentId, QueryOperand operand) {
-    this.deploymentId = deploymentId;
-    parameterOperands.put("deploymentId", operand);
+  public ProcessDefinitionQuery deploymentId(QueryOperator operator, String... deploymentId) {
+    this.deploymentId = new Long[deploymentId.length];
+    for (int i = 0; i < deploymentId.length; i++) {
+      this.deploymentId[i] = Long.valueOf(deploymentId[i]);
+    }
+    parameterOperators.put("deploymentId", operator);
     
     return this;
   }
 
-  public ProcessDefinitionQuery processDefinitionId(String processDefinitionId, QueryOperand operand) {
+  public ProcessDefinitionQuery processDefinitionId(QueryOperator operator, String... processDefinitionId) {
     this.id = processDefinitionId;
-    parameterOperands.put("processDefinitionId", operand);
+    parameterOperators.put("processDefinitionId", operator);
     
     return this;
   }
 
-  public ProcessDefinitionQuery processDefinitionKey(String key, QueryOperand operand) {
-    this.key = key;
-    parameterOperands.put("key", operand);
+  public ProcessDefinitionQuery processDefinitionKey(QueryOperator operator, String... processDefinitionKey) {
+    this.key = processDefinitionKey;
+    parameterOperators.put("key", operator);
     
     return this;
   }
 
-  public ProcessDefinitionQuery processDefinitionName(String name, QueryOperand operand) {
-    this.name = name;
-    parameterOperands.put("name", operand);
+  public ProcessDefinitionQuery processDefinitionName(QueryOperator operator, String... processDefinitionName) {
+    this.name = processDefinitionName;
+    parameterOperators.put("name", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessInstanceQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessInstanceQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/ProcessInstanceQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -26,7 +26,7 @@
 import org.hibernate.Query;
 import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.ProcessInstanceQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.pvm.internal.model.ExecutionImpl;
 import org.jbpm.pvm.internal.util.CollectionUtil;
 
@@ -38,11 +38,11 @@
   
   private static final long serialVersionUID = 1L;
 
-  protected String processDefinitionId;
-  protected String processInstanceId;
-  protected String processInstanceKey;
+  protected String[] processDefinitionId;
+  protected String[] processInstanceId;
+  protected String[] processInstanceKey;
   protected Boolean suspended;
-  protected String initiator;
+  protected String[] initiator;
 
   public ProcessInstance uniqueResult() {
     return (ProcessInstance)untypedUniqueResult();
@@ -52,7 +52,7 @@
     return CollectionUtil.checkList(untypedList(), ProcessInstance.class);
   }
 
-  public String hql() {
+  protected String hql() {
   	StringBuilder hql = new StringBuilder();
   	
   	hql.append("select ");
@@ -77,19 +77,19 @@
     }
 
     if (processInstanceId != null) {
-      appendWhereClauseWithOperand("processInstance.processInstance.id", "processInstanceId", hql);
+      appendWhereClauseWithOperator("processInstance.processInstance.id", "processInstanceId", hql);
     }
 
     if (processDefinitionId != null) {
-      appendWhereClauseWithOperand("processInstance.processDefinitionId", "processDefinitionId", hql);
+      appendWhereClauseWithOperator("processInstance.processDefinitionId", "processDefinitionId", hql);
     }
     
     if (processInstanceKey != null) {
-      appendWhereClauseWithOperand("processInstance.key", "processInstanceKey", hql);
+      appendWhereClauseWithOperator("processInstance.key", "processInstanceKey", hql);
     }
     
     if (initiator!=null) {
-      appendWhereClauseWithOperand("processInstance.initiator", "initiator", hql);
+      appendWhereClauseWithOperator("processInstance.initiator", "initiator", hql);
     }
 
     appendOrderByClause(hql);
@@ -99,19 +99,19 @@
   
   protected void applyParameters(Query query) {
     if (processInstanceId != null) {
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
 
     if (processDefinitionId != null) {
-      applyParameterWithOperand(processDefinitionId, "processDefinitionId", String.class, query);
+      applyParameterWithOperator("processDefinitionId", processDefinitionId, query);
     }
     
     if (processInstanceKey != null) {
-      applyParameterWithOperand(processInstanceKey, "processInstanceKey", String.class, query);
+      applyParameterWithOperator("processInstanceKey", processInstanceKey, query);
     }
     
     if (initiator!=null) {
-      applyParameterWithOperand(initiator, "initiator", String.class, query);
+      applyParameterWithOperator("initiator", initiator, query);
     }
   }
 
@@ -131,12 +131,12 @@
   }
 
   public ProcessInstanceQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
 
   public ProcessInstanceQuery processDefinitionId(String processDefinitionId) {
-    this.processDefinitionId = processDefinitionId;
+    this.processDefinitionId = new String[] { processDefinitionId };
     return this;
   }
 
@@ -146,12 +146,12 @@
   }
 
   public ProcessInstanceQuery processInstanceKey(String processInstanceKey) {
-    this.processInstanceKey = processInstanceKey;
+    this.processInstanceKey = new String[] { processInstanceKey };
     return this;
   }
   
   public ProcessInstanceQuery initiator(String user) {
-    this.initiator = user;
+    this.initiator = new String[] { user };
     return this;
   }
 
@@ -159,33 +159,33 @@
     this.suspended = false;
     return this;
   }
-  public String operand(String parameter, QueryOperand operand) {
-    parameterOperands.put(parameter, operand);
+  public String operator(String parameter, QueryOperator operator) {
+    parameterOperators.put(parameter, operator);
     
     return parameter;
   }
 
-  public ProcessInstanceQuery processDefinitionId(String processDefinitionId, QueryOperand operand) {
+  public ProcessInstanceQuery processDefinitionId(QueryOperator operator, String... processDefinitionId) {
     this.processDefinitionId = processDefinitionId;
-    parameterOperands.put("processDefinitionId", operand);
+    parameterOperators.put("processDefinitionId", operator);
     return this;
   }
 
-  public ProcessInstanceQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public ProcessInstanceQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     return this;
   }
 
-  public ProcessInstanceQuery processInstanceKey(String processInstanceKey, QueryOperand operand) {
+  public ProcessInstanceQuery processInstanceKey(QueryOperator operator, String... processInstanceKey) {
     this.processInstanceKey = processInstanceKey;
-    parameterOperands.put("processInstanceKey", operand);
+    parameterOperators.put("processInstanceKey", operator);
     return this;
   }
   
-  public ProcessInstanceQuery initiator(String user, QueryOperand operand) {
-    this.initiator = user;
-    parameterOperands.put("initiator", operand);
+  public ProcessInstanceQuery initiator(QueryOperator operator, String... userId) {
+    this.initiator = userId;
+    parameterOperators.put("initiator", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/TaskQueryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/TaskQueryImpl.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/query/TaskQueryImpl.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -30,7 +30,7 @@
 import org.hibernate.Session;
 
 import org.jbpm.api.JbpmException;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.TaskQuery;
 import org.jbpm.api.identity.Group;
 import org.jbpm.api.task.Task;
@@ -54,13 +54,13 @@
   private static final Log log = Log.getLog(TaskQueryImpl.class.getName());
 
   protected boolean unassigned;
-  protected String assignee;
+  protected String[] assignee;
   protected String candidate;
   protected Boolean suspended;
-  protected String executionId;
-  protected String processInstanceId;
-  protected String processDefinitionId;
-  protected String activityName;
+  protected String[] executionId;
+  protected String[] processInstanceId;
+  protected String[] processDefinitionId;
+  protected String[] activityName;
 
   /* groupIds transports the groupIds from the hql to the applyParameters */
   protected List<String> groupIds;
@@ -69,7 +69,7 @@
     if (candidate != null) {
       throw new JbpmException("assignee(...) cannot be combined with candidate(...) in one query");
     }
-    this.assignee = assignee;
+    this.assignee = new String[] { assignee };
     return this;
   }
 
@@ -79,22 +79,22 @@
   }
 
   public TaskQuery executionId(String executionId) {
-    this.executionId = executionId;
+    this.executionId = new String[] { executionId };
     return this;
   }
 
   public TaskQuery processInstanceId(String processInstanceId) {
-    this.processInstanceId = processInstanceId;
+    this.processInstanceId = new String[] { processInstanceId };
     return this;
   }
 
   public TaskQuery processDefinitionId(String processDefinitionId) {
-    this.processDefinitionId = processDefinitionId;
+    this.processDefinitionId = new String[] { processDefinitionId };
     return this;
   }
 
   public TaskQuery activityName(String activityName) {
-    this.activityName = activityName;
+    this.activityName = new String[] { activityName };
     return this;
   }
 
@@ -135,7 +135,7 @@
       if (log.isDebugEnabled()) {
         log.debug("setting parameter assignee: " + assignee);
       }
-      applyParameterWithOperand(assignee, "assignee", String.class, query);
+      applyParameterWithOperator("assignee", assignee, query);
     }
 
     // canidate parameter
@@ -158,32 +158,32 @@
       if (log.isDebugEnabled()) {
         log.debug("setting parameter executionId: " + executionId);
       }
-      applyParameterWithOperand(executionId, "executionId", String.class, query);
+      applyParameterWithOperator("executionId", executionId, query);
     }
 
     if (processInstanceId != null) {
       if (log.isDebugEnabled()) {
         log.debug("setting parameter processInstanceId: " + processInstanceId);
       }
-      applyParameterWithOperand(processInstanceId, "processInstanceId", String.class, query);
+      applyParameterWithOperator("processInstanceId", processInstanceId, query);
     }
 
     if (activityName != null) {
       if (log.isDebugEnabled()) {
         log.debug("setting parameter activityName: " + activityName);
       }
-      applyParameterWithOperand(activityName, "activityName", String.class, query);
+      applyParameterWithOperator("activityName", activityName, query);
     }
 
     if (processDefinitionId != null) {
       if (log.isDebugEnabled()) {
         log.debug("setting parameter processDefinitionId: " + processDefinitionId);
       }
-      applyParameterWithOperand(processDefinitionId, "processDefinitionId", String.class, query);
+      applyParameterWithOperator("processDefinitionId", processDefinitionId, query);
     }
   }
 
-  public String hql() {
+  protected String hql() {
     StringBuilder hql = new StringBuilder();
     hql.append("select ");
 
@@ -236,23 +236,23 @@
     }
 
     if (executionId != null) {
-      appendWhereClauseWithOperand("task.execution.id", "executionId", hql);
+      appendWhereClauseWithOperator("task.execution.id", "executionId", hql);
     }
 
     if (processInstanceId != null) {
-      appendWhereClauseWithOperand("task.processInstance.id", "processInstanceId", hql);
+      appendWhereClauseWithOperator("task.processInstance.id", "processInstanceId", hql);
     }
 
     if (activityName != null) {
-      appendWhereClauseWithOperand("task.execution.activityName", "activityName", hql);
+      appendWhereClauseWithOperator("task.execution.activityName", "activityName", hql);
     }
 
     if (processDefinitionId != null) {
-      appendWhereClauseWithOperand("task.processInstance.processDefinitionId", "processDefinitionId", hql);
+      appendWhereClauseWithOperator("task.processInstance.processDefinitionId", "processDefinitionId", hql);
     }
 
     if (assignee != null) {
-      appendWhereClauseWithOperand("task.assignee", "assignee", hql);
+      appendWhereClauseWithOperator("task.assignee", "assignee", hql);
     } else if (unassigned) {
       appendWhereClause("task.assignee is null ", hql);
     }
@@ -298,37 +298,37 @@
     return (Task) untypedUniqueResult();
   }
 
-  public TaskQuery activityName(String activityName, QueryOperand operand) {
+  public TaskQuery activityName(QueryOperator operator, String... activityName) {
     this.activityName = activityName;
-    parameterOperands.put("activityName", operand);
+    parameterOperators.put("activityName", operator);
     
     return this;
   }
 
-  public TaskQuery assignee(String userId, QueryOperand operand) {
+  public TaskQuery assignee(QueryOperator operator, String... userId) {
     this.assignee = userId;
-    parameterOperands.put("assignee", operand);
+    parameterOperators.put("assignee", operator);
     
     return this;
   }
 
-  public TaskQuery executionId(String executionId, QueryOperand operand) {
+  public TaskQuery executionId(QueryOperator operator, String... executionId) {
     this.executionId = executionId;
-    parameterOperands.put("executionId", operand);
+    parameterOperators.put("executionId", operator);
     
     return this;
   }
 
-  public TaskQuery processDefinitionId(String processDefinitionId, QueryOperand operand) {
+  public TaskQuery processDefinitionId(QueryOperator operator, String... processDefinitionId) {
     this.processDefinitionId = processDefinitionId;
-    parameterOperands.put("processDefinitionId", operand);
+    parameterOperators.put("processDefinitionId", operator);
     
     return this;
   }
 
-  public TaskQuery processInstanceId(String processInstanceId, QueryOperand operand) {
+  public TaskQuery processInstanceId(QueryOperator operator, String... processInstanceId) {
     this.processInstanceId = processInstanceId;
-    parameterOperands.put("processInstanceId", operand);
+    parameterOperators.put("processInstanceId", operator);
     
     return this;
   }

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessEndTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessEndTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessEndTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -30,7 +30,7 @@
 
 import org.jbpm.api.Execution;
 import org.jbpm.api.ProcessInstance;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
@@ -71,12 +71,12 @@
         taskService.completeTask(taskList.get(0).getId());
                 
                 
-        List<HistoryProcessInstance> history = historyService.createHistoryProcessInstanceQuery().processInstanceId("sp2%", QueryOperand.LIKE).list();
+        List<HistoryProcessInstance> history = historyService.createHistoryProcessInstanceQuery().processInstanceId(QueryOperator.LIKE, "sp2%").list();
         assertNotNull(history);
         assertNotNull(history.get(0).getSuperProcessInstanceId());
         assertEquals(execIdSp2, history.get(0).getSuperProcessInstanceId());
         
-        history = historyService.createHistoryProcessInstanceQuery().processInstanceId("sp1%", QueryOperand.LIKE).list();
+        history = historyService.createHistoryProcessInstanceQuery().processInstanceId(QueryOperator.LIKE, "sp1%").list();
         assertNotNull(history);
         assertNotNull(history.get(0).getSuperProcessInstanceId());
         assertEquals(execIdSp1, history.get(0).getSuperProcessInstanceId());

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/subprocess/SubProcessTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -27,7 +27,7 @@
 import java.util.List;
 
 import org.jbpm.api.ProcessInstance;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
@@ -154,7 +154,7 @@
     assertEquals(0, executionService.createProcessInstanceQuery().list().size());
     
   
-    List<HistoryProcessInstance> history = historyService.createHistoryProcessInstanceQuery().processInstanceId("SubProcessReview%", QueryOperand.LIKE).list();
+    List<HistoryProcessInstance> history = historyService.createHistoryProcessInstanceQuery().processInstanceId(QueryOperator.LIKE, "SubProcessReview%").list();
     assertNotNull(history);
     assertNotNull(history.get(0).getSuperProcessInstanceId());
     assertEquals(processInstance.getId(), history.get(0).getSuperProcessInstanceId());

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskReassignTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskReassignTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskReassignTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -23,7 +23,6 @@
 
 import java.util.List;
 
-import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.history.HistoryTask;
 import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
@@ -46,7 +45,7 @@
       "</process>"
     );
     
-    ProcessInstance pi = executionService.startProcessInstanceByKey("ReassignTest");
+    executionService.startProcessInstanceByKey("ReassignTest");
 
     List<Task> tasks = taskService.findPersonalTasks("shekharv");
     assertTrue(tasks.size() == 1);

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/DeploymentQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/DeploymentQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/DeploymentQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -22,14 +22,15 @@
 package org.jbpm.test.query;
 
 import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
 import org.hibernate.exception.SQLGrammarException;
+
 import org.jbpm.api.Deployment;
 import org.jbpm.api.DeploymentQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.test.JbpmTestCase;
 import org.jbpm.test.assertion.QueryAssertions;
 
@@ -40,44 +41,27 @@
 public class DeploymentQueryTest extends JbpmTestCase {
 
   public void testSuspendDeployment() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
-    repositoryService.suspendDeployment(deploymentIds.get(2));
+    // suspend one deployment
+    repositoryService.suspendDeployment(deploymentIds[2]);
 
     // find all deployments
-
     List<Deployment> deployments = repositoryService.createDeploymentQuery().list();
+    assertEquals(Arrays.asList("Claim", "Hire", "Fire"), getDeploymentNames(deployments));
 
-    Set<String> expectedDeploymentNames = new HashSet<String>();
-    expectedDeploymentNames.add("Claim");
-    expectedDeploymentNames.add("Hire");
-    expectedDeploymentNames.add("Fire");
-
-    assertEquals(expectedDeploymentNames, getDeploymentNames(deployments));
-
     // find suspended deployments
-
     deployments = repositoryService.createDeploymentQuery().suspended().list();
+    assertEquals(Collections.singletonList("Fire"), getDeploymentNames(deployments));
 
-    expectedDeploymentNames = new HashSet<String>();
-    expectedDeploymentNames.add("Hire");
-
-    assertEquals(expectedDeploymentNames, getDeploymentNames(deployments));
-
     // find active deployments
-
     deployments = repositoryService.createDeploymentQuery().notSuspended().list();
+    assertEquals(Arrays.asList("Claim", "Hire"), getDeploymentNames(deployments));
 
-    expectedDeploymentNames = new HashSet<String>();
-    expectedDeploymentNames.add("Claim");
-    expectedDeploymentNames.add("Fire");
-
-    assertEquals(expectedDeploymentNames, getDeploymentNames(deployments));
-
     deleteCascade(deploymentIds);
   }
 
-  private void deleteCascade(List<String> deploymentIds) {
+  private void deleteCascade(String[] deploymentIds) {
     for (String deploymentId : deploymentIds) {
       repositoryService.deleteDeploymentCascade(deploymentId);
     }
@@ -88,7 +72,7 @@
   }
 
   public void testCount() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     assertEquals(3, repositoryService.createDeploymentQuery().count());
     for (String deploymentId : deploymentIds) {
@@ -98,7 +82,7 @@
     }
 
     Deployment deployment = repositoryService.createDeploymentQuery()
-      .deploymentId(deploymentIds.get(0))
+      .deploymentId(deploymentIds[0])
       .uniqueResult();
     repositoryService.suspendDeployment(deployment.getId());
 
@@ -109,21 +93,21 @@
   }
 
   public void testEquals() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     assertEquals(1, repositoryService.createDeploymentQuery()
-      .deploymentId(deploymentIds.get(0), QueryOperand.EQUALS)
+      .deploymentId(QueryOperator.EQUALS, deploymentIds[0])
       .count());
 
     deleteCascade(deploymentIds);
   }
 
   public void testLike() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     try {
       assertEquals(1, repositoryService.createDeploymentQuery()
-        .deploymentId(deploymentIds.get(0), QueryOperand.LIKE)
+        .deploymentId(QueryOperator.LIKE, deploymentIds[0])
         .count());
     }
     catch (SQLGrammarException e) {
@@ -134,20 +118,20 @@
   }
 
   public void testIn() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     assertEquals(2, repositoryService.createDeploymentQuery()
-      .deploymentId(deploymentIds.get(0) + "," + deploymentIds.get(1), QueryOperand.IN)
+      .deploymentId(QueryOperator.IN, deploymentIds[0], deploymentIds[1])
       .count());
 
     deleteCascade(deploymentIds);
   }
 
   public void testNotIn() {
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     assertEquals(2, repositoryService.createDeploymentQuery()
-      .deploymentId(deploymentIds.get(0), QueryOperand.NOT_IN)
+      .deploymentId(QueryOperator.NOT_IN, deploymentIds[0])
       .count());
 
     deleteCascade(deploymentIds);
@@ -157,17 +141,15 @@
    * HELPER METHODS
    * -------------- */
 
-  private Set<String> getDeploymentNames(List<Deployment> deployments) {
-    Set<String> deploymentNames = new HashSet<String>();
+  private static List<String> getDeploymentNames(List<Deployment> deployments) {
+    List<String> deploymentNames = new ArrayList<String>();
     for (Deployment deployment : deployments) {
       deploymentNames.add(deployment.getName());
     }
     return deploymentNames;
   }
 
-  private List<String> deployTestProcesses() {
-    List<String> processIds = new ArrayList<String>();
-
+  private String[] deployTestProcesses() {
     String deploymentClaimId = repositoryService.createDeployment()
       .setName("Claim")
       .addResourceFromString("process.jpdl.xml",
@@ -201,11 +183,7 @@
         "</process>")
       .deploy();
 
-    processIds.add(deploymentClaimId);
-    processIds.add(deploymentFireId);
-    processIds.add(deploymentHireId);
-
-    return processIds;
+    return new String[] { deploymentClaimId, deploymentHireId, deploymentFireId };
   }
 
   private void testOrderByNaturalOrdening(String property, int expectedNrOfResults) {
@@ -216,7 +194,7 @@
   private void testOrderBy(String property, List expectedValues, Integer expectedNrOfResults,
     boolean naturalOrderCheck) {
 
-    List<String> deploymentIds = deployTestProcesses();
+    String[] deploymentIds = deployTestProcesses();
 
     List<Deployment> deploymentsAsc = repositoryService.createDeploymentQuery()
       .orderAsc(property)

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryActivityInstanceQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -30,7 +30,7 @@
 
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessInstance;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryActivityInstance;
 import org.jbpm.api.history.HistoryActivityInstanceQuery;
 import org.jbpm.pvm.internal.util.Clock;
@@ -108,43 +108,49 @@
   public void testQueryByExecutionIdLike() {
     deployStartAndSignalTestProcesses();
     
-    assertEquals(9, historyService.createHistoryActivityInstanceQuery().executionId("abc%", QueryOperand.LIKE).list().size());
-
+    assertEquals(9, historyService.createHistoryActivityInstanceQuery()
+      .executionId(QueryOperator.LIKE, "abc%")
+      .count());
   }
   
   public void testQueryByExecutionIdIn() {
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    assertEquals(6, historyService.createHistoryActivityInstanceQuery().executionId(ids.get(0) + "," + ids.get(1), QueryOperand.IN).list().size());
-
+    assertEquals(6, historyService.createHistoryActivityInstanceQuery()
+      .executionId(QueryOperator.IN, ids.get(0), ids.get(1))
+      .count());
   }
   
   public void testQueryByExecutionIdNotIn() {
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    assertEquals(3, historyService.createHistoryActivityInstanceQuery().executionId(ids.get(0) + "," + ids.get(1), QueryOperand.NOT_IN).list().size());
-
+    assertEquals(3, historyService.createHistoryActivityInstanceQuery()
+      .executionId(QueryOperator.NOT_IN, ids.get(0), ids.get(1))
+      .count());
   }
   
   public void testQueryByProcessInstanceIdLike() {
     deployStartAndSignalTestProcesses();
     
-    assertEquals(9, historyService.createHistoryActivityInstanceQuery().processInstanceId("abc%", QueryOperand.LIKE).list().size());
-
+    assertEquals(9, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.LIKE, "abc%")
+      .count());
   }
   
   public void testQueryByProcessInstanceIdIn() {
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    assertEquals(6, historyService.createHistoryActivityInstanceQuery().processInstanceId(ids.get(0) + "," + ids.get(1), QueryOperand.IN).list().size());
-
+    assertEquals(6, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.IN, ids.get(0), ids.get(1))
+      .count());
   }
   
   public void testQueryByProcessInstanceIdNotIn() {
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    assertEquals(3, historyService.createHistoryActivityInstanceQuery().processInstanceId(ids.get(0) + "," + ids.get(1), QueryOperand.NOT_IN).list().size());
-
+    assertEquals(3, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.NOT_IN, ids.get(0), ids.get(1))
+      .count());
   }
   
   public void testQueryByProcessDefinitionIdLike() {
@@ -153,8 +159,9 @@
     generateHistoryForTestProcessWithTask();
     deployTestProcessWithTask();
     
-    assertEquals(12, historyService.createHistoryActivityInstanceQuery().processInstanceId("abc%", QueryOperand.LIKE).list().size());
-
+    assertEquals(12, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.LIKE, "abc%")
+      .count());
   }
   
   public void testQueryByProcessDefinitionIdIn() {
@@ -163,9 +170,9 @@
     List<String> idsTask = generateHistoryForTestProcessWithTask();
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    
-    assertEquals(6, historyService.createHistoryActivityInstanceQuery().processInstanceId(ids.get(0) + "," + idsTask.get(0), QueryOperand.IN).list().size());
-
+    assertEquals(6, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.IN, ids.get(0), idsTask.get(0))
+      .count());
   }
   
   public void testQueryByProcessDefinitionIdNotIn() {
@@ -174,8 +181,9 @@
     List<String> idsTask = generateHistoryForTestProcessWithTask();
     List<String> ids = deployStartAndSignalTestProcesses();
     
-    assertEquals(15, historyService.createHistoryActivityInstanceQuery().processInstanceId(ids.get(0) + "," + idsTask.get(0), QueryOperand.NOT_IN).list().size());
-
+    assertEquals(15, historyService.createHistoryActivityInstanceQuery()
+      .processInstanceId(QueryOperator.NOT_IN, ids.get(0), idsTask.get(0))
+      .count());
   }
   
   // Currently only verifies the size of the result set
@@ -222,20 +230,23 @@
   
   public void testQueryByActivityNameLike() {
     deployStartAndSignalTestProcesses();
-    assertEquals(9, historyService.createHistoryActivityInstanceQuery().activityName("%", QueryOperand.LIKE).list().size());
-
+    assertEquals(9, historyService.createHistoryActivityInstanceQuery()
+      .activityName(QueryOperator.LIKE, "%")
+      .count());
   }
   
   public void testQueryByActivityNameIn() {
     deployStartAndSignalTestProcesses();
-    assertEquals(6, historyService.createHistoryActivityInstanceQuery().activityName("a,c", QueryOperand.IN).list().size());
-
+    assertEquals(6, historyService.createHistoryActivityInstanceQuery()
+      .activityName(QueryOperator.IN, "a", "c")
+      .count());
   }
   
   public void testQueryByActivityNameNotIn() {
     deployStartAndSignalTestProcesses();
-    assertEquals(2, historyService.createHistoryActivityInstanceQuery().activityName("a,b", QueryOperand.NOT_IN).list().size());
-
+    assertEquals(2, historyService.createHistoryActivityInstanceQuery()
+      .activityName(QueryOperator.NOT_IN, "a", "b")
+      .count());
   }
   
   //Currently only verifies the size of the result set
@@ -434,7 +445,7 @@
     
     // last check execution ids to illustrate that for task with timer it is not same as process instance id
     assertEquals(ids.get(0), history.get(0).getExecutionId());
-	assertTrue(history.get(1).getExecutionId().startsWith(ids.get(0) + ".b."));
+    assertTrue(history.get(1).getExecutionId().startsWith(ids.get(0) + ".b."));
     assertEquals(ids.get(0), history.get(2).getExecutionId());
   }
   

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryProcessInstanceQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryProcessInstanceQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryProcessInstanceQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -30,7 +30,7 @@
 import java.util.List;
 
 import org.jbpm.api.ProcessDefinition;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.api.history.HistoryProcessInstanceQuery;
 import org.jbpm.pvm.internal.util.Clock;
@@ -92,58 +92,51 @@
     createTestHistoryProcessInstances(7);
 
     assertEquals(7, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceId("theProcess%", QueryOperand.LIKE)
+      .processInstanceId(QueryOperator.LIKE, "theProcess%")
       .count());
-
   }
   
   public void testQueryByProcessInstanceIdIn() {
     List<String> procInstIds = createTestHistoryProcessInstances(7);
 
     assertEquals(2, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceId(procInstIds.get(0) + "," + procInstIds.get(1), QueryOperand.IN)
+      .processInstanceId(QueryOperator.IN, procInstIds.get(0), procInstIds.get(1))
       .count());
-
   }
   
   public void testQueryByProcessInstanceIdNotIn() {
     List<String> procInstIds = createTestHistoryProcessInstances(7);
 
     assertEquals(5, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceId(procInstIds.get(0) + "," + procInstIds.get(1), QueryOperand.NOT_IN)
+      .processInstanceId(QueryOperator.NOT_IN, procInstIds.get(0), procInstIds.get(1))
       .count());
-
   }
   
   public void testQueryByProcessInstanceKeyLike() {
     createTestHistoryProcessInstances(7);
 
     assertEquals(7, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceKey("theProcess-%", QueryOperand.LIKE)
+      .processInstanceKey(QueryOperator.LIKE, "theProcess-%")
       .count());
-
   }
   
   public void testQueryByProcessInstanceKeyIn() {
     createTestHistoryProcessInstances(7);
 
     assertEquals(2, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceKey("theProcess-1,theProcess-5", QueryOperand.IN)
+      .processInstanceKey(QueryOperator.IN, "theProcess-1", "theProcess-5")
       .count());
-
   }
   
   public void testQueryByProcessInstanceKeyNotIn() {
     createTestHistoryProcessInstances(7);
 
     assertEquals(4, historyService.createHistoryProcessInstanceQuery()
-      .processInstanceKey("theProcess-1,theProcess-5,theProcess-6", QueryOperand.NOT_IN)
+      .processInstanceKey(QueryOperator.NOT_IN, "theProcess-1", "theProcess-5", "theProcess-6")
       .count());
-
   }
   
   public void testQueryByInitiator() {
-   
     deployJpdlXmlString("<process name='theProcess'>"
             + "  <start>"
             + "    <transition to='wait' />"
@@ -167,11 +160,9 @@
     assertEquals(1, historyService.createHistoryProcessInstanceQuery().initiator("erik").count());
     assertEquals(1, historyService.createHistoryProcessInstanceQuery().initiator("mike").count());
     assertEquals(1, historyService.createHistoryProcessInstanceQuery().initiator("alex").count());
-    
   }
   
   public void testQueryByInitiatorLike() {
-    
     deployJpdlXmlString("<process name='theProcess'>"
             + "  <start>"
             + "    <transition to='wait' />"
@@ -191,9 +182,9 @@
     processEngine.setAuthenticatedUserId("peter");
     executionService.startProcessInstanceByKey("theProcess");
 
-    assertEquals(4, historyService.createHistoryProcessInstanceQuery().initiator("%e%", QueryOperand.LIKE).count());
-    
-    
+    assertEquals(4, historyService.createHistoryProcessInstanceQuery()
+      .initiator(QueryOperator.LIKE, "%e%")
+      .count());
   }
 
   public void testOrderByStartTime() {

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryTaskQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryTaskQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/HistoryTaskQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -30,7 +30,7 @@
 import java.util.List;
 
 import org.jbpm.api.ProcessInstance;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryTask;
 import org.jbpm.api.history.HistoryTaskQuery;
 import org.jbpm.pvm.internal.util.Clock;
@@ -110,7 +110,7 @@
     createTestHistoryTasks();
 
     assertEquals(2, historyService.createHistoryTaskQuery()
-      .assignee("%o%", QueryOperand.LIKE)
+      .assignee(QueryOperator.LIKE, "%o%")
       .count());
   }
 
@@ -118,7 +118,7 @@
     createTestHistoryTasks();
 
     assertEquals(2, historyService.createHistoryTaskQuery()
-      .assignee("Tom,Alex", QueryOperand.IN)
+      .assignee(QueryOperator.IN, "Tom", "Alex")
       .count());
   }
 
@@ -126,7 +126,7 @@
     createTestHistoryTasks();
 
     assertEquals(1, historyService.createHistoryTaskQuery()
-      .assignee("Tom,Alex", QueryOperand.NOT_IN)
+      .assignee(QueryOperator.NOT_IN, "Tom", "Alex")
       .count());
   }
 
@@ -134,7 +134,7 @@
     createTestHistoryTasks();
 
     try {
-      historyService.createHistoryTaskQuery().taskId("%", QueryOperand.LIKE).count();
+      historyService.createHistoryTaskQuery().taskId(QueryOperator.LIKE, "%").count();
       fail("expected number format exception");
     }
     catch (NumberFormatException e) {
@@ -146,7 +146,7 @@
     List<String> taskIds = createTestHistoryTasks();
 
     assertEquals(2, historyService.createHistoryTaskQuery()
-      .taskId(taskIds.get(0) + "," + taskIds.get(1), QueryOperand.IN)
+      .taskId(QueryOperator.IN, taskIds.get(0), taskIds.get(1))
       .count());
   }
 
@@ -154,7 +154,7 @@
     List<String> taskIds = createTestHistoryTasks();
 
     assertEquals(1, historyService.createHistoryTaskQuery()
-      .taskId(taskIds.get(0) + "," + taskIds.get(1), QueryOperand.NOT_IN)
+      .taskId(QueryOperator.NOT_IN, taskIds.get(0), taskIds.get(1))
       .count());
   }
 
@@ -162,7 +162,7 @@
     createTestHistoryTasks();
 
     assertEquals(3, historyService.createHistoryTaskQuery()
-      .executionId("theProcess%", QueryOperand.LIKE)
+      .executionId(QueryOperator.LIKE, "theProcess%")
       .count());
   }
 
@@ -170,7 +170,7 @@
     createTestHistoryTasks();
 
     assertEquals(3, historyService.createHistoryTaskQuery()
-      .state("%", QueryOperand.LIKE)
+      .state(QueryOperator.LIKE, "%")
       .count());
   }
 
@@ -178,7 +178,7 @@
     createTestHistoryTasks();
 
     assertEquals(3, historyService.createHistoryTaskQuery()
-      .state(HistoryTask.STATE_COMPLETED + "," + HistoryTask.STATE_OBSOLETE, QueryOperand.IN)
+      .state(QueryOperator.IN, HistoryTask.STATE_COMPLETED, HistoryTask.STATE_OBSOLETE)
       .count());
   }
 
@@ -186,7 +186,7 @@
     createTestHistoryTasks();
 
     assertEquals(0, historyService.createHistoryTaskQuery()
-      .state(HistoryTask.STATE_COMPLETED + "," + HistoryTask.STATE_OBSOLETE, QueryOperand.NOT_IN)
+      .state(QueryOperator.NOT_IN, HistoryTask.STATE_COMPLETED, HistoryTask.STATE_OBSOLETE)
       .count());
   }
 

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/JobQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/JobQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/JobQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -26,7 +26,7 @@
 import java.util.List;
 
 import org.jbpm.api.JobQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.job.Job;
 import org.jbpm.test.JbpmTestCase;
 import org.jbpm.test.assertion.QueryAssertions;
@@ -141,39 +141,34 @@
       assertEquals(1, managementService.createJobQuery().processInstanceId(id).count()); 
       assertEquals(1, managementService.createJobQuery().processInstanceId(id).timers().count());
     }
-
   }
   
   public void testProcessIdLike() {
     startTestProcessInstances(6);
 
     JobQuery query = managementService.createJobQuery();
-    assertEquals(6, query.processInstanceId("TimerQueryTest%", QueryOperand.LIKE).count());
-
+    assertEquals(6, query.processInstanceId(QueryOperator.LIKE, "TimerQueryTest%").count());
   }
   
   public void testProcessIdEquals() {
     List<String> procInstIds = startTestProcessInstances(6);
 
     JobQuery query = managementService.createJobQuery();
-    assertEquals(1, query.processInstanceId(procInstIds.get(0), QueryOperand.EQUALS).count());
-
+    assertEquals(1, query.processInstanceId(QueryOperator.EQUALS, procInstIds.get(0)).count());
   }
   
   public void testProcessIdIn() {
     List<String> procInstIds = startTestProcessInstances(6);
 
     JobQuery query = managementService.createJobQuery();
-    assertEquals(2, query.processInstanceId(""+procInstIds.get(0)+","+procInstIds.get(1)+"", QueryOperand.IN).count());
-
+    assertEquals(2, query.processInstanceId(QueryOperator.IN, procInstIds.get(0), procInstIds.get(1)).count());
   }
   
   public void testProcessIdNotIn() {
     List<String> procInstIds = startTestProcessInstances(6);
 
     JobQuery query = managementService.createJobQuery();
-    assertEquals(4, query.processInstanceId(""+procInstIds.get(0)+","+procInstIds.get(1)+"", QueryOperand.NOT_IN).count());
-
+    assertEquals(4, query.processInstanceId(QueryOperator.NOT_IN, procInstIds.get(0), procInstIds.get(1)).count());
   }
   
   private List<String> startTestProcessInstances(int nrOfInstances) {

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessDefinitionQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessDefinitionQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessDefinitionQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -25,10 +25,9 @@
 
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessDefinitionQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.test.JbpmTestCase;
 
-
 /**
  * @author Tom Baeyens
  */
@@ -127,7 +126,7 @@
     );
 
     List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-      .processDefinitionNameLike("make%")
+      .processDefinitionKey(QueryOperator.LIKE, "make%")
       .orderAsc(ProcessDefinitionQuery.PROPERTY_ID)
       .list();
 
@@ -169,7 +168,8 @@
     );
 
     List<ProcessDefinition> processDefinitions = 
-      repositoryService.createProcessDefinitionQuery().processDefinitionName("%make%", QueryOperand.LIKE)
+      repositoryService.createProcessDefinitionQuery()
+      .processDefinitionName(QueryOperator.LIKE, "%make%")
       .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
       .list();
 
@@ -211,12 +211,11 @@
 
     ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
     List<ProcessDefinition> processDefinitions = 
-      query.deploymentId(dbId1+","+dbId2, QueryOperand.IN)
+      query.deploymentId(QueryOperator.IN, dbId1, dbId2)
       .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
       .list();
 
     assertEquals(2, processDefinitions.size());
-
   }
   
   public void testQueryProcessDefinitionsNotIn() {
@@ -252,11 +251,11 @@
 
     
     List<ProcessDefinition> processDefinitions = 
-      repositoryService.createProcessDefinitionQuery().deploymentId(dbId1+","+dbId2, QueryOperand.NOT_IN)
+      repositoryService.createProcessDefinitionQuery()
+      .deploymentId(QueryOperator.NOT_IN, dbId1, dbId2)
       .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME)
       .list();
 
     assertEquals(3, processDefinitions.size());
-
   }
 }

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessInstanceQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessInstanceQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/ProcessInstanceQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -31,11 +31,10 @@
 import org.jbpm.api.ProcessDefinition;
 import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.ProcessInstanceQuery;
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.test.JbpmTestCase;
 
-
 public class ProcessInstanceQueryTest extends JbpmTestCase {
   
   private static final String TEST_PROCESS_1_KEY = "testProcess1";
@@ -83,14 +82,12 @@
       ProcessInstance pi = executionService.createProcessInstanceQuery()
         .processInstanceId(processInstanceId).uniqueResult();
       assertNotNull(pi);
-      
     }
     
     for (String processInstanceId : idsForTestProcess2) {
       ProcessInstance pi = executionService.createProcessInstanceQuery()
         .processInstanceId(processInstanceId).uniqueResult();
       assertNotNull(pi);
-      
     }
   }
   
@@ -108,7 +105,6 @@
         .processInstanceKey(TEST_PROCESS_2_KEY + "-" + i).uniqueResult();
       assertNotNull(pi);
     }
-    
   }
   
   public void testQueryByProcessDefinitionId() {
@@ -175,7 +171,6 @@
       } else {
         assertTrue(processInstances.get(i).getKey().startsWith(TEST_PROCESS_2_KEY));
       }
-      
     }
   }
   
@@ -193,7 +188,6 @@
       } else {
         assertTrue(processInstances.get(i).getKey().startsWith(TEST_PROCESS_1_KEY));
       }
-      
     }
   }
 
@@ -215,7 +209,6 @@
       executionService.createProcessInstanceQuery().page(0, 3).count();
       fail("expected exception");
     } catch (JbpmException e) {  }
-    
   }
 
   
@@ -224,9 +217,9 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(4, executionService.createProcessInstanceQuery().processInstanceId("testProcess1.%", QueryOperand.LIKE).count());
+    assertEquals(4, executionService.createProcessInstanceQuery().processInstanceId(QueryOperator.LIKE, "testProcess1.%").count());
     
-    assertEquals(6, executionService.createProcessInstanceQuery().processInstanceId("testProcess2.%", QueryOperand.LIKE).count());
+    assertEquals(6, executionService.createProcessInstanceQuery().processInstanceId(QueryOperator.LIKE, "testProcess2.%").count());
   }
   
   public void testProcessDefinitionLike() {
@@ -234,8 +227,7 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(10, executionService.createProcessInstanceQuery().processDefinitionId("testProcess%", QueryOperand.LIKE).count());
-
+    assertEquals(10, executionService.createProcessInstanceQuery().processDefinitionId(QueryOperator.LIKE, "testProcess%").count());
   }
   
   public void testProcessInstanceKeyLike() {
@@ -243,8 +235,7 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(4, executionService.createProcessInstanceQuery().processInstanceKey("testProcess1-%", QueryOperand.LIKE).count());
-
+    assertEquals(4, executionService.createProcessInstanceQuery().processInstanceKey(QueryOperator.LIKE, "testProcess1-%").count());
   }
   
   public void testProcessInstanceIn() {
@@ -254,18 +245,23 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(2, executionService.createProcessInstanceQuery().processInstanceId(idsForTestProcess1.get(0) + "," + idsForTestProcess1.get(1), QueryOperand.IN).count());
+    assertEquals(2, executionService.createProcessInstanceQuery()
+      .processInstanceId(QueryOperator.IN, idsForTestProcess1.get(0), idsForTestProcess1.get(1))
+      .count());
     
-    assertEquals(2, executionService.createProcessInstanceQuery().processInstanceId(idsForTestProcess2.get(0) + "," + idsForTestProcess2.get(1), QueryOperand.IN).count());
+    assertEquals(2, executionService.createProcessInstanceQuery()
+      .processInstanceId(QueryOperator.IN, idsForTestProcess2.get(0), idsForTestProcess2.get(1))
+      .count());
   }
   
   public void testProcessDefinitionIn() {
-   startTestProcesses(4, 6);
+    startTestProcesses(4, 6);
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(4, executionService.createProcessInstanceQuery().processDefinitionId("testProcess1-1,testProcess2", QueryOperand.IN).count());
-
+    assertEquals(4, executionService.createProcessInstanceQuery()
+      .processDefinitionId(QueryOperator.IN, "testProcess1-1", "testProcess2")
+      .count());
   }
   
   public void testProcessInstanceKeyIn() {
@@ -273,8 +269,9 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(2, executionService.createProcessInstanceQuery().processInstanceKey("testProcess1-0,testProcess1-1", QueryOperand.IN).count());
-
+    assertEquals(2, executionService.createProcessInstanceQuery()
+      .processInstanceKey(QueryOperator.IN, "testProcess1-0", "testProcess1-1")
+      .count());
   }
   
   public void testProcessInstanceNotIn() {
@@ -284,18 +281,23 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(8, executionService.createProcessInstanceQuery().processInstanceId(idsForTestProcess1.get(0) + "," + idsForTestProcess1.get(1), QueryOperand.NOT_IN).count());
+    assertEquals(8, executionService.createProcessInstanceQuery()
+      .processInstanceId(QueryOperator.NOT_IN, idsForTestProcess1.get(0), idsForTestProcess1.get(1))
+      .count());
     
-    assertEquals(8, executionService.createProcessInstanceQuery().processInstanceId(idsForTestProcess2.get(0) + "," + idsForTestProcess2.get(1), QueryOperand.NOT_IN).count());
+    assertEquals(8, executionService.createProcessInstanceQuery()
+      .processInstanceId(QueryOperator.NOT_IN, idsForTestProcess2.get(0), idsForTestProcess2.get(1))
+      .count());
   }
   
   public void testProcessDefinitionNotIn() {
-   startTestProcesses(4, 6);
+    startTestProcesses(4, 6);
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(6, executionService.createProcessInstanceQuery().processDefinitionId("testProcess1-1,testProcess2", QueryOperand.NOT_IN).count());
-
+    assertEquals(6, executionService.createProcessInstanceQuery()
+      .processDefinitionId(QueryOperator.NOT_IN, "testProcess1-1", "testProcess2")
+      .count());
   }
   
   public void testProcessInstanceKeyNotIn() {
@@ -303,8 +305,9 @@
     
     assertEquals(10, executionService.createProcessInstanceQuery().count());
     
-    assertEquals(8, executionService.createProcessInstanceQuery().processInstanceKey("testProcess1-0,testProcess1-1", QueryOperand.NOT_IN).count());
-
+    assertEquals(8, executionService.createProcessInstanceQuery()
+      .processInstanceKey(QueryOperator.NOT_IN, "testProcess1-0", "testProcess1-1")
+      .count());
   }
   
   public void testQueryByProcessInstanceIdWithInitiator() {
@@ -317,7 +320,7 @@
     processEngine.setAuthenticatedUserId("alex");
     ProcessInstance pi2 = executionService.startProcessInstanceByKey(TEST_PROCESS_2_KEY);
     
-    assertEquals(2, executionService.createProcessInstanceQuery().initiator("%e%", QueryOperand.LIKE).count());
+    assertEquals(2, executionService.createProcessInstanceQuery().initiator(QueryOperator.LIKE, "%e%").count());
     
     assertNotNull(pi.getInitiator());
     assertEquals("mike", pi.getInitiator());
@@ -336,7 +339,7 @@
     historypi = historyService.createHistoryProcessInstanceQuery().initiator("mike").uniqueResult();
     assertNotNull(historypi);
     
-    assertEquals(2, historyService.createHistoryProcessInstanceQuery().initiator("%e%", QueryOperand.LIKE).count());
+    assertEquals(2, historyService.createHistoryProcessInstanceQuery().initiator(QueryOperator.LIKE, "%e%").count());
   }
   
   /**

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/TaskQueryTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/TaskQueryTest.java	2010-09-10 22:51:00 UTC (rev 6657)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/query/TaskQueryTest.java	2010-09-14 04:04:29 UTC (rev 6658)
@@ -29,26 +29,25 @@
 import java.util.Date;
 import java.util.List;
 
-import org.jbpm.api.QueryOperand;
+import org.jbpm.api.QueryOperator;
 import org.jbpm.api.TaskQuery;
 import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
 import org.jbpm.test.assertion.QueryAssertions;
 
-
 /**
  * @author Tom Baeyens
  */
 public class TaskQueryTest extends JbpmTestCase {
 	
   public void testPropertyNames() {
-	Task task = taskService.newTask();
-	task.setName("write task query test");
-	task.setAssignee("koen");
-	task.setPriority(Integer.MAX_VALUE);
-	task.setDescription("make sure the test fails if property names are incorrect");
-	task.setDuedate(new Date());
-	String taskId = taskService.saveTask(task);
+  	Task task = taskService.newTask();
+  	task.setName("write task query test");
+  	task.setAssignee("koen");
+  	task.setPriority(Integer.MAX_VALUE);
+  	task.setDescription("make sure the test fails if property names are incorrect");
+  	task.setDuedate(new Date());
+  	String taskId = taskService.saveTask(task);
 	
     checkProperty(taskService.createTaskQuery(), task, TaskQuery.PROPERTY_ASSIGNEE);
     checkProperty(taskService.createTaskQuery(), task, TaskQuery.PROPERTY_CREATEDATE);
@@ -57,14 +56,14 @@
     checkProperty(taskService.createTaskQuery(), task, TaskQuery.PROPERTY_PRIORITY);
     checkProperty(taskService.createTaskQuery(), task, TaskQuery.PROPERTY_PROGRESS);
     
-	taskService.deleteTaskCascade(taskId);
+    taskService.deleteTaskCascade(taskId);
   }
   
   private void checkProperty(TaskQuery taskQuery, Task task, String propertyName) {
-	List<Task> taskList = taskQuery.orderAsc(propertyName).list();
-	assertNotNull(taskList);
-	assertContainsTask(taskList, task.getName());
-	assertEquals(1, taskList.size());
+  	List<Task> taskList = taskQuery.orderAsc(propertyName).list();
+  	assertNotNull(taskList);
+  	assertContainsTask(taskList, task.getName());
+  	assertEquals(1, taskList.size());
   }
 
   public void testSimplestTaskQuery() {
@@ -76,7 +75,7 @@
     assertNotNull(taskList);
     
     assertContainsTask(taskList, "do laundry");
-    assertContainsTask(taskList, "change dyper");
+    assertContainsTask(taskList, "change diaper");
     assertContainsTask(taskList, "start new business");
     assertContainsTask(taskList, "find venture capital");
 
@@ -87,7 +86,7 @@
 
   public void testOrderByName() {
     testOrderBy(TaskQuery.PROPERTY_NAME, 
-            "change dyper", "do laundry", "find venture capital", "start new business");
+            "change diaper", "do laundry", "find venture capital", "start new business");
   }
   
   public void testOrderByAssignee() {
@@ -136,7 +135,9 @@
   public void testTaskQueryAssigneeLike() {
     List<Task> tasks = createTestTasks();
 
-    assertEquals(2, taskService.createTaskQuery().assignee("%o%m", QueryOperand.LIKE).count());
+    assertEquals(2, taskService.createTaskQuery()
+      .assignee(QueryOperator.LIKE, "%o%m")
+      .count());
     
     deleteTasks(tasks);
   }
@@ -144,7 +145,9 @@
   public void testTaskQueryAssigneeIn() {
     List<Task> tasks = createTestTasks();
 
-    assertEquals(2, taskService.createTaskQuery().assignee("Koen,Tom", QueryOperand.IN).count());
+    assertEquals(2, taskService.createTaskQuery()
+      .assignee(QueryOperator.IN, "Koen", "Tom")
+      .count());
     
     deleteTasks(tasks);
   }
@@ -152,12 +155,13 @@
   public void testTaskQueryAssigneeNotIn() {
     List<Task> tasks = createTestTasks();
 
-    assertEquals(1, taskService.createTaskQuery().assignee("Koen,Tom,Alex", QueryOperand.NOT_IN).count());
+    assertEquals(1, taskService.createTaskQuery()
+      .assignee(QueryOperator.NOT_IN, "Koen", "Tom", "Alex")
+      .count());
     
     deleteTasks(tasks);
   }
   
- 
   /* -------------------------------------------------------------------
    * HELPER METHODS
    * ------------------------------------------------------------------- */
@@ -173,7 +177,7 @@
     task1.setProgress(15);
 
     Task task2 = taskService.newTask();
-    task2.setName("change dyper");
+    task2.setName("change diaper");
     task2.setAssignee("Koen");
     task2.setPriority(1);
     task2.setDuedate(stringToDate("28/06/1989"));
@@ -232,7 +236,7 @@
     try {
       return dateFormat.parse(dateString);
     } catch (ParseException e) {
-      throw new RuntimeException("Couldn't convert " + dateString);
+      throw new AssertionError(e);
     }
   }
   



More information about the jbpm-commits mailing list