RED-7653: added cases for importing escaped and unescaped rule files
This commit is contained in:
parent
670b60041c
commit
1a92b3db26
@ -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);
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.service;
|
||||
|
||||
public class DossierTemplateImportServiceTest {
|
||||
|
||||
}
|
||||
@ -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();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user