From 784b67ee5a4d0f69e667b26361e3399d8ea256e0 Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Wed, 24 Jul 2024 08:00:28 +0200 Subject: [PATCH] RED-8951: made it possible to import entities with dictionary but hasDictionary=false --- .../dataexchange/service/EntityTypeImportService.java | 2 +- .../v1/processor/service/DictionaryManagementService.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java index 2f6a7787a..d49aab522 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java @@ -171,7 +171,7 @@ public class EntityTypeImportService { private void addEntries(Map> entries, Map> deleteEntries, String typeId, String typeName, DictionaryEntryType dictionaryType) { if (entries != null && !entries.isEmpty() && entries.get(typeName) != null && !entries.get(typeName).isEmpty()) { - dictionaryManagementService.addEntries(typeId, entries.get(typeName), true, true, dictionaryType); + dictionaryManagementService.addEntries(typeId, entries.get(typeName), true, true, dictionaryType, true); } else { // no entries, delete current entries List existing = entryPersistenceService.getEntries(typeId, dictionaryType, null) .stream() diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryManagementService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryManagementService.java index c9579cbe8..8df87041d 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryManagementService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryManagementService.java @@ -237,6 +237,12 @@ public class DictionaryManagementService { @Transactional public void addEntries(String typeId, List entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType) { + addEntries(typeId, entries, removeCurrent, ignoreInvalidEntries, dictionaryEntryType, false); + } + + + @Transactional + public void addEntries(String typeId, List entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType, boolean isImport) { checkForDossierTypeExistenceAndCreate(typeId); @@ -258,7 +264,7 @@ public class DictionaryManagementService { // To check whether the type exists, type should not be added into database implicitly by addEntry. Type typeResult = MagicConverter.convert(dictionaryPersistenceService.getType(typeId), Type.class); - if (!typeResult.isHasDictionary()) { + if (!typeResult.isHasDictionary() && !isImport) { throw new BadRequestException("Entity type does not have a dictionary"); } -- 2.47.2