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