Search in sources :

Example 36 with Filter

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

the class FilterRestServiceImpl method getFilters.

public List<FilterDto> getFilters(UriInfo uriInfo, Boolean itemCount, Integer firstResult, Integer maxResults) {
    FilterService filterService = getProcessEngine().getFilterService();
    FilterQuery query = getQueryFromQueryParameters(uriInfo.getQueryParameters());
    List<Filter> matchingFilters = executeFilterQuery(query, firstResult, maxResults);
    List<FilterDto> filters = new ArrayList<FilterDto>();
    for (Filter filter : matchingFilters) {
        FilterDto dto = FilterDto.fromFilter(filter);
        if (itemCount != null && itemCount) {
            dto.setItemCount(filterService.count(filter.getId()));
        }
        filters.add(dto);
    }
    return filters;
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) FilterService(org.camunda.bpm.engine.FilterService) ArrayList(java.util.ArrayList) FilterQuery(org.camunda.bpm.engine.filter.FilterQuery) FilterDto(org.camunda.bpm.engine.rest.dto.runtime.FilterDto)

Example 37 with Filter

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

the class FilterRestServiceImpl method createFilter.

public FilterDto createFilter(FilterDto filterDto) {
    FilterService filterService = getProcessEngine().getFilterService();
    String resourceType = filterDto.getResourceType();
    Filter filter;
    if (EntityTypes.TASK.equals(resourceType)) {
        filter = filterService.newTaskFilter();
    } else {
        throw new InvalidRequestException(Response.Status.BAD_REQUEST, "Unable to create filter with invalid resource type '" + resourceType + "'");
    }
    try {
        filterDto.updateFilter(filter, getProcessEngine());
    } catch (NotValidException e) {
        throw new InvalidRequestException(Response.Status.BAD_REQUEST, e, "Unable to create filter with invalid content");
    }
    filterService.saveFilter(filter);
    return FilterDto.fromFilter(filter);
}
Also used : NotValidException(org.camunda.bpm.engine.exception.NotValidException) Filter(org.camunda.bpm.engine.filter.Filter) FilterService(org.camunda.bpm.engine.FilterService) InvalidRequestException(org.camunda.bpm.engine.rest.exception.InvalidRequestException)

Example 38 with Filter

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

the class MultiTenancyFilterServiceTest method testCreateFilterWithTenantIdCriteria.

public void testCreateFilterWithTenantIdCriteria() {
    TaskQuery query = taskService.createTaskQuery().tenantIdIn(TENANT_IDS);
    filterId = createFilter(query);
    Filter savedFilter = filterService.getFilter(filterId);
    TaskQueryImpl savedQuery = savedFilter.getQuery();
    assertThat(savedQuery.getTenantIds(), is(TENANT_IDS));
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) TaskQueryImpl(org.camunda.bpm.engine.impl.TaskQueryImpl) TaskQuery(org.camunda.bpm.engine.task.TaskQuery)

Example 39 with Filter

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

the class MultiTenancyFilterServiceTest method testCreateFilterWithNoTenantIdCriteria.

public void testCreateFilterWithNoTenantIdCriteria() {
    TaskQuery query = taskService.createTaskQuery().withoutTenantId();
    filterId = createFilter(query);
    Filter savedFilter = filterService.getFilter(filterId);
    TaskQueryImpl savedQuery = savedFilter.getQuery();
    assertThat(savedQuery.isTenantIdSet(), is(true));
    assertThat(savedQuery.getTenantIds(), is(nullValue()));
}
Also used : Filter(org.camunda.bpm.engine.filter.Filter) TaskQueryImpl(org.camunda.bpm.engine.impl.TaskQueryImpl) TaskQuery(org.camunda.bpm.engine.task.TaskQuery)

Example 40 with Filter

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

the class FilterTaskQueryTest method testOrderByVariables.

public void testOrderByVariables() {
    // given
    TaskQueryImpl query = (TaskQueryImpl) taskService.createTaskQuery().orderByProcessVariable("foo", ValueType.STRING).asc().orderByExecutionVariable("foo", ValueType.STRING).asc().orderByCaseInstanceVariable("foo", ValueType.STRING).asc().orderByCaseExecutionVariable("foo", ValueType.STRING).asc().orderByTaskVariable("foo", ValueType.STRING).asc();
    Filter filter = filterService.newTaskFilter("extendedOrFilter");
    filter.setQuery(query);
    filterService.saveFilter(filter);
    // when
    filter = filterService.getFilter(filter.getId());
    // then
    List<QueryOrderingProperty> expectedOrderingProperties = new ArrayList<QueryOrderingProperty>(query.getOrderingProperties());
    verifyOrderingProperties(expectedOrderingProperties, ((TaskQueryImpl) filter.getQuery()).getOrderingProperties());
    for (QueryOrderingProperty prop : ((TaskQueryImpl) filter.getQuery()).getOrderingProperties()) {
        assertTrue(prop instanceof VariableOrderProperty);
    }
}
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) VariableOrderProperty(org.camunda.bpm.engine.impl.VariableOrderProperty)

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