@Override public RoleEntity create(final NewRoleEntity roleEntity) { try { Role role = convert(roleEntity); if (roleRepository.findById(role.getScope(), role.getName()).isPresent()) { throw new RoleAlreadyExistsException(role.getScope(), role.getName()); } role.setCreatedAt(new Date()); role.setUpdatedAt(role.getCreatedAt()); RoleEntity entity = convert(roleRepository.create(role)); auditService.createPortalAuditLog( Collections.singletonMap(ROLE, role.getScope() + ":" + role.getName()), ROLE_CREATED, role.getCreatedAt(), null, role); if (entity.isDefaultRole()) { toggleDefaultRole(convert(roleEntity.getScope()), entity.getName()); } return entity; } catch (TechnicalException ex) { LOGGER.error("An error occurs while trying to create role {}", roleEntity.getName(), ex); throw new TechnicalManagementException("An error occurs while trying to create role " + roleEntity.getName(), ex); } }
@Override public RoleEntity create(final NewRoleEntity roleEntity) { try { Role role = convert(roleEntity); if (roleRepository.findById(role.getScope(), role.getName()).isPresent()) { throw new RoleAlreadyExistsException(role.getScope(), role.getName()); } role.setCreatedAt(new Date()); role.setUpdatedAt(role.getCreatedAt()); RoleEntity entity = convert(roleRepository.create(role)); auditService.createPortalAuditLog( Collections.singletonMap(ROLE, role.getScope() + ":" + role.getName()), ROLE_CREATED, role.getCreatedAt(), null, role); if (entity.isDefaultRole()) { toggleDefaultRole(convert(roleEntity.getScope()), entity.getName()); } return entity; } catch (TechnicalException ex) { LOGGER.error("An error occurs while trying to create role {}", roleEntity.getName(), ex); throw new TechnicalManagementException("An error occurs while trying to create role " + roleEntity.getName(), ex); } }
@Override public RoleEntity update(final UpdateRoleEntity roleEntity) { if (isReserved(roleEntity.getName())) { throw new RoleReservedNameException(roleEntity.getName()); } RoleScope scope = convert(roleEntity.getScope()); try { Optional<Role> optRole = roleRepository.findById(scope, roleEntity.getName()); if (!optRole.isPresent()) { throw new RoleNotFoundException(scope, roleEntity.getName()); } Role role = optRole.get(); Role updatedRole = convert(roleEntity); updatedRole.setCreatedAt(role.getCreatedAt()); RoleEntity entity = convert(roleRepository.update(updatedRole)); auditService.createPortalAuditLog( Collections.singletonMap(ROLE, role.getScope()+":"+role.getName()), ROLE_UPDATED, updatedRole.getUpdatedAt(), role, updatedRole); if (entity.isDefaultRole()) { toggleDefaultRole(scope, entity.getName()); } return entity; } catch (TechnicalException ex) { LOGGER.error("An error occurs while trying to update role {}", roleEntity.getName(), ex); throw new TechnicalManagementException("An error occurs while trying to update role " + roleEntity.getName(), ex); } }
@Override public RoleEntity update(final UpdateRoleEntity roleEntity) { if (isReserved(roleEntity.getName())) { throw new RoleReservedNameException(roleEntity.getName()); } RoleScope scope = convert(roleEntity.getScope()); try { Optional<Role> optRole = roleRepository.findById(scope, roleEntity.getName()); if (!optRole.isPresent()) { throw new RoleNotFoundException(scope, roleEntity.getName()); } Role role = optRole.get(); Role updatedRole = convert(roleEntity); updatedRole.setCreatedAt(role.getCreatedAt()); RoleEntity entity = convert(roleRepository.update(updatedRole)); auditService.createPortalAuditLog( Collections.singletonMap(ROLE, role.getScope()+":"+role.getName()), ROLE_UPDATED, updatedRole.getUpdatedAt(), role, updatedRole); if (entity.isDefaultRole()) { toggleDefaultRole(scope, entity.getName()); } return entity; } catch (TechnicalException ex) { LOGGER.error("An error occurs while trying to update role {}", roleEntity.getName(), ex); throw new TechnicalManagementException("An error occurs while trying to update role " + roleEntity.getName(), ex); } }