diff --git a/redaction-service-v1/redaction-service-server-v1/pom.xml b/redaction-service-v1/redaction-service-server-v1/pom.xml
index 08ad41a0..1b656c6d 100644
--- a/redaction-service-v1/redaction-service-server-v1/pom.xml
+++ b/redaction-service-v1/redaction-service-server-v1/pom.xml
@@ -39,7 +39,7 @@
com.iqser.red.service
configuration-service-api-v1
- 1.0.2
+ 1.0.5.1
org.drools
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 4b6d5bf8..f96de814 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
@@ -1,6 +1,8 @@
package com.iqser.red.service.redaction.v1.server.redaction.service;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@@ -32,6 +34,12 @@ public class DictionaryService {
@Getter
private Map entryColors = new HashMap<>();
+ @Getter
+ private List hintTypes = new ArrayList<>();
+
+ @Getter
+ private List caseSensitiveTypes = new ArrayList<>();
+
public void updateDictionary() {
long version = dictionaryClient.getVersion();
@@ -47,6 +55,8 @@ public class DictionaryService {
if (typeResponse != null && !CollectionUtils.isEmpty(typeResponse.getTypes())) {
entryColors = typeResponse.getTypes().stream().collect(Collectors.toMap(TypeResult::getType, TypeResult::getColor));
dictionary = entryColors.keySet().stream().collect(Collectors.toMap(type -> type, s -> dictionaryClient.getDictionaryForType(s).getEntries().stream().collect(Collectors.toSet())));
+ hintTypes = typeResponse.getTypes().stream().filter(TypeResult::isHint).map(TypeResult::getType).collect(Collectors.toList());
+ caseSensitiveTypes = typeResponse.getTypes().stream().filter(TypeResult::isCaseSensitive).map(TypeResult::getType).collect(Collectors.toList());
}
} catch (FeignException e) {
log.warn("Got some unknown feignException", e);
diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/visualization/service/AnnotationHighlightService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/visualization/service/AnnotationHighlightService.java
index 4b63523e..81cc166f 100644
--- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/visualization/service/AnnotationHighlightService.java
+++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/visualization/service/AnnotationHighlightService.java
@@ -4,6 +4,7 @@ import java.awt.Color;
import java.io.IOException;
import java.util.List;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
@@ -208,17 +209,14 @@ public class AnnotationHighlightService {
return dictionaryService.getEntryColors().get(entity.getType());
}
-
private boolean isHint(Entity entity) {
- // TODO in RED-161.
- if (entity.getType().equalsIgnoreCase("vertebrate") || entity.getType()
- .equalsIgnoreCase("no_redaction_indicator")) {
+ List hintTypes = dictionaryService.getHintTypes();
+ if (!CollectionUtils.isEmpty(hintTypes) && hintTypes.contains(entity.getType())) {
return true;
}
return false;
}
-
private void visualizeTextBlock(TextBlock textBlock, PDPageContentStream contentStream) throws IOException {
contentStream.setStrokingColor(Color.LIGHT_GRAY);