use of io.gravitee.management.service.exceptions.RoleNotFoundException in project gravitee-management-rest-api by gravitee-io.
the class RoleServiceImpl method delete.
@Override
public void delete(final RoleScope scope, final String name) {
if (isReserved(name)) {
throw new RoleReservedNameException(SystemRole.ADMIN.name());
}
try {
Optional<Role> optRole = roleRepository.findById(scope, name);
if (!optRole.isPresent()) {
throw new RoleNotFoundException(scope, name);
}
Role role = optRole.get();
roleRepository.delete(scope, name);
auditService.createPortalAuditLog(Collections.singletonMap(ROLE, role.getScope() + ":" + role.getName()), ROLE_DELETED, role.getUpdatedAt(), role, null);
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to delete role {}/{}", scope, name, ex);
throw new TechnicalManagementException("An error occurs while trying to delete role " + scope + "/" + name, ex);
}
}
use of io.gravitee.management.service.exceptions.RoleNotFoundException in project gravitee-management-rest-api by gravitee-io.
the class RoleServiceImpl method update.
@Override
public RoleEntity update(final UpdateRoleEntity roleEntity) {
if (isReserved(roleEntity.getName())) {
throw new RoleReservedNameException(SystemRole.ADMIN.name());
}
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);
}
}
use of io.gravitee.management.service.exceptions.RoleNotFoundException in project gravitee-management-rest-api by gravitee-io.
the class MembershipService_AddOrUpdateMemberTest method shouldDisallowAddUnknownRoleOnApplicationGroup.
@Test(expected = RoleNotFoundException.class)
public void shouldDisallowAddUnknownRoleOnApplicationGroup() throws Exception {
when(roleService.findById(any(), any())).thenThrow(new RoleNotFoundException(RoleScope.PORTAL, "name"));
membershipService.addOrUpdateMember(new MembershipService.MembershipReference(MembershipReferenceType.GROUP, GROUP_ID), new MembershipService.MembershipUser("xxxxx", null), new MembershipService.MembershipRole(RoleScope.PORTAL, "name"));
}
use of io.gravitee.management.service.exceptions.RoleNotFoundException in project gravitee-management-rest-api by gravitee-io.
the class RoleServiceImpl method findById.
@Override
public RoleEntity findById(final RoleScope scope, final String name) {
try {
LOGGER.debug("Find Role by id");
Optional<Role> role = roleRepository.findById(scope, name);
if (!role.isPresent()) {
throw new RoleNotFoundException(scope, name);
}
return convert(role.get());
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to find a role : {} {}", scope, name, ex);
throw new TechnicalManagementException("An error occurs while trying to find a role : " + scope + " " + name, ex);
}
}
use of io.gravitee.management.service.exceptions.RoleNotFoundException in project gravitee-management-rest-api by gravitee-io.
the class MembershipService_AddOrUpdateMemberTest method shouldDisallowAddUnknownRoleOnApiGroup.
@Test(expected = RoleNotFoundException.class)
public void shouldDisallowAddUnknownRoleOnApiGroup() throws Exception {
when(roleService.findById(any(), any())).thenThrow(new RoleNotFoundException(RoleScope.PORTAL, "name"));
membershipService.addOrUpdateMember(new MembershipService.MembershipReference(MembershipReferenceType.GROUP, GROUP_ID), new MembershipService.MembershipUser("xxxxx", null), new MembershipService.MembershipRole(RoleScope.PORTAL, "name"));
}
Aggregations