Search in sources :

Example 26 with Role

use of com.agiletec.aps.system.services.role.Role 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);
    }
}
Also used : Role(com.agiletec.aps.system.services.role.Role) RestRourceNotFoundException(org.entando.entando.aps.system.exception.RestRourceNotFoundException) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) LoggerFactory(org.slf4j.LoggerFactory) RestRourceNotFoundException(org.entando.entando.aps.system.exception.RestRourceNotFoundException) Role(com.agiletec.aps.system.services.role.Role) RoleValidator(org.entando.entando.web.role.validator.RoleValidator) FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) RestServerError(org.entando.entando.aps.system.exception.RestServerError) IRoleManager(com.agiletec.aps.system.services.role.IRoleManager) IAuthorizationService(com.agiletec.aps.system.services.authorization.IAuthorizationService) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) RoleRequest(org.entando.entando.web.role.model.RoleRequest) Permission(com.agiletec.aps.system.services.role.Permission) Logger(org.slf4j.Logger) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException) DtoBuilder(org.entando.entando.aps.system.services.DtoBuilder) Collectors(java.util.stream.Collectors) List(java.util.List) RestListRequest(org.entando.entando.web.common.model.RestListRequest) PermissionDto(org.entando.entando.aps.system.services.role.model.PermissionDto) RoleDto(org.entando.entando.aps.system.services.role.model.RoleDto) Filter(org.entando.entando.web.common.model.Filter) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) PostConstruct(javax.annotation.PostConstruct) ValidationConflictException(org.entando.entando.web.common.exceptions.ValidationConflictException) Comparator(java.util.Comparator) IDtoBuilder(org.entando.entando.aps.system.services.IDtoBuilder) RoleDto(org.entando.entando.aps.system.services.role.model.RoleDto) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) RestServerError(org.entando.entando.aps.system.exception.RestServerError) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException) ValidationConflictException(org.entando.entando.web.common.exceptions.ValidationConflictException)

Example 27 with Role

use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.

the class UserAuthorizationAction method getRoles.

public List<Role> getRoles() {
    List<Role> roles = this.getRoleManager().getRoles();
    Collections.sort(roles, new BeanComparator("description"));
    return roles;
}
Also used : Role(com.agiletec.aps.system.services.role.Role) BeanComparator(org.apache.commons.beanutils.BeanComparator)

Example 28 with Role

use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.

the class TestRoleAction method checkRole.

private void checkRole(String roleName, String descr, String[] permissions) {
    Role role = this._roleManager.getRole(roleName);
    assertEquals(role.getName(), roleName);
    assertEquals(role.getDescription(), descr);
    Set<String> rolePerms = role.getPermissions();
    assertEquals(rolePerms.size(), permissions.length);
    for (int i = 0; i < permissions.length; i++) {
        assertTrue(rolePerms.contains(permissions[i]));
    }
}
Also used : Role(com.agiletec.aps.system.services.role.Role)

Example 29 with Role

use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.

the class TestRoleAction method addRole.

private void addRole(String roleName, String descr, String[] permissions) throws ApsSystemException {
    Role role = new Role();
    role.setName(roleName);
    role.setDescription(descr);
    for (int i = 0; i < permissions.length; i++) {
        role.addPermission(permissions[i]);
    }
    this._roleManager.addRole(role);
}
Also used : Role(com.agiletec.aps.system.services.role.Role)

Example 30 with Role

use of com.agiletec.aps.system.services.role.Role in project entando-core by entando.

the class RoleFinderAction method getRoles.

public List<Role> getRoles() {
    List<Role> roles = this.getRoleManager().getRoles();
    BeanComparator comparator = new BeanComparator("description");
    Collections.sort(roles, comparator);
    return roles;
}
Also used : Role(com.agiletec.aps.system.services.role.Role) BeanComparator(org.apache.commons.beanutils.BeanComparator)

Aggregations

Role (com.agiletec.aps.system.services.role.Role)40 Group (com.agiletec.aps.system.services.group.Group)13 ApsSystemException (com.agiletec.aps.system.exception.ApsSystemException)9 ArrayList (java.util.ArrayList)5 RoleDto (org.entando.entando.aps.system.services.role.model.RoleDto)5 SearcherDaoPaginatedResult (com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)4 IRoleManager (com.agiletec.aps.system.services.role.IRoleManager)4 List (java.util.List)4 RestRourceNotFoundException (org.entando.entando.aps.system.exception.RestRourceNotFoundException)4 RestServerError (org.entando.entando.aps.system.exception.RestServerError)4 ValidationConflictException (org.entando.entando.web.common.exceptions.ValidationConflictException)4 PagedMetadata (org.entando.entando.web.common.model.PagedMetadata)4 FieldSearchFilter (com.agiletec.aps.system.common.FieldSearchFilter)3 UserDetails (com.agiletec.aps.system.services.user.UserDetails)3 UserDto (org.entando.entando.aps.system.services.user.model.UserDto)3 Filter (org.entando.entando.web.common.model.Filter)3 RoleRequest (org.entando.entando.web.role.model.RoleRequest)3 BeanPropertyBindingResult (org.springframework.validation.BeanPropertyBindingResult)3 Authorization (com.agiletec.aps.system.services.authorization.Authorization)2 IAuthorizationService (com.agiletec.aps.system.services.authorization.IAuthorizationService)2