From a151a13b4cc21718dd9c34f8991af2b624ec3f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thierry=20G=C3=B6ckel?= Date: Thu, 13 Aug 2020 11:02:09 +0200 Subject: [PATCH] Fix NPE for empty cells --- .../server/redaction/service/EntityRedactionService.java | 7 ++++++- .../redaction/v1/server/RedactionIntegrationTest.java | 3 +-- .../src/test/resources/drools/rules.drl | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) 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 602df948..3118e003 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 @@ -120,7 +120,12 @@ public class EntityRedactionService { } Map result = new HashMap<>(); for (int i = 0; i < keys.size(); i++) { - result.put(keys.get(i), values.get(i)); + String value = values.get(i); + if (value == null) { + log.warn("Drools does not support null values."); + continue; + } + result.put(keys.get(i), value); } return result; diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 9a05bdd3..556d1cc6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -262,8 +262,7 @@ public class RedactionIntegrationTest { public void redactionTest() throws IOException { long start = System.currentTimeMillis(); - ClassPathResource pdfFileResource = new ClassPathResource("files/Metolachlor/S" + - "-Metolachlor_RAR_01_Volume_1_2018-09-06.pdf"); + ClassPathResource pdfFileResource = new ClassPathResource("files/Metolachlor/S-Metolachlor_RAR_21_Volume_3CP_A9396G_B-9_2018-09-06.pdf"); RedactionRequest request = RedactionRequest.builder() .document(IOUtils.toByteArray(pdfFileResource.getInputStream())) diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules.drl b/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules.drl index 8d13e9f0..e89e8eb7 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules.drl +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/rules.drl @@ -101,7 +101,7 @@ rule "8: Redact contact information, if Producer is found" rule "9: Redact Authors and Addresses in Reference Table, if it is a Vertebrate study" when - Section(tabularData != null && tabularData.size() > 0 + Section(tabularData != null && tabularData.containsKey("Vertebrate study Y/N") && tabularData.get("Vertebrate study Y/N").equals("Y") )