diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/SurroundingWordsService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/SurroundingWordsService.java index 4ad64759..a34b53bb 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/SurroundingWordsService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/SurroundingWordsService.java @@ -1,17 +1,15 @@ package com.iqser.red.service.redaction.v1.server.redaction.service; -import java.util.List; -import java.util.Set; - -import org.springframework.stereotype.Service; - import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary; import com.iqser.red.service.redaction.v1.server.redaction.model.Entity; import com.iqser.red.service.redaction.v1.server.redaction.model.SearchableText; import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Set; @Slf4j @Service @@ -94,7 +92,7 @@ public class SurroundingWordsService { int numberOfWordsBefore = wordsBefore.length > redactionServiceSettings.getNumberOfSurroundingWords() ? redactionServiceSettings .getNumberOfSurroundingWords() : wordsBefore.length; if (wordsBefore.length > 0) { - entity.setTextBefore(concatWordsBefore(wordsBefore, numberOfWordsBefore)); + entity.setTextBefore(concatWordsBefore(wordsBefore, numberOfWordsBefore, textBefore.endsWith(" "))); } } @@ -106,13 +104,13 @@ public class SurroundingWordsService { int numberOfWordsAfter = wordsAfter.length > redactionServiceSettings.getNumberOfSurroundingWords() ? redactionServiceSettings .getNumberOfSurroundingWords() : wordsAfter.length; if (wordsAfter.length > 0) { - entity.setTextAfter(concatWordsAfter(wordsAfter, numberOfWordsAfter)); + entity.setTextAfter(concatWordsAfter(wordsAfter, numberOfWordsAfter, textAfter.startsWith(" "))); } } } - private String concatWordsBefore(String[] words, int number) { + private String concatWordsBefore(String[] words, int number, boolean endWithSpace) { StringBuilder sb = new StringBuilder(); @@ -122,11 +120,12 @@ public class SurroundingWordsService { sb.append(words[i]).append(" "); } - return sb.toString().trim(); + String result = sb.toString().trim(); + return endWithSpace ? result + " " : result; } - private String concatWordsAfter(String[] words, int number) { + private String concatWordsAfter(String[] words, int number, boolean startWithSpace) { StringBuilder sb = new StringBuilder(); @@ -134,7 +133,8 @@ public class SurroundingWordsService { sb.append(words[i]).append(" "); } - return sb.toString().trim(); + String result = sb.toString().trim(); + return startWithSpace ? " " + result : result; } }