use of org.entando.entando.web.common.model.Filter in project entando-core by entando.
the class RoleService method getPermissions.
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public PagedMetadata<PermissionDto> getPermissions(RestListRequest requestList) {
List<Permission> permissions = this.getRoleManager().getPermissions();
permissions = sortPermissionList(requestList, permissions);
if (null != requestList.getFilter()) {
for (Filter f : requestList.getFilter()) {
if (f.getAttributeName().equals(KEY_FILTER_PERMISSION_CODE)) {
permissions = permissions.stream().filter(i -> i.getName().toLowerCase().contains(f.getValue().toLowerCase())).collect(Collectors.toList());
}
if (f.getAttributeName().equals(KEY_FILTER_PERMISSION_DESCR)) {
permissions = permissions.stream().filter(i -> i.getDescription().toLowerCase().contains(f.getValue().toLowerCase())).collect(Collectors.toList());
}
}
}
List<Permission> subList = requestList.getSublist(permissions);
List<PermissionDto> dtoSlice = this.getPermissionDtoBuilder().convert(subList);
SearcherDaoPaginatedResult<PermissionDto> paginatedResult = new SearcherDaoPaginatedResult(permissions.size(), dtoSlice);
PagedMetadata<PermissionDto> pagedMetadata = new PagedMetadata<>(requestList, paginatedResult);
pagedMetadata.setBody(dtoSlice);
return pagedMetadata;
}
use of org.entando.entando.web.common.model.Filter in project entando-core by entando.
the class RoleService method updateRole.
@Override
public RoleDto updateRole(RoleRequest roleRequest) {
try {
Role role = this.getRoleManager().getRole(roleRequest.getCode());
if (null == role) {
logger.warn("no role found with code {}", roleRequest.getCode());
throw new RestRourceNotFoundException(RoleValidator.ERRCODE_ROLE_NOT_FOUND, "role", roleRequest.getCode());
}
role.setDescription(roleRequest.getName());
role.getPermissions().clear();
if (null != roleRequest.getPermissions()) {
roleRequest.getPermissions().entrySet().stream().filter(entry -> null != entry.getValue() && entry.getValue().booleanValue()).forEach(i -> role.addPermission(i.getKey()));
}
BeanPropertyBindingResult validationResult = this.validateRoleForUpdate(role);
if (validationResult.hasErrors()) {
throw new ValidationConflictException(validationResult);
}
this.getRoleManager().updateRole(role);
RoleDto dto = this.getDtoBuilder().toDto(role, this.getRoleManager().getPermissionsCodes());
return dto;
} catch (ApsSystemException e) {
logger.error("Error updating a role", e);
throw new RestServerError("error in update role", e);
}
}
use of org.entando.entando.web.common.model.Filter in project entando-core by entando.
the class TestPageModelManager method testSearch_with_page_filter.
public void testSearch_with_page_filter() throws ApsSystemException {
RestListRequest restListRequest = new RestListRequest();
restListRequest.setPageSize(2);
restListRequest.setPage(1);
List<FieldSearchFilter> filters = restListRequest.buildFieldSearchFilters();
SearcherDaoPaginatedResult<PageModel> result = this._pageModelManager.searchPageModels(filters);
assertThat(result.getCount(), is(3));
assertThat(result.getList().size(), is(2));
restListRequest.addFilter(new Filter("descr", "modello"));
result = this._pageModelManager.searchPageModels(restListRequest.buildFieldSearchFilters());
assertThat(result.getCount(), is(2));
assertThat(result.getList().size(), is(2));
restListRequest.setPage(0);
result = this._pageModelManager.searchPageModels(restListRequest.buildFieldSearchFilters());
assertThat(result.getCount(), is(2));
assertThat(result.getList().size(), is(2));
}
use of org.entando.entando.web.common.model.Filter in project entando-core by entando.
the class EntityManagerControllerTest method getEntityManagers_2.
@Test
public void getEntityManagers_2() throws Exception {
UserDetails user = new OAuth2TestUtils.UserBuilder("jack_bauer", "0x24").grantedToRoleAdmin().build();
String accessToken = mockOAuthInterceptor(user);
when(this.entityManagerService.getEntityManagers(any(RestListRequest.class))).thenReturn(new PagedMetadata<>());
ResultActions result = mockMvc.perform(get("/entityManagers").param("page", "1").param("pageSize", "4").param("filter[0].attribute", "code").param("filter[0].value", "UserProfileManager").header("Authorization", "Bearer " + accessToken));
result.andExpect(status().isOk());
RestListRequest restListReq = new RestListRequest();
restListReq.setPage(1);
restListReq.setPageSize(4);
restListReq.addFilter(new Filter("code", "UserProfileManager"));
Mockito.verify(this.entityManagerService, Mockito.times(1)).getEntityManagers(restListReq);
}
use of org.entando.entando.web.common.model.Filter in project entando-core by entando.
the class GuiFragmentControllerTest method should_load_the_list_of_fragments_2.
@Test
public void should_load_the_list_of_fragments_2() throws Exception {
UserDetails user = new OAuth2TestUtils.UserBuilder("jack_bauer", "0x24").grantedToRoleAdmin().build();
String accessToken = mockOAuthInterceptor(user);
when(this.guiFragmentService.getGuiFragments(any(RestListRequest.class))).thenReturn(new PagedMetadata<>());
ResultActions result = mockMvc.perform(get("/fragments").param("page", "1").param("pageSize", "4").param("filter[0].attribute", "code").param("filter[0].value", "userprofile_editCurrentUser_profile").header("Authorization", "Bearer " + accessToken));
result.andExpect(status().isOk());
RestListRequest restListReq = new RestListRequest();
restListReq.setPage(1);
restListReq.setPageSize(4);
restListReq.addFilter(new Filter("code", "userprofile_editCurrentUser_profile"));
Mockito.verify(this.guiFragmentService, Mockito.times(1)).getGuiFragments(restListReq);
}
Aggregations