use of io.gravitee.rest.api.service.exceptions.TechnicalManagementException in project gravitee-management-rest-api by gravitee-io.
the class GoodbyeCommandHandlerTest method handleWithException.
@Test
public void handleWithException() {
final InstallationEntity installation = new InstallationEntity();
installation.setId(INSTALLATION_ID);
installation.getAdditionalInformation().put(CUSTOM_KEY, CUSTOM_VALUE);
GoodbyeCommand command = new GoodbyeCommand();
when(installationService.getOrInitialize()).thenReturn(installation);
when(installationService.setAdditionalInformation(anyMap())).thenThrow(new TechnicalManagementException());
when(promotionService.search(any(), any(), any())).thenReturn(new Page<>(emptyList(), 0, 0, 0));
TestObserver<GoodbyeReply> obs = cut.handle(command).test();
obs.awaitTerminalEvent();
obs.assertValue(reply -> reply.getCommandId().equals(command.getId()) && reply.getCommandStatus().equals(CommandStatus.ERROR));
}
use of io.gravitee.rest.api.service.exceptions.TechnicalManagementException in project gravitee-management-rest-api by gravitee-io.
the class CategoryServiceImpl method update.
@Override
public CategoryEntity update(String categoryId, UpdateCategoryEntity categoryEntity) {
try {
LOGGER.debug("Update Category {}", categoryId);
Optional<Category> optCategoryToUpdate = categoryRepository.findById(categoryId);
if (!optCategoryToUpdate.isPresent()) {
throw new CategoryNotFoundException(categoryId);
}
final Category categoryToUpdate = optCategoryToUpdate.get();
Category category = convert(categoryEntity, categoryToUpdate.getEnvironmentId());
// If no new picture and the current picture url is not the default one, keep the current picture
if (categoryEntity.getPicture() == null && categoryEntity.getPictureUrl() != null && categoryEntity.getPictureUrl().indexOf("?hash") > 0) {
category.setPicture(categoryToUpdate.getPicture());
}
final Date updatedAt = new Date();
category.setCreatedAt(categoryToUpdate.getCreatedAt());
category.setUpdatedAt(updatedAt);
CategoryEntity updatedCategory = convert(categoryRepository.update(category));
auditService.createEnvironmentAuditLog(Collections.singletonMap(CATEGORY, category.getId()), CATEGORY_UPDATED, updatedAt, categoryToUpdate, category);
return updatedCategory;
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to update category {}", categoryEntity.getName(), ex);
throw new TechnicalManagementException("An error occurs while trying to update category " + categoryEntity.getName(), ex);
}
}
use of io.gravitee.rest.api.service.exceptions.TechnicalManagementException in project gravitee-management-rest-api by gravitee-io.
the class CategoryServiceImpl method create.
@Override
public CategoryEntity create(NewCategoryEntity newCategory) {
// First we prevent the duplicate category name
final List<CategoryEntity> categories = findAll();
final Optional<CategoryEntity> optionalCategory = categories.stream().filter(v -> v.getName().equals((newCategory.getName()))).findAny();
if (optionalCategory.isPresent()) {
throw new DuplicateCategoryNameException(optionalCategory.get().getName());
}
try {
// check if environment exists
String environment = GraviteeContext.getCurrentEnvironment();
this.environmentService.findById(environment);
Category category = convert(newCategory);
final Date createdAt = new Date();
category.setCreatedAt(createdAt);
category.setUpdatedAt(createdAt);
category.setEnvironmentId(environment);
category.setOrder(categories.size());
CategoryEntity createdCategory = convert(categoryRepository.create(category));
auditService.createEnvironmentAuditLog(Collections.singletonMap(CATEGORY, category.getId()), CATEGORY_CREATED, createdAt, null, category);
return createdCategory;
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to create category {}", newCategory.getName(), ex);
throw new TechnicalManagementException("An error occurs while trying to create category " + newCategory.getName(), ex);
}
}
use of io.gravitee.rest.api.service.exceptions.TechnicalManagementException in project gravitee-management-rest-api by gravitee-io.
the class CategoryServiceImpl method update.
@Override
public List<CategoryEntity> update(final List<UpdateCategoryEntity> categoriesEntities) {
final List<CategoryEntity> savedCategories = new ArrayList<>(categoriesEntities.size());
categoriesEntities.forEach(categoryEntity -> {
try {
Optional<Category> optCategoryToUpdate = categoryRepository.findById(categoryEntity.getId());
if (optCategoryToUpdate.isPresent()) {
final Category categoryToUpdate = optCategoryToUpdate.get();
Category category = convert(categoryEntity, categoryToUpdate.getEnvironmentId());
// check if picture has been set
if (category.getPicture() == null) {
// Picture can not be updated when re-ordering categories
category.setPicture(categoryToUpdate.getPicture());
}
// check if background has been set
if (category.getBackground() == null) {
// Background can not be updated when re-ordering categories
category.setBackground(categoryToUpdate.getBackground());
}
final Date updatedAt = new Date();
category.setCreatedAt(categoryToUpdate.getCreatedAt());
category.setUpdatedAt(updatedAt);
savedCategories.add(convert(categoryRepository.update(category)));
auditService.createEnvironmentAuditLog(Collections.singletonMap(CATEGORY, category.getId()), CATEGORY_UPDATED, updatedAt, categoryToUpdate, category);
}
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to update category {}", categoryEntity.getName(), ex);
throw new TechnicalManagementException("An error occurs while trying to update category " + categoryEntity.getName(), ex);
}
});
return savedCategories;
}
use of io.gravitee.rest.api.service.exceptions.TechnicalManagementException in project gravitee-management-rest-api by gravitee-io.
the class EnvironmentServiceImpl method createOrUpdate.
@Override
public EnvironmentEntity createOrUpdate(String organizationId, String environmentId, final UpdateEnvironmentEntity environmentEntity) {
try {
// First we check that organization exists
this.organizationService.findById(organizationId);
Optional<Environment> environmentOptional = environmentRepository.findById(environmentId);
Environment environment = convert(environmentEntity);
environment.setId(environmentId);
environment.setOrganizationId(organizationId);
if (environmentOptional.isPresent()) {
return convert(environmentRepository.update(environment));
} else {
EnvironmentEntity createdEnvironment = convert(environmentRepository.create(environment));
// create Default items for environment
apiHeaderService.initialize(createdEnvironment.getId());
pageService.initialize(createdEnvironment.getId());
return createdEnvironment;
}
} catch (TechnicalException ex) {
LOGGER.error("An error occurs while trying to update environment {}", environmentEntity.getName(), ex);
throw new TechnicalManagementException("An error occurs while trying to update environment " + environmentEntity.getName(), ex);
}
}
Aggregations