From 470665cc8f6a1cc04e0885741fd0712b608daa44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thierry=20G=C3=B6ckel?= Date: Tue, 4 Aug 2020 10:03:00 +0200 Subject: [PATCH] Use void method type --- .../redaction/service/DictionaryService.java | 2 +- .../service/EntityRedactionService.java | 14 +++--- .../service/EntityRedactionServiceTest.java | 50 +++++++++++++++++++ 3 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionServiceTest.java diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java index 518a9071..203096b3 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java @@ -73,7 +73,7 @@ public class DictionaryService { .filter(TypeResult::isCaseInsensitive) .map(TypeResult::getType) .collect(Collectors.toList()); - dictionary = entryColors.keySet().stream().collect(Collectors.toMap(type -> type, s -> convertEntries(s))); + dictionary = entryColors.keySet().stream().collect(Collectors.toMap(type -> type, this::convertEntries)); defaultColor = dictionaryClient.getDefaultColor().getColor(); } } catch (FeignException e) { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java index d1cd2b48..1a023459 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionService.java @@ -103,9 +103,9 @@ public class EntityRedactionService { private Set clearAndFindPositions(Set entities, SearchableText text) { - Set cleanEntities = removeEntitiesContainedInLarger(entities); + removeEntitiesContainedInLarger(entities); - for (Entity entity : cleanEntities) { + for (Entity entity : entities) { if (dictionaryService.getCaseInsensitiveTypes().contains(entity.getType())) { entity.setPositionSequences(text.getSequences(entity.getWord(), true)); } else { @@ -113,7 +113,7 @@ public class EntityRedactionService { } } - return cleanEntities; + return entities; } @@ -132,7 +132,10 @@ public class EntityRedactionService { } } - return removeEntitiesContainedInLarger(found); + removeEntitiesContainedInLarger(found); + + return found; + } @@ -162,7 +165,7 @@ public class EntityRedactionService { } - public Set removeEntitiesContainedInLarger(Set entities) { + public void removeEntitiesContainedInLarger(Set entities) { List wordsToRemove = new ArrayList<>(); for (Entity word : entities) { @@ -174,7 +177,6 @@ public class EntityRedactionService { } } entities.removeAll(wordsToRemove); - return entities; } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionServiceTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionServiceTest.java new file mode 100644 index 00000000..3856b882 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/redaction/service/EntityRedactionServiceTest.java @@ -0,0 +1,50 @@ +package com.iqser.red.service.redaction.v1.server.redaction.service; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.HashSet; +import java.util.Set; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.kie.api.runtime.KieContainer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit4.SpringRunner; + +import com.iqser.red.service.redaction.v1.server.redaction.model.Entity; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class EntityRedactionServiceTest { + + @MockBean + private KieContainer kieContainer; + + @MockBean + private DroolsExecutionService droolsExecutionService; + + @MockBean + private DictionaryService dictionaryService; + + @Autowired + private EntityRedactionService entityRedactionService; + + + @Test + public void testNestedEntitiesRemoval() { + + Set entities = new HashSet<>(); + Entity nested = new Entity("nested", "fake type", 10, 16, "fake headline", 0); + Entity nesting = new Entity("nesting nested", "fake type", 2, 16, "fake headline", 0); + entities.add(nested); + entities.add(nesting); + entityRedactionService.removeEntitiesContainedInLarger(entities); + + assertThat(entities.size()).isEqualTo(1); + assertThat(entities).contains(nesting); + + } + +} \ No newline at end of file