diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java index 44fae6cbb..c8bd3500f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java @@ -65,6 +65,11 @@ public class FileAttributeConfigPersistenceService { } } + @Transactional + public void updatePrimaryAttribute(String fileAttribute) { + fileAttributeConfigRepository.updatePrimaryAttributeValueToTrue(fileAttribute); + } + public FileAttributesGeneralConfigurationEntity setFileAttributesGeneralConfig(String dossierTemplateId, FileAttributesGeneralConfigurationEntity fileAttributesConfig) { fileAttributesConfig.setDossierTemplateId(dossierTemplateId); fileAttributesConfig.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId)); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java index a40232d67..b2b15366a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java @@ -16,6 +16,10 @@ public interface FileAttributeConfigRepository extends JpaRepository findByIdOrDossierTemplateIdAndLabel(String dossierTemplateId, String fileAttributeId, String label); } 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 9e1960de1..17d8e6afa 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 @@ -244,9 +244,9 @@ public class DossierTemplateImportService { return dossierTemplateId; } - private void addEntries(Map> entries, String typeId, String initialTypeId, DictionaryEntryType dictionaryType) { - if (entries != null && !entries.isEmpty() && entries.get(initialTypeId) != null && !entries.get(initialTypeId).isEmpty()) { - dictionaryService.addEntries(typeId, entries.get(initialTypeId), true, true, dictionaryType); + private void addEntries(Map> entries, String typeId, String typeName, DictionaryEntryType dictionaryType) { + if (entries != null && !entries.isEmpty() && entries.get(typeName) != null && !entries.get(typeName).isEmpty()) { + dictionaryService.addEntries(typeId, entries.get(typeName), true, true, dictionaryType); } else { // no entries, delete current entries List existing = entryPersistenceService.getEntries(typeId, dictionaryType, null) .stream() @@ -342,9 +342,9 @@ public class DossierTemplateImportService { } typeIdsAdded.add(typeId); - this.addEntries(request.getEntries(), typeId, type.getTypeId(), DictionaryEntryType.ENTRY); - this.addEntries(request.getFalsePositives(), typeId, type.getTypeId(), DictionaryEntryType.FALSE_POSITIVE); - this.addEntries(request.getFalseRecommendations(), typeId, type.getTypeId(), DictionaryEntryType.FALSE_RECOMMENDATION); + this.addEntries(request.getEntries(), typeId, type.getType(), DictionaryEntryType.ENTRY); + this.addEntries(request.getFalsePositives(), typeId, type.getType(), DictionaryEntryType.FALSE_POSITIVE); + this.addEntries(request.getFalseRecommendations(), typeId, type.getType(), DictionaryEntryType.FALSE_RECOMMENDATION); } // remove additional types and not included in the archive this.deleteTypes(currentTypes, typeIdsAdded); @@ -416,6 +416,9 @@ public class DossierTemplateImportService { fa.setId(fileAttributeConfigPersistenceService.getFileAttributeByIdOrName(dossierTemplateId, fa.getId(), fa.getLabel())); FileAttributeConfigEntity fileAttributeAdded = fileAttributeConfigPersistenceService.addOrUpdateFileAttribute(dossierTemplateId, convert(fa, FileAttributeConfigEntity.class)); fileAttributeIdsAdded.add(fileAttributeAdded.getId()); + if (fa.isPrimaryAttribute()) { + fileAttributeConfigPersistenceService.updatePrimaryAttribute(fileAttributeAdded.getId()); + } }); // remove existing file attributes and not included in archive Set attributesToRemove = currentFileAttributeIds.stream().filter(fa -> !fileAttributeIdsAdded.contains(fa)).collect(Collectors.toSet());