Search in sources :

Example 51 with Filter

use of org.camunda.bpm.engine.filter.Filter in project camunda-bpm-platform by camunda.

the class FilterQueryTest method saveFilter.

protected void saveFilter(String name, String owner) {
    Filter filter = filterService.newTaskFilter().setName(name).setOwner(owner);
    filterService.saveFilter(filter);
    filterIds.add(filter.getId());
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter)

Example 52 with Filter

use of org.camunda.bpm.engine.filter.Filter in project camunda-bpm-platform by camunda.

the class FilterTaskQueryTest method testExtendingSorting.

public void testExtendingSorting() {
    // create empty query
    TaskQueryImpl query = (TaskQueryImpl) taskService.createTaskQuery();
    saveQuery(query);
    // assert default sorting
    query = filter.getQuery();
    assertTrue(query.getOrderingProperties().isEmpty());
    // extend query by new task query with sorting
    TaskQueryImpl sortQuery = (TaskQueryImpl) taskService.createTaskQuery().orderByTaskName().asc();
    Filter extendedFilter = filter.extend(sortQuery);
    query = extendedFilter.getQuery();
    List<QueryOrderingProperty> expectedOrderingProperties = new ArrayList<QueryOrderingProperty>(sortQuery.getOrderingProperties());
    verifyOrderingProperties(expectedOrderingProperties, query.getOrderingProperties());
    // extend query by new task query with additional sorting
    TaskQueryImpl extendingQuery = (TaskQueryImpl) taskService.createTaskQuery().orderByTaskAssignee().desc();
    extendedFilter = extendedFilter.extend(extendingQuery);
    query = extendedFilter.getQuery();
    expectedOrderingProperties.addAll(extendingQuery.getOrderingProperties());
    verifyOrderingProperties(expectedOrderingProperties, query.getOrderingProperties());
    // extend query by incomplete sorting query (should add sorting anyway)
    sortQuery = (TaskQueryImpl) taskService.createTaskQuery().orderByCaseExecutionId();
    extendedFilter = extendedFilter.extend(sortQuery);
    query = extendedFilter.getQuery();
    expectedOrderingProperties.addAll(sortQuery.getOrderingProperties());
    verifyOrderingProperties(expectedOrderingProperties, query.getOrderingProperties());
}
Also used : TaskQueryImpl(org.camunda.bpm.engine.impl.TaskQueryImpl) Filter(org.camunda.bpm.engine.filter.Filter) ArrayList(java.util.ArrayList) QueryOrderingProperty(org.camunda.bpm.engine.impl.QueryOrderingProperty)

Example 53 with Filter

use of org.camunda.bpm.engine.filter.Filter in project camunda-bpm-platform by camunda.

the class FilterTaskQueryTest method testExtendTaskQuery_ORInExtendingQuery.

public void testExtendTaskQuery_ORInExtendingQuery() {
    // given
    createTasksForOrQueries();
    // when
    TaskQuery extendedQuery = taskService.createTaskQuery().taskName("taskForOr");
    Filter extendedFilter = filterService.newTaskFilter("extendedOrFilter");
    extendedFilter.setQuery(extendedQuery);
    filterService.saveFilter(extendedFilter);
    TaskQuery extendingQuery = taskService.createTaskQuery().or().taskDescription("aTaskDescription").taskOwner("aTaskOwner").endOr().or().taskPriority(3).taskAssignee("aTaskAssignee").endOr();
    // then
    assertEquals(4, extendedQuery.list().size());
    assertEquals(4, filterService.list(extendedFilter.getId()).size());
    assertEquals(6, extendingQuery.list().size());
    assertEquals(3, filterService.list(extendedFilter.getId(), extendingQuery).size());
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) TaskQuery(org.camunda.bpm.engine.task.TaskQuery)

Example 54 with Filter

use of org.camunda.bpm.engine.filter.Filter in project camunda-bpm-platform by camunda.

the class FilterTaskQueryTest method testExtendTaskQuery_ORInExtendedQuery.

