use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.
the class TestAuthorityManager method testSetRemoveUserAuthorizations_1.
public void testSetRemoveUserAuthorizations_1() throws Throwable {
String username = "pageManagerCustomers";
String groupName = "management";
String roleName = "pageManager";
Group groupForTest = this.getGroup(groupName);
assertNotNull(groupForTest);
Role roleForTest = this.getRole(roleName);
assertNotNull(roleForTest);
List<String> usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(0, usersByGroup.size());
try {
this._authorizationManager.addUserAuthorization(username, groupName, roleName);
usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(1, usersByGroup.size());
} catch (Throwable t) {
throw t;
} finally {
this._authorizationManager.deleteUserAuthorization(username, groupName, roleName);
usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(0, usersByGroup.size());
}
}
use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.
the class RoleService method getRoles.
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public PagedMetadata<RoleDto> getRoles(RestListRequest restRequest) {
List<Role> roles = this.getRoleManager().getRoles();
roles = sortRoleList(restRequest, roles);
if (null != restRequest.getFilter()) {
for (Filter f : restRequest.getFilter()) {
if (f.getAttributeName().equals(KEY_FILTER_ROLE_CODE)) {
roles = roles.stream().filter(i -> i.getName().toLowerCase().contains(f.getValue().toLowerCase())).collect(Collectors.toList());
}
if (f.getAttributeName().equals(KEY_FILTER_ROLE_DESCR)) {
roles = roles.stream().filter(i -> i.getDescription().toLowerCase().contains(f.getValue().toLowerCase())).collect(Collectors.toList());
}
}
}
List<Role> subList = restRequest.getSublist(roles);
List<RoleDto> dtoSlice = this.getDtoBuilder().convert(subList);
SearcherDaoPaginatedResult<RoleDto> paginatedResult = new SearcherDaoPaginatedResult(roles.size(), dtoSlice);
PagedMetadata<RoleDto> pagedMetadata = new PagedMetadata<>(restRequest, paginatedResult);
pagedMetadata.setBody(dtoSlice);
return pagedMetadata;
}
use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.
the class RoleService method addRole.
@Override
public RoleDto addRole(RoleRequest roleRequest) {
try {
Role role = this.createRole(roleRequest);
BeanPropertyBindingResult validationResult = this.validateRoleForAdd(role);
if (validationResult.hasErrors()) {
throw new ValidationConflictException(validationResult);
}
this.getRoleManager().addRole(role);
RoleDto dto = this.getDtoBuilder().toDto(role, this.getRoleManager().getPermissionsCodes());
return dto;
} catch (ApsSystemException e) {
logger.error("Error adding a role", e);
throw new RestServerError("error in add role", e);
}
}
use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.
the class RoleService method removeRole.
@Override
public void removeRole(String roleCode) {
try {
Role role = this.getRoleManager().getRole(roleCode);
if (null == role) {
logger.info("role {} does not exists", roleCode);
return;
}
BeanPropertyBindingResult validationResult = this.validateRoleForDelete(role);
if (validationResult.hasErrors()) {
throw new ValidationConflictException(validationResult);
}
this.getRoleManager().removeRole(role);
} catch (ApsSystemException e) {
logger.error("Error in delete role {}", roleCode, e);
throw new RestServerError("error in delete role", e);
}
}
use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.
the class RoleService method createRole.
protected Role createRole(RoleRequest roleRequest) {
Role role = new Role();
role.setName(roleRequest.getCode());
role.setDescription(roleRequest.getName());
if (null != roleRequest.getPermissions()) {
roleRequest.getPermissions().entrySet().stream().filter(entry -> null != entry.getValue() && entry.getValue().booleanValue()).forEach(i -> role.addPermission(i.getKey()));
}
return role;
}
Aggregations