/* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.activiti.standalone.escapeclause; import java.util.HashMap; import java.util.List; import java.util.Map; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.impl.history.HistoryLevel; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.junit.Test; public class HistoricTaskQueryEscapeClauseTest extends AbstractEscapeClauseTestCase { private String deploymentOneId; private String deploymentTwoId; private ProcessInstance processInstance1; private ProcessInstance processInstance2; private Task task1; private Task task2; private Task task3; private Task task4; @Override protected void setUp() throws Exception { deploymentOneId = repositoryService .createDeployment() .tenantId("One%") .addClasspathResource("org/activiti/engine/test/history/oneTaskProcessEscapeClauseTest.bpmn20.xml") .deploy() .getId(); processInstance1 = runtimeService.startProcessInstanceByKeyAndTenantId("oneTaskProcess", "One%", "One%"); runtimeService.setProcessInstanceName(processInstance1.getId(), "One%"); deploymentTwoId = repositoryService .createDeployment() .tenantId("Two_") .addClasspathResource("org/activiti/engine/test/history/oneTaskProcessEscapeClauseTest.bpmn20.xml") .deploy() .getId(); processInstance2 = runtimeService.startProcessInstanceByKeyAndTenantId("oneTaskProcess", "Two_", "Two_"); runtimeService.setProcessInstanceName(processInstance2.getId(), "Two_"); Map<String, Object> vars1 = new HashMap<String, Object>(); vars1.put("var1", "One%"); Map<String, Object> vars2 = new HashMap<String, Object>(); vars2.put("var1", "Two_"); task1 = taskService.createTaskQuery().processInstanceId(processInstance1.getId()).singleResult(); taskService.setAssignee(task1.getId(), "assignee%"); taskService.setOwner(task1.getId(), "owner%"); taskService.complete(task1.getId(), vars1, true); task2 = taskService.createTaskQuery().processInstanceId(processInstance1.getId()).singleResult(); taskService.setAssignee(task2.getId(), "assignee_"); taskService.setOwner(task2.getId(), "owner_"); taskService.complete(task2.getId(), vars2, true); task3 = taskService.createTaskQuery().processInstanceId(processInstance2.getId()).singleResult(); taskService.setAssignee(task3.getId(), "assignee%"); taskService.setOwner(task3.getId(), "owner%"); taskService.complete(task3.getId(), vars1, true); task4 = taskService.createTaskQuery().processInstanceId(processInstance2.getId()).singleResult(); taskService.setAssignee(task4.getId(), "assignee_"); taskService.setOwner(task4.getId(), "owner_"); taskService.complete(task4.getId(), vars2, true); super.setUp(); } @Override protected void tearDown() throws Exception { super.tearDown(); repositoryService.deleteDeployment(deploymentOneId, true); repositoryService.deleteDeployment(deploymentTwoId, true); } @Test public void testQueryByProcessDefinitionKeyLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // processDefinitionKeyLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().processDefinitionKeyLike("%\\%%").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().processDefinitionKeyLike("%\\_%").list(); assertEquals(0, list.size()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().processDefinitionKeyLike("%\\%%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().or().processDefinitionKeyLike("%\\_%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); } } @Test public void testQueryByProcessDefinitionKeyLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // processDefinitionKeyLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().processDefinitionKeyLikeIgnoreCase("%\\%%").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().processDefinitionKeyLikeIgnoreCase("%\\_%").list(); assertEquals(0, list.size()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().processDefinitionKeyLikeIgnoreCase("%\\%%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().or().processDefinitionKeyLikeIgnoreCase("%\\_%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); } } @Test public void testQueryByProcessDefinitionNameLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // processDefinitionNameLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().processDefinitionNameLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(4, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); assertEquals(task2.getId(), list.get(2).getId()); assertEquals(task4.getId(), list.get(3).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().processDefinitionNameLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(4, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); assertEquals(task2.getId(), list.get(2).getId()); assertEquals(task4.getId(), list.get(3).getId()); } } @Test public void testQueryByProcessInstanceBusinessKeyLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // processInstanceBusinessKeyLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().processInstanceBusinessKeyLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().processInstanceBusinessKeyLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByProcessInstanceBusinessKeyLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // processInstanceBusinessKeyLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLikeIgnoreCase("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().processInstanceBusinessKeyLikeIgnoreCase("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().processInstanceBusinessKeyLikeIgnoreCase("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().processInstanceBusinessKeyLikeIgnoreCase("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskDefinitionKeyLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskDefinitionKeyLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskDefinitionKeyLike("%\\%%").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().taskDefinitionKeyLike("%\\_%").list(); assertEquals(0, list.size()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskDefinitionKeyLike("%\\%%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); list = historyService.createHistoricTaskInstanceQuery().or().taskDefinitionKeyLike("%\\_%").processDefinitionId("undefined").list(); assertEquals(0, list.size()); } } @Test public void testQueryByTaskNameLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskNameLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskNameLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskNameLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskNameLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskNameLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskNameLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskNameLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskNameLikeIgnoreCase("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskNameLikeIgnoreCase("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskNameLikeIgnoreCase("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskNameLikeIgnoreCase("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskDescriptionLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskDescriptionLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskDescriptionLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskDescriptionLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskDescriptionLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskDescriptionLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskDescriptionLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskDescriptionLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskDescriptionLikeIgnoreCase("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskDescriptionLikeIgnoreCase("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskDescriptionLikeIgnoreCase("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskDescriptionLikeIgnoreCase("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskDeleteReasonLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // make test data Task task5 = taskService.newTask("task5"); taskService.saveTask(task5); taskService.deleteTask(task5.getId(), "deleteReason%"); Task task6 = taskService.newTask("task6"); taskService.saveTask(task6); taskService.deleteTask(task6.getId(), "deleteReason_"); // taskDeleteReasonLike HistoricTaskInstance historicTask = historyService.createHistoricTaskInstanceQuery().taskDeleteReasonLike("%\\%%").singleResult(); assertNotNull(historicTask); assertEquals(task5.getId(), historicTask.getId()); historicTask = historyService.createHistoricTaskInstanceQuery().taskDeleteReasonLike("%\\_%").singleResult(); assertNotNull(historicTask); assertEquals(task6.getId(), historicTask.getId()); // orQuery historicTask = historyService.createHistoricTaskInstanceQuery().or().taskDeleteReasonLike("%\\%%").processDefinitionId("undefined").singleResult(); assertNotNull(historicTask); assertEquals(task5.getId(), historicTask.getId()); historicTask = historyService.createHistoricTaskInstanceQuery().or().taskDeleteReasonLike("%\\_%").processDefinitionId("undefined").singleResult(); assertNotNull(historicTask); assertEquals(task6.getId(), historicTask.getId()); // clean historyService.deleteHistoricTaskInstance(task5.getId()); historyService.deleteHistoricTaskInstance(task6.getId()); } } @Test public void testQueryByTaskOwnerLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskOwnerLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskOwnerLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskOwnerLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskOwnerLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskOwnerLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskOwnerLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskOwnerLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskOwnerLikeIgnoreCase("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskOwnerLikeIgnoreCase("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskOwnerLikeIgnoreCase("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskOwnerLikeIgnoreCase("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskAssigneeLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskAssigneeLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskAssigneeLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskAssigneeLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskAssigneeLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskAssigneeLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTaskAssigneeLikeIgnoreCase(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // taskAssigneeLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskAssigneeLikeIgnoreCase("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskAssigneeLikeIgnoreCase("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskAssigneeLikeIgnoreCase("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskAssigneeLikeIgnoreCase("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryByTenantIdLike(){ if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // tenantIdLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskTenantIdLike("%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskTenantIdLike("%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskTenantIdLike("%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task2.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskTenantIdLike("%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task3.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } @Test public void testQueryLikeByQueryVariableValue() { if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // variableValueLike List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskVariableValueLike("var1", "%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskVariableValueLike("var1", "%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskVariableValueLike("var1", "%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskVariableValueLike("var1", "%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } public void testQueryLikeIgnoreCaseByQueryVariableValue() { if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.ACTIVITY)) { // variableValueLikeIgnoreCase List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskVariableValueLikeIgnoreCase("var1", "%\\%%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().taskVariableValueLikeIgnoreCase("var1", "%\\_%").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); // orQuery list = historyService.createHistoricTaskInstanceQuery().or().taskVariableValueLikeIgnoreCase("var1", "%\\%%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task1.getId(), list.get(0).getId()); assertEquals(task3.getId(), list.get(1).getId()); list = historyService.createHistoricTaskInstanceQuery().or().taskVariableValueLikeIgnoreCase("var1", "%\\_%").processDefinitionId("undefined").orderByHistoricTaskInstanceStartTime().asc().list(); assertEquals(2, list.size()); assertEquals(task2.getId(), list.get(0).getId()); assertEquals(task4.getId(), list.get(1).getId()); } } }