public void testExtendTaskQuery_ORInExtendedQuery() {
    // given
    createTasksForOrQueries();
    // when
    TaskQuery extendedQuery = taskService.createTaskQuery().or().taskDescription("aTaskDescription").taskOwner("aTaskOwner").endOr().or().taskPriority(3).taskAssignee("aTaskAssignee").endOr();
    Filter extendedFilter = filterService.newTaskFilter("extendedOrFilter");
    extendedFilter.setQuery(extendedQuery);
    filterService.saveFilter(extendedFilter);
    TaskQuery extendingQuery = taskService.createTaskQuery().taskName("taskForOr");
    // then
    assertEquals(6, extendedQuery.list().size());
    assertEquals(6, filterService.list(extendedFilter.getId()).size());
    assertEquals(4, extendingQuery.list().size());
    assertEquals(3, filterService.list(extendedFilter.getId(), extendingQuery).size());
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) TaskQuery(org.camunda.bpm.engine.task.TaskQuery)

Example 55 with Filter

use of org.camunda.bpm.engine.filter.Filter in project camunda-bpm-platform by camunda.

the class FilterTaskQueryTest method testExtendTaskQueryWithCandidateGroupInExpressionAndIncludeAssignedTasks.

public void testExtendTaskQueryWithCandidateGroupInExpressionAndIncludeAssignedTasks() {
    // create an empty query and save it as a filter
    TaskQuery emptyQuery = taskService.createTaskQuery();
    Filter emptyFilter = filterService.newTaskFilter("empty");
    emptyFilter.setQuery(emptyQuery);
    // create a query with candidate group in expression and include assigned tasks
    // and save it as filter
    TaskQuery query = taskService.createTaskQuery();
    query.taskCandidateGroupInExpression("${'test'}").includeAssignedTasks();
    Filter filter = filterService.newTaskFilter("filter");
    filter.setQuery(query);
    // extend empty query by query with candidate group in expression and include assigned tasks
    Filter extendedFilter = emptyFilter.extend(query);
    TaskQueryImpl extendedQuery = extendedFilter.getQuery();
    assertEquals("${'test'}", extendedQuery.getExpressions().get("taskCandidateGroupIn"));
    assertTrue(extendedQuery.isIncludeAssignedTasks());
    // extend query with candidate group in expression and include assigned tasks with empty query
    extendedFilter = filter.extend(emptyQuery);
    extendedQuery = extendedFilter.getQuery();
    assertEquals("${'test'}", extendedQuery.getExpressions().get("taskCandidateGroupIn"));
    assertTrue(extendedQuery.isIncludeAssignedTasks());
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) TaskQueryImpl(org.camunda.bpm.engine.impl.TaskQueryImpl) TaskQuery(org.camunda.bpm.engine.task.TaskQuery)

Aggregations

Filter (org.camunda.bpm.engine.filter.Filter)69 TaskQueryImpl (org.camunda.bpm.engine.impl.TaskQueryImpl)26 TaskQuery (org.camunda.bpm.engine.task.TaskQuery)26 MockProvider.mockFilter (org.camunda.bpm.engine.rest.helper.MockProvider.mockFilter)15 FilterEntity (org.camunda.bpm.engine.impl.persistence.entity.FilterEntity)14 Test (org.junit.Test)14 HashMap (java.util.HashMap)10 Matchers.isEmptyOrNullString (org.hamcrest.Matchers.isEmptyOrNullString)9 Matchers.anyString (org.mockito.Matchers.anyString)9 Map (java.util.Map)7 Response (com.jayway.restassured.response.Response)6 ArrayList (java.util.ArrayList)5 AuthorizationException (org.camunda.bpm.engine.AuthorizationException)4 ProcessEngineException (org.camunda.bpm.engine.ProcessEngineException)4 Date (java.util.Date)3 FilterService (org.camunda.bpm.engine.FilterService)3 NotValidException (org.camunda.bpm.engine.exception.NotValidException)3 FilterQuery (org.camunda.bpm.engine.filter.FilterQuery)3 User (org.camunda.bpm.engine.identity.User)3 Task (org.camunda.bpm.engine.task.Task)3