Search in sources :

Example 6 with Filter

use of org.entando.entando.web.common.model.Filter in project entando-core by entando.

the class GroupServiceIntegrationTest method testGetGroups_filter.

@Test
public void testGetGroups_filter() throws JsonProcessingException {
    RestListRequest restListRequest = new RestListRequest();
    restListRequest.addFilter(new Filter("groupname", "fr"));
    PagedMetadata<GroupDto> res = this.groupService.getGroups(restListRequest);
    assertThat(res.getPage(), is(1));
    assertThat(res.getPageSize(), is(100));
    assertThat(res.getLastPage(), is(1));
    assertThat(res.getTotalItems(), is(1));
}
Also used : Filter(org.entando.entando.web.common.model.Filter) RestListRequest(org.entando.entando.web.common.model.RestListRequest) GroupDto(org.entando.entando.aps.system.services.group.model.GroupDto) Test(org.junit.Test)

Example 7 with Filter

use of org.entando.entando.web.common.model.Filter in project entando-core by entando.

the class GroupServiceIntegrationTest method testGetGroups_filter_and_pagination.

@Test
public void testGetGroups_filter_and_pagination() throws JsonProcessingException {
    RestListRequest restListRequest = new RestListRequest();
    restListRequest.setPageSize(2);
    restListRequest.addFilter(new Filter("groupname", "s"));
    PagedMetadata<GroupDto> res = this.groupService.getGroups(restListRequest);
    assertThat(res.getPage(), is(1));
    assertThat(res.getPageSize(), is(2));
    assertThat(res.getLastPage(), is(2));
    assertThat(res.getTotalItems(), is(3));
    restListRequest.setPage(1);
    res = this.groupService.getGroups(restListRequest);
    assertThat(res.getPage(), is(1));
    assertThat(res.getPageSize(), is(2));
    assertThat(res.getLastPage(), is(2));
    assertThat(res.getTotalItems(), is(3));
    restListRequest.setPage(2);
    res = this.groupService.getGroups(restListRequest);
    assertThat(res.getPage(), is(2));
    assertThat(res.getPageSize(), is(2));
    assertThat(res.getLastPage(), is(2));
    assertThat(res.getTotalItems(), is(3));
}
Also used : Filter(org.entando.entando.web.common.model.Filter) RestListRequest(org.entando.entando.web.common.model.RestListRequest) GroupDto(org.entando.entando.aps.system.services.group.model.GroupDto) Test(org.junit.Test)

Example 8 with Filter

use of org.entando.entando.web.common.model.Filter in project entando-core by entando.

the class RestListRequestTest method should_exclude_pagination_when_pagesize_0.

@Test
public void should_exclude_pagination_when_pagesize_0() {
    RestListRequest request = new RestListRequest();
    request.setPage(1);
    request.setPageSize(0);
    request.setSort("name");
    request.setDirection(FieldSearchFilter.Order.ASC.name());
    request.addFilter(new Filter("name", "jack"));
    request.addFilter(new Filter("city", "rome"));
    request.addFilter(new Filter("mobile", "+39"));
    // filters
    List<FieldSearchFilter> filters = request.buildFieldSearchFilters();
    assertThat(filters.size(), is(4));
    assertThat(filters.get(0).getKey(), is("name"));
    assertThat(filters.get(1).getKey(), is("city"));
    assertThat(filters.get(2).getKey(), is("mobile"));
    // sort
    assertThat(filters.get(3).getKey(), is("name"));
    assertThat(filters.get(3).getOrder(), is(FieldSearchFilter.Order.ASC));
}
Also used : FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) Filter(org.entando.entando.web.common.model.Filter) RestListRequest(org.entando.entando.web.common.model.RestListRequest) FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) Test(org.junit.Test)

Example 9 with Filter

use of org.entando.entando.web.common.model.Filter in project entando-core by entando.

the class RestListRequestTest method shuold_create_filters.

