diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java index 2a3efc95f..8d446586e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java @@ -177,10 +177,14 @@ public class DossierTemplateExportService { objectMapper.writeValueAsBytes(ruleSet.getValue()))); // add component rule set - var componentRuleSet = rulesPersistenceService.getRules(dossierTemplateId, RuleFileType.COMPONENT); - fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null, - getFilename(ExportFilename.COMPONENT_RULES, TXT_EXT), - objectMapper.writeValueAsBytes(componentRuleSet.getValue()))); + try { + var componentRuleSet = rulesPersistenceService.getRules(dossierTemplateId, RuleFileType.COMPONENT); + fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null, + getFilename(ExportFilename.COMPONENT_RULES, TXT_EXT), + objectMapper.writeValueAsBytes(componentRuleSet.getValue()))); + } catch (NotFoundException e) { + log.debug("No component rules present."); + } //N files with the related report templates var reportTemplateList = reportTemplatePersistenceService.findByDossierTemplateId(dossierTemplate.getId()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java index 08f83f878..9ef6edbbb 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java @@ -105,11 +105,9 @@ public class RulesPersistenceService { private final RuleSetRepository ruleSetRepository; - @Transactional(Transactional.TxType.REQUIRES_NEW) public RuleSetEntity getRules(String dossierTemplateId, RuleFileType ruleFileType) { if (ruleFileType.equals(RuleFileType.ENTITY)) { - return ruleSetRepository.findByDossierTemplateIdAndRuleFileType(dossierTemplateId, ruleFileType.name()) .orElseGet(() -> createAndGetDefaultRuleSet(dossierTemplateId, ruleFileType)); } @@ -118,7 +116,7 @@ public class RulesPersistenceService { } - private RuleSetEntity createAndGetDefaultRuleSet(String dossierTemplateId, RuleFileType ruleFileType) { + public RuleSetEntity createAndGetDefaultRuleSet(String dossierTemplateId, RuleFileType ruleFileType) { RuleSetEntity ruleSet = new RuleSetEntity(); ruleSet.setDossierTemplateId(dossierTemplateId); diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/rules/RulesUploadRequestModel.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/rules/RulesUploadRequestModel.java index 7090d4a0e..82eff8e88 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/rules/RulesUploadRequestModel.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/rules/RulesUploadRequestModel.java @@ -23,6 +23,6 @@ public class RulesUploadRequestModel { private String dossierTemplateId; @Schema(description = "The Rule file type of these rules", allowableValues = {"ENTITY", "COMPONENT"}) - private RuleFileType ruleFileType; + private RuleFileType ruleFileType = RuleFileType.ENTITY; }