RED-9832 - FalsePositives and FalseRecommendations not imported

- update the corresponding functions for entity type import
- fix the problem for upload a dossier template and update its name because of duplicate
- added unit test for duplicate names
This commit is contained in:
corinaolariu 2024-08-09 13:17:35 +03:00
parent 8c96f75d3a
commit 00f1b8e495
3 changed files with 17 additions and 2 deletions

View File

@ -247,6 +247,7 @@ public class DossierTemplateImportService {
if (StringUtils.isEmpty(dossierTemplateMeta.getName())) {
throw new ConflictException("DossierTemplate name must be set");
}
dossierTemplateMeta.setId("");
this.validateDossierTemplateName(dossierTemplateMeta);
DossierTemplateEntity dossierTemplateEntity = new DossierTemplateEntity();

View File

@ -44,10 +44,10 @@ public class EntityTypeArchiveReader {
entityTypeImportModel.getEntries().put(zipEntryData.getParentFolder(), entries);
} else if (zipEntryData.entry().getName().contains(ExportFilename.FALSE_POSITIVES.getFilename())) {
List<String> falsePositives = this.readEntries(zipEntryData.data());
entityTypeImportModel.getFalseRecommendations().put(zipEntryData.getParentFolder(), falsePositives);
entityTypeImportModel.getFalsePositives().put(zipEntryData.getParentFolder(), falsePositives);
} else if (zipEntryData.entry().getName().contains(ExportFilename.FALSE_RECOMMENDATION.getFilename())) {
List<String> falseRecommendations = this.readEntries(zipEntryData.data());
entityTypeImportModel.getDeletedFalseRecommendations().put(zipEntryData.getParentFolder(), falseRecommendations);
entityTypeImportModel.getFalseRecommendations().put(zipEntryData.getParentFolder(), falseRecommendations);
} else if (zipEntryData.entry().getName().contains(ExportFilename.DELETED_ENTRIES.getFilename())) {
List<String> entries = this.readEntries(zipEntryData.data());
entityTypeImportModel.getDeletedEntries().put(zipEntryData.getParentFolder(), entries);

View File

@ -109,6 +109,20 @@ public class DossierTemplateImportTest extends AbstractPersistenceServerServiceT
testDossierTemplateImport(archive);
}
@SneakyThrows
@Test
public void testDossierTemplateImportWithTheSameName() {
TenantContext.setTenantId("redaction");
var archive = loadFileFromClasspath("EFSA_sanitisation_GFL_v1.zip");
var dt1 = testDossierTemplateImport(archive);
assertThat(dt1.getName()).isEqualTo("EFSA sanitisation GFL v1");
var dt2 = testDossierTemplateImport(archive);
assertThat(dt2.getName()).isEqualTo("Copy of EFSA sanitisation GFL v1");
}
@SneakyThrows
private byte[] loadFileFromClasspath(String filename) {