RED-6916: Removed creation of dossier_redaction Dossier Dictionary at creat dossier #8

Merged
dominique.eiflaender1 merged 1 commits from RED-6916 into master 2023-06-16 12:41:13 +02:00
5 changed files with 43 additions and 67 deletions

View File

@ -23,7 +23,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.Dossier;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierChange;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.Type;
import com.iqser.red.service.search.v1.model.IndexMessageType;
import lombok.RequiredArgsConstructor;
@ -53,7 +52,6 @@ public class DossierManagementService {
var dossier = dossierService.addDossier(dossierRequest);
addDossierDictionary(dossier.getDossierTemplateId(), dossier.getId());
return MagicConverter.convert(dossier, Dossier.class, new DossierMapper());
}
@ -275,24 +273,4 @@ public class DossierManagementService {
}
private void addDossierDictionary(String dossierTemplateId, String dossierId) {
dictionaryManagementService.addType(Type.builder()
.type(fileManagementServiceSettings.getDossierDictionarySettings().getName())
.dossierTemplateId(dossierTemplateId)
.hexColor(fileManagementServiceSettings.getDossierDictionarySettings().getHexColor())
.rank(fileManagementServiceSettings.getDossierDictionarySettings().getRank())
.isHint(fileManagementServiceSettings.getDossierDictionarySettings().isHint())
.isCaseInsensitive(fileManagementServiceSettings.getDossierDictionarySettings().isCaseInsensitive())
.isRecommendation(fileManagementServiceSettings.getDossierDictionarySettings().isRecommendation())
.description(fileManagementServiceSettings.getDossierDictionarySettings().getDescription())
.addToDictionaryAction(fileManagementServiceSettings.getDossierDictionarySettings().isAddToDictionaryAction())
.dossierId(dossierId)
.hasDictionary(true)
.systemManaged(true)
.dossierDictionaryOnly(true)
.build());
}
}

View File

@ -1,17 +0,0 @@
package com.iqser.red.service.persistence.management.v1.processor.settings;
import lombok.Data;
@Data
public class DossierDictionarySettings {
private String name = "dossier_redaction";
private String hexColor = "#9398a0";
private int rank = 1500;
private boolean hint;
private boolean caseInsensitive;
private boolean recommendation;
private String description = "Entries in this dictionary will only be redacted in this dossier";
private boolean addToDictionaryAction;
}

View File

@ -47,6 +47,5 @@ public class FileManagementServiceSettings {
private String applicationName = "RedactManager";
private Set<String> defaultFilterTypes = new HashSet<>();
private Set<String> defaultFilterHintTypes = new HashSet<>();
private DossierDictionarySettings dossierDictionarySettings = new DossierDictionarySettings();
}

View File

