diff --git a/persistence-service-v1/persistence-service-processor-v1/pom.xml b/persistence-service-v1/persistence-service-processor-v1/pom.xml
index c0bda2515..95c095dc3 100644
--- a/persistence-service-v1/persistence-service-processor-v1/pom.xml
+++ b/persistence-service-v1/persistence-service-processor-v1/pom.xml
@@ -19,7 +19,7 @@
0.5.0
0.18.0
0.6.0
- 0.4.0
+ 0.12.0
diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java
index 879d295e0..65513a13d 100644
--- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java
+++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DossierTemplateImportService.java
@@ -25,6 +25,8 @@ import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
+import org.apache.commons.compress.compressors.FileNameUtil;
+import org.apache.commons.compress.utils.FileNameUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -215,10 +217,17 @@ public class DossierTemplateImportService {
FileAttributesGeneralConfiguration fileAttributesGeneralConfiguration = objectMapper.readValue(bytes, FileAttributesGeneralConfiguration.class);
importTemplateResult.setFileAttributesGeneralConfiguration(fileAttributesGeneralConfiguration);
} else if (ze.getName().contains(ExportFilename.RULES.getFilename())) {
- String rules = objectMapper.readValue(bytes, String.class);
- importTemplateResult.setRuleSet(rules);
+ if(ze.getName().endsWith(".txt")) {
+ String rules = objectMapper.readValue(new String(bytes), String.class);
+ importTemplateResult.setRuleSet(rules);
+ }else if(ze.getName().endsWith(".drl")) {
+ String rules = new String(bytes);
+ importTemplateResult.setRuleSet(rules);
+ } else {
+ throw new BadRequestException("File is not in TXT or DRL format. "+ FileNameUtils.getExtension(ze.getName()) +" format is not supported.");
+ }
} else if (ze.getName().contains(ExportFilename.COMPONENT_RULES.getFilename())) {
- String rules = objectMapper.readValue(bytes, String.class);
+ String rules = objectMapper.readValue(new String(bytes), String.class);
importTemplateResult.setComponentRuleSet(rules);
} else if (ze.getName().contains(ExportFilename.DOSSIER_TYPE.getFilename())) {
Type type = objectMapper.readValue(bytes, Type.class);
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 8d446586e..7e732520e 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
@@ -6,9 +6,12 @@ import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.List;
+import java.util.Locale;
import java.util.stream.Collectors;
+import org.apache.commons.text.StringEscapeUtils;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;
@@ -55,6 +58,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp
import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue;
import jakarta.transaction.Transactional;
+import liquibase.util.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -66,6 +70,7 @@ public class DossierTemplateExportService {
private static final String JSON_EXT = ".json";
private static final String TXT_EXT = ".txt";
+ private static final String RULE_EXT = ".drl";
private final DossierTemplatePersistenceService dossierTemplatePersistenceService;
private final DownloadStatusPersistenceService downloadStatusPersistenceService;
private final DossierAttributeConfigPersistenceService dossierAttributeConfigPersistenceService;
@@ -173,8 +178,8 @@ public class DossierTemplateExportService {
// add rule set
var ruleSet = rulesPersistenceService.getRules(dossierTemplateId, RuleFileType.ENTITY);
fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null,
- getFilename(ExportFilename.RULES, TXT_EXT),
- objectMapper.writeValueAsBytes(ruleSet.getValue())));
+ getFilename(ExportFilename.RULES, RULE_EXT),
+ ruleSet.getValue().getBytes(StandardCharsets.UTF_8)));
// add component rule set
try {
diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateImportTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateImportTest.java
index d35a78cff..3bf948eb5 100644
--- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateImportTest.java
+++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateImportTest.java
@@ -47,7 +47,7 @@ public class DossierTemplateImportTest extends AbstractPersistenceServerServiceT
@Disabled
public void testLocalDossierTemplateImport() {
- var importDir = new File("/Users/timobejan/work/dossier-templates-v2/dev");
+ var importDir = new File("C:\\Users\\YannikHampe\\Downloads\\testing\\");
assertThat(importDir).isNotNull();
assertThat(importDir.exists()).isTrue();
diff --git a/publish-custom-docker-img.sh b/publish-custom-docker-img.sh
index d5ff0a524..4f282415d 100755
--- a/publish-custom-docker-img.sh
+++ b/publish-custom-docker-img.sh
@@ -17,7 +17,7 @@ GIT_BRANCH=$(git symbolic-ref --short HEAD)
# Get the first 5 characters of the commit hash
GIT_COMMIT_HASH=$(git rev-parse --short=5 HEAD)
# Create the image tag by combining branch and commit hash
-IMAGE_TAG="${USER}-${GIT_BRANCH}-${GIT_COMMIT_HASH}"
+IMAGE_TAG="${GIT_BRANCH}-${GIT_COMMIT_HASH}"
IMAGE_NAME="$NEXUS_REPO/$IMAGE_NAME:$IMAGE_TAG"
echo "Building docker image: {$IMAGE_NAME}"