From 6ebf9e0efcac025d61491e78c2b4f5bc14ac1ad7 Mon Sep 17 00:00:00 2001 From: devplant Date: Mon, 5 Dec 2022 15:08:20 +0200 Subject: [PATCH] RED-5674 - 404 when overwriting existing dossier template - when deleting the current types from import a dossier template with update check for the types to not be deleted already and not system managed --- .../v1/server/service/DossierTemplateImportService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java index daba77c0d..1b9a8681b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateImportService.java @@ -448,7 +448,12 @@ public class DossierTemplateImportService { dictionaryPersistenceService.incrementVersion(typeId); typeIdsAdded.add(typeId); // added to the list, since the type can not be deleted }); - Set typesToRemove = currentTypes.stream().map(TypeEntity::getId).filter(t -> !typeIdsAdded.contains(t)).collect(Collectors.toSet()); + Set typesToRemove = currentTypes.stream() + .filter(t -> !t.isDeleted()) // remove the ones already soft deleted + .map(TypeEntity::getId) + .filter(t -> !typeIdsAdded.contains(t)) // exclude the type ids already added from the import + .filter(t -> !currentTypesIdSystemManaged.contains(t)) // exclude the types system managed + .collect(Collectors.toSet()); typesToRemove.forEach(dictionaryService::deleteType); }