From a14e1003ce780968c1edc5956439d6ad646c1e21 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Mon, 28 Nov 2022 12:28:09 +0100 Subject: [PATCH] RSS-229: Deduplicate sex for scm report --- .../report/v1/server/service/RSSPoc2Service.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/RSSPoc2Service.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/RSSPoc2Service.java index 146adb7..a18d309 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/RSSPoc2Service.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/RSSPoc2Service.java @@ -266,7 +266,7 @@ public class RSSPoc2Service { } if (oecdIn(oecd, Set.of("405", "429"))) { - resultMap.put(SEX, getJoinedUniqueValues(redactionLog, "sex", ", ")); + resultMap.put(SEX, getSex(redactionLog)); resultMap.put(NUMBER_OF_ANIMALS, getNumberOfAnimals(redactionLog)); } @@ -458,6 +458,20 @@ public class RSSPoc2Service { } + private String getSex(RedactionLog redactionLog){ + return redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("sex")).map(RedactionLogEntry::getValue) + .map(String::toLowerCase) + .map(s -> { + if(s.equals("females")){ + return "female"; + } else if (s.equals("males")){ + return "male"; + } + return s; + }).collect(Collectors.toSet()).stream().collect(Collectors.joining(", ")).trim(); + } + + private String getWhatWasTheApproachUsed(RedactionLog redactionLog) { var approachUsed = redactionLog.getRedactionLogEntry().stream().filter(r -> r.getType().equals("approach_used")).map(RedactionLogEntry::getValue).findFirst();