@ -7,6 +7,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -17,7 +18,9 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTem
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.management.v1.processor.utils.multitenancy.TenantContext;
import com.iqser.red.service.persistence.service.v1.api.shared.model.CreateTypeValue;
import com.iqser.red.service.persistence.service.v1.api.shared.model.TypeValue;
import com.iqser.red.service.persistence.service.v1.api.shared.model.UpdateTypeValue;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType;
@ -41,6 +44,13 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
private DossierTemplateClient dossierTemplateClient;
@BeforeEach
public void createDossierRedactionDictionary() {
TenantContext.setTenantId("redaction");
}
@Test
public void testAddFalsePositiveAndFalseRecommendation() {
@ -90,6 +100,7 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
public void testAddEntriesWithStopWord() {
var dossier = dossierTesterAndProvider.provideTestDossier();
createDossierRedactionsDictionary(dossier.getDossierTemplateId());
var typeId = "dossier_redaction";
var entries = new ArrayList<String>();
entries.add("age");
@ -106,40 +117,42 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
public void testAddEntriesWithStopWord2() {
var dossier = dossierTesterAndProvider.provideTestDossier();
var typeId = "dossier_redaction";
createDossierRedactionsDictionary(dossier.getDossierTemplateId());
var type = "dossier_redaction";
var entries = new ArrayList<String>();
entries.add("age");
entries.add("p");
try {
dictionaryClient.addEntry(typeId, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
dictionaryClient.addEntry(type, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
} catch (FeignException e) {
assertThat(e.status()).isEqualTo(400);
}
entries.remove(1);
entries.add("5");
try {
dictionaryClient.addEntry(typeId, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
dictionaryClient.addEntry(type, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
} catch (FeignException e) {
assertThat(e.status()).isEqualTo(400);
}
entries.remove(1);
entries.add("12");
try {
dictionaryClient.addEntry(typeId, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
dictionaryClient.addEntry(type, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
} catch (FeignException e) {
assertThat(e.status()).isEqualTo(400);
}
entries.remove(1);
entries.add(";");
try {
dictionaryClient.addEntry(typeId, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
dictionaryClient.addEntry(type, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
} catch (FeignException e) {
assertThat(e.status()).isEqualTo(400);
}
entries.remove(1);
entries.add("");
dictionaryClient.addEntry(typeId, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
dictionaryClient.addEntry(type, dossier.getDossierTemplateId(), entries, false, dossier.getId(), DictionaryEntryType.ENTRY);
}
@ -266,11 +279,10 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
.build());
assertThat(returnedtype1.isDossierDictionaryOnly()).isTrue();
assertThat(dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), null, false).getTypes().size()).isEqualTo(1);
assertThat(dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), dossier.getId(), false).getTypes().size()).isEqualTo(3);
var dictionary = dictionaryClient.getDictionaryForType(returnedtype1.getType(), dossier.getDossierTemplateId(), dossier2.getId());
assertThat(dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), dossier2.getId(), false).getTypes().size()).isEqualTo(3);
assertThat(dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), dossier.getId(), false).getTypes().size()).isEqualTo(2);
var dictionary = dictionaryClient.getDictionaryForType(returnedtype1.getType(), dossier.getDossierTemplateId(), dossier2.getId());
assertThat(dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), dossier2.getId(), false).getTypes().size()).isEqualTo(2);
}
@ -326,19 +338,7 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
var type = CreateTypeValue.builder()
.type("dossier_redaction")
.label("Dossier Redactions")
.hexColor("#fcba03")
.rank(100)
.hint(false)
.description("Something")
.hasDictionary(true)
.addToDictionaryAction(false)
.dossierTemplateId(dossierTemplate.getId())
.build();
var createdType = dictionaryClient.addType(type);
var createdType = createDossierRedactionsDictionary(dossierTemplate.getId());
var word1 = "Luke Skywalker";
var word2 = "Anakin Skywalker";
@ -363,7 +363,7 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
entries.add(word3);
dictionaryClient.addEntry(createdType.getType(), createdType.getDossierTemplateId(), entries, false, null, DictionaryEntryType.ENTRY);
var dictionary = dictionaryClient.getDictionaryForType(type.getType(), type.getDossierTemplateId(), null);
var dictionary = dictionaryClient.getDictionaryForType(createdType.getType(), createdType.getDossierTemplateId(), null);
assertThat(dictionary.getEntries().size()).isEqualTo(5);
}
@ -424,4 +424,22 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest {
}
private TypeValue createDossierRedactionsDictionary(String dossierTemplateId){
return dictionaryClient.addType(CreateTypeValue.builder()
.type("dossier_redaction")
.label("Dossier Redaction")
.addToDictionaryAction(true)
.hasDictionary(true)
.hint(false)
.rank(100)
.dossierTemplateId(dossierTemplateId)
.hexColor("#FFFFFF")
.recommendationHexColor("#FFFFFF")
.build());
}
}

View File

@ -1,7 +1,6 @@
package com.iqser.red.service.peristence.v1.server.integration.tests;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.time.OffsetDateTime;
@ -107,8 +106,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
var dossier = dossierTesterAndProvider.provideTestDossier();
var returnedTypes = dictionaryClient.getAllTypes(dossier.getDossierTemplateId(), dossier.getDossierId(), false);
assertThat(returnedTypes.getTypes().size()).isEqualTo(1);
assertThat(returnedTypes.getTypes().get(0).isDossierDictionaryOnly()).isTrue();
assertThat(returnedTypes.getTypes().size()).isEqualTo(0);
var watermark = new WatermarkModel();
watermark.setName("watermark name");