RED-4543 - In fileAttributesController, support ASCII and ISO as Encoding Type
- add column encoding to file attribute config - update junit tests
This commit is contained in:
parent
3157f3a602
commit
54fcb5076b
@ -14,5 +14,6 @@ public class FileAttributesGeneralConfiguration {
|
||||
private String dossierTemplateId;
|
||||
private String filenameMappingColumnHeaderName;
|
||||
private String delimiter;
|
||||
private String encoding;
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,9 @@ public interface FileAttributesConfigResource {
|
||||
String FILE_ATTRIBUTE_ID = "fileAttributeId";
|
||||
String FILE_ATTRIBUTE_ID_PATH_VARIABLE = "/{" + FILE_ATTRIBUTE_ID + "}";
|
||||
|
||||
String UTF_ENCODING = "UTF-8";
|
||||
String ASCII_ENCODING = "ASCII";
|
||||
String ISO_ENCODING = "ISO-8601";
|
||||
|
||||
@ResponseBody
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
|
||||
@ -30,6 +30,8 @@ public class FileAttributesGeneralConfigurationEntity {
|
||||
private String filenameMappingColumnHeaderName;
|
||||
@Column
|
||||
private String delimiter;
|
||||
@Column
|
||||
private String encoding;
|
||||
|
||||
@OneToOne
|
||||
@JsonIgnore
|
||||
|
||||
@ -184,6 +184,7 @@ public class DossierTemplateCloneService {
|
||||
var fagc = FileAttributesGeneralConfigurationEntity.builder()
|
||||
.dossierTemplateId(clonedDossierTemplateId)
|
||||
.delimiter(fileAttributesGeneralConfig.getDelimiter())
|
||||
.encoding(fileAttributesGeneralConfig.getEncoding())
|
||||
.filenameMappingColumnHeaderName(fileAttributesGeneralConfig.getFilenameMappingColumnHeaderName())
|
||||
.build();
|
||||
fileAttributeConfigPersistenceService.setFileAttributesGeneralConfig(clonedDossierTemplateId, fagc);
|
||||
|
||||
@ -24,6 +24,8 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import static com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource.*;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class FileAttributeConfigPersistenceService {
|
||||
@ -85,6 +87,7 @@ public class FileAttributeConfigPersistenceService {
|
||||
|
||||
fileAttributesConfig.setDossierTemplateId(dossierTemplateId);
|
||||
fileAttributesConfig.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId));
|
||||
fileAttributesConfig.setEncoding(this.getValidatedEncoding(fileAttributesConfig.getEncoding()));
|
||||
return fileAttributesGeneralConfigurationRepository.save(fileAttributesConfig);
|
||||
}
|
||||
|
||||
@ -163,7 +166,18 @@ public class FileAttributeConfigPersistenceService {
|
||||
throw new ConflictException("Placeholder already exists.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private String getValidatedEncoding(String encoding) {
|
||||
if (StringUtils.isBlank(encoding))
|
||||
return UTF_ENCODING;
|
||||
if (UTF_ENCODING.equalsIgnoreCase(encoding.trim()))
|
||||
return UTF_ENCODING;
|
||||
if (ASCII_ENCODING.equalsIgnoreCase(encoding.trim()))
|
||||
return ASCII_ENCODING;
|
||||
if (ISO_ENCODING.equalsIgnoreCase(encoding.trim()))
|
||||
return ISO_ENCODING;
|
||||
return UTF_ENCODING;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -103,3 +103,5 @@ databaseChangeLog:
|
||||
file: db/changelog/tenant/40-remove-quartz.changelog.yaml
|
||||
- include:
|
||||
file: db/changelog/tenant/sql/41-update-ocr-file-columns.sql
|
||||
- include:
|
||||
file: db/changelog/tenant/sql/42-add-encoding-column-file-attribute-config.sql
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
ALTER TABLE file_attribute_general_configuration ADD COLUMN encoding VARCHAR(255);
|
||||
update file_attribute_general_configuration set encoding = 'UTF-8';
|
||||
@ -235,6 +235,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
FileAttributesGeneralConfiguration.builder()
|
||||
.dossierTemplateId(dossierTemplate.getId())
|
||||
.delimiter("")
|
||||
.encoding("UTF-8")
|
||||
.filenameMappingColumnHeaderName("filenameMappingColumnHeaderName")
|
||||
.build());
|
||||
fileAttributeConfigClient.setFileAttributesConfig(dossierTemplate.getId(),
|
||||
@ -328,6 +329,8 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
.getCsvColumnHeader()).isEqualTo(fileAttributeConfigClient.getFileAttributeConfigs(clonedDT.getId()).get(0).getCsvColumnHeader());
|
||||
assertThat(fileAttributeConfigClient.getFileAttributesGeneralConfig(dossierTemplate.getId())
|
||||
.getFilenameMappingColumnHeaderName()).isEqualTo(fileAttributeConfigClient.getFileAttributesGeneralConfig(clonedDT.getId()).getFilenameMappingColumnHeaderName());
|
||||
assertThat(fileAttributeConfigClient.getFileAttributesGeneralConfig(dossierTemplate.getId())
|
||||
.getEncoding()).isEqualTo(fileAttributeConfigClient.getFileAttributesGeneralConfig(clonedDT.getId()).getEncoding());
|
||||
assertThat(reportTemplateClient.getAvailableReportTemplates(dossierTemplate.getId()).get(0).getFileName()).isEqualTo(reportTemplateClient.getAvailableReportTemplates(
|
||||
clonedDT.getId()).get(0).getFileName());
|
||||
assertThat(dictionaryClient.getColors(dossierTemplate.getId()).getRequestAddColor()).isEqualTo(dictionaryClient.getColors(clonedDT.getId()).getRequestAddColor());
|
||||
@ -683,6 +686,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
|
||||
FileAttributesGeneralConfiguration.builder()
|
||||
.dossierTemplateId(dossierTemplate.getId())
|
||||
.delimiter("")
|
||||
.encoding("UTF-8")
|
||||
.filenameMappingColumnHeaderName("filenameMappingColumnHeaderName")
|
||||
.build());
|
||||
fileAttributeConfigClient.setFileAttributesConfig(dossierTemplate.getId(),
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import static com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource.ASCII_ENCODING;
|
||||
import static com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource.UTF_ENCODING;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -65,6 +67,12 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
fileAttributeConfigClient.setFileAttributesGeneralConfig(dossier.getDossierTemplateId(), generalConfig);
|
||||
var loadedConfig = fileAttributeConfigClient.getFileAttributesGeneralConfig(dossier.getDossierTemplateId());
|
||||
assertThat(loadedConfig.getDelimiter()).isEqualTo(",");
|
||||
assertThat(loadedConfig.getEncoding()).isEqualTo(UTF_ENCODING);
|
||||
|
||||
generalConfig.setEncoding(" ASCII ");
|
||||
fileAttributeConfigClient.setFileAttributesGeneralConfig(dossier.getDossierTemplateId(), generalConfig);
|
||||
loadedConfig = fileAttributeConfigClient.getFileAttributesGeneralConfig(dossier.getDossierTemplateId());
|
||||
assertThat(loadedConfig.getEncoding()).isEqualTo(ASCII_ENCODING);
|
||||
|
||||
List<FileAttributeConfig> configs = new ArrayList<>();
|
||||
configs.add(FileAttributeConfig.builder().csvColumnHeader("Name").primaryAttribute(true).label("Name").build());
|
||||
@ -164,6 +172,7 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
FileAttributesGeneralConfiguration generalConfig = new FileAttributesGeneralConfiguration();
|
||||
generalConfig.setDelimiter(",");
|
||||
generalConfig.setEncoding("UTF-8");
|
||||
generalConfig.setFilenameMappingColumnHeaderName("Name");
|
||||
generalConfig.setDossierTemplateId(dossier.getDossierTemplateId());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user