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());
}
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());
}
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());
}
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());
}
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());
}
Aggregations