From 6fdcb4e65576e2630f8296497e301aba72f8e5a3 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Thu, 25 Nov 2021 14:38:38 +0100 Subject: [PATCH] RED-2171: Fixex sonar bugs findings in 3.0 migration --- .../server/exception/MigrationException.java | 16 ++++++++++ .../v1/server/migration/MigrationService.java | 30 ++++++++++++------- 2 files changed, 35 insertions(+), 11 deletions(-) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/exception/MigrationException.java diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/exception/MigrationException.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/exception/MigrationException.java new file mode 100644 index 000000000..741815109 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/exception/MigrationException.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.peristence.v1.server.exception; + +public class MigrationException extends RuntimeException { + + public MigrationException(String message, Throwable t) { + + super(message, t); + } + + + public MigrationException(String message) { + + super(message); + } + +} \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationService.java index f99e23cc0..87827ce25 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationService.java @@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import com.iqser.red.service.peristence.v1.server.exception.MigrationException; import com.iqser.red.service.peristence.v1.server.migration.model.CommentRow; import com.iqser.red.service.peristence.v1.server.migration.model.ConfigurationRow; import com.iqser.red.service.peristence.v1.server.migration.model.DossierAttributeRow; @@ -123,6 +124,8 @@ import lombok.extern.slf4j.Slf4j; @RequiredArgsConstructor public class MigrationService { + private static final String GLOBAL = "global"; + private final FileManagementStorageService fileManagementStorageService; private final ObjectMapper objectMapper; @@ -430,10 +433,15 @@ public class MigrationService { private void migrateRules(String dossierTemplateId, List versions) { - var version = versions.stream() + var versionOptional = versions.stream() .filter(versionRow -> versionRow.getDossierTemplateId() .equals(dossierTemplateId) && versionRow.getVersionType() == VersionType.RULE.ordinal()) - .findFirst() + .findFirst(); + + if(!versionOptional.isPresent()){ + throw new MigrationException("Unable to find version"); + } + var version = versionOptional .get() .getVersion(); @@ -477,7 +485,7 @@ public class MigrationService { }); notifications.forEach(notification -> { - var converted = new NotificationEntity().builder() + var converted = NotificationEntity.builder() .userId(notification.getUserId()) .notificationType(notification.getNotificationType()) .issuerId(notification.getIssuerId()) @@ -933,10 +941,10 @@ public class MigrationService { types.stream().forEach(typeEntity -> { - if (typeEntity.getDossierId().equals("global")) { + if (typeEntity.getDossierId().equals(GLOBAL)) { var version = versions.stream() .filter(versionRow -> versionRow.getDossierId() - .equals("global") && versionRow.getDossierTemplateId() + .equals(GLOBAL) && versionRow.getDossierTemplateId() .equals(typeEntity.getDossierTemplateId()) && versionRow.getVersionType() == VersionType.DICTIONARY .ordinal()) .findFirst() @@ -980,7 +988,7 @@ public class MigrationService { var converted = entries.stream().map(entry -> { String typeId = toTypeId(entry.getType(), entry.getDossierTemplateId(), entry.getDossierId() - .equals("global") ? null : entry.getDossierId()); + .equals(GLOBAL) ? null : entry.getDossierId()); if (!typeForTypeId.containsKey(typeId)) { typeForTypeId.put(typeId, typeRepository.getOne(typeId)); } @@ -1030,7 +1038,7 @@ public class MigrationService { colorsRepository.save(colors); } catch (JsonProcessingException e) { - throw new RuntimeException("Could not migrate dossier attributes config"); + throw new MigrationException("Could not migrate default colors"); } }); } @@ -1048,7 +1056,7 @@ public class MigrationService { watermarkRepository.save(watermark); } catch (JsonProcessingException e) { - throw new RuntimeException("Could not migrate dossier attributes config"); + throw new MigrationException("Could not migrate watermark"); } }); } @@ -1079,7 +1087,7 @@ public class MigrationService { legalBasisMappingRepository.save(legalBasisMappingEntity); } catch (JsonProcessingException e) { - throw new RuntimeException("Could not migrate dossier attributes config"); + throw new MigrationException("Could not migrate dossier attributes config"); } }); } @@ -1110,7 +1118,7 @@ public class MigrationService { }); } catch (JsonProcessingException e) { - throw new RuntimeException("Could not migrate dossier attributes config"); + throw new MigrationException("Could not migrate dossier attributes config"); } }); return oldIdToNewId; @@ -1151,7 +1159,7 @@ public class MigrationService { dossierTemplateRepository.save(dossierTemplate); } catch (JsonProcessingException e) { - throw new RuntimeException("Could not migrate dossier attributes config"); + throw new MigrationException("Could not migrate file attributes config"); } });