@Test
public void shuold_create_filters() {
    RestListRequest request = new RestListRequest();
    request.setPage(1);
    request.setPageSize(25);
    request.setSort("name");
    request.setDirection(FieldSearchFilter.Order.ASC.name());
    request.addFilter(new Filter("name", "jack"));
    request.addFilter(new Filter("city", "rome"));
    request.addFilter(new Filter("mobile", "+39"));
    // filters
    List<FieldSearchFilter> filters = request.buildFieldSearchFilters();
    assertThat(filters.size(), is(5));
    assertThat(filters.get(0).getKey(), is("name"));
    assertThat(filters.get(1).getKey(), is("city"));
    assertThat(filters.get(2).getKey(), is("mobile"));
    // pagination
    assertThat(filters.get(3).getKey(), is(nullValue()));
    assertThat(filters.get(3).getLimit(), is(not(nullValue())));
    assertThat(filters.get(3).getOffset(), is(not(nullValue())));
    // sort
    assertThat(filters.get(4).getKey(), is("name"));
    assertThat(filters.get(4).getOrder(), is(FieldSearchFilter.Order.ASC));
}
Also used : FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) Filter(org.entando.entando.web.common.model.Filter) RestListRequest(org.entando.entando.web.common.model.RestListRequest) FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) Test(org.junit.Test)

Example 10 with Filter

use of org.entando.entando.web.common.model.Filter in project entando-core by entando.

the class LabelService method getLabelGroups.

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public PagedMetadata<LabelDto> getLabelGroups(RestListRequest restRequest) {
    Map<String, ApsProperties> result = this.i18nManager.getLabelGroups();
    List<LabelDto> dtoList = this.getDtoBuilder().convert(result);
    if (restRequest.getDirection().equals(FieldSearchFilter.DESC_ORDER)) {
        dtoList = dtoList.stream().sorted(Comparator.comparing(LabelDto::getKey).reversed()).collect(Collectors.toList());
    } else {
        dtoList = dtoList.stream().sorted(Comparator.comparing(LabelDto::getKey)).collect(Collectors.toList());
    }
    if (null != restRequest.getFilters()) {
        for (Filter f : restRequest.getFilters()) {
            if (f.getAttributeName().equals(LABEL_KEY_FILTER_KEY)) {
                dtoList = dtoList.stream().filter(i -> i.getKey().toLowerCase().contains(f.getValue().toLowerCase())).collect(Collectors.toList());
            }
            if (f.getAttributeName().equals(LABEL_KEY_FILTER_VALUE)) {
                dtoList = dtoList.stream().filter(i -> i.getTitles().values().stream().filter(k -> k.contains(f.getValue())).collect(Collectors.toList()).size() > 0).collect(Collectors.toList());
            }
        }
    }
    List<?> subList = restRequest.getSublist(dtoList);
    SearcherDaoPaginatedResult<LabelDto> resultx = new SearcherDaoPaginatedResult(dtoList.size(), subList);
    PagedMetadata<LabelDto> pagedMetadata = new PagedMetadata<>(restRequest, resultx);
    pagedMetadata.setBody((List<LabelDto>) subList);
    return pagedMetadata;
}
Also used : FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) Filter(org.entando.entando.web.common.model.Filter) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) LabelDto(org.entando.entando.aps.system.services.label.model.LabelDto) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult) ApsProperties(com.agiletec.aps.util.ApsProperties)

Aggregations

Filter (org.entando.entando.web.common.model.Filter)15 RestListRequest (org.entando.entando.web.common.model.RestListRequest)11 FieldSearchFilter (com.agiletec.aps.system.common.FieldSearchFilter)8 Test (org.junit.Test)8 SearcherDaoPaginatedResult (com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)5 PagedMetadata (org.entando.entando.web.common.model.PagedMetadata)5 UserDetails (com.agiletec.aps.system.services.user.UserDetails)4 AbstractControllerTest (org.entando.entando.web.AbstractControllerTest)4 ResultActions (org.springframework.test.web.servlet.ResultActions)4 Permission (com.agiletec.aps.system.services.role.Permission)3 Role (com.agiletec.aps.system.services.role.Role)3 RestServerError (org.entando.entando.aps.system.exception.RestServerError)3 GroupDto (org.entando.entando.aps.system.services.group.model.GroupDto)3 PermissionDto (org.entando.entando.aps.system.services.role.model.PermissionDto)3 RoleDto (org.entando.entando.aps.system.services.role.model.RoleDto)3 ApsSystemException (com.agiletec.aps.system.exception.ApsSystemException)2 IAuthorizationService (com.agiletec.aps.system.services.authorization.IAuthorizationService)2 IRoleManager (com.agiletec.aps.system.services.role.IRoleManager)2 Comparator (java.util.Comparator)2 List (java.util.List)2