From 9c31f04478a437b06c1e31f810dc90afefdb7a36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kilian=20Sch=C3=BCttler?= Date: Tue, 21 Nov 2023 12:22:09 +0100 Subject: [PATCH] RED-7902: fix author name splitting --- .../red/service/redaction/v1/server/utils/Patterns.java | 2 +- .../red/service/redaction/v1/server/rules/Cbi11Test.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/utils/Patterns.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/utils/Patterns.java index fb88d024..e05ea766 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/utils/Patterns.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/utils/Patterns.java @@ -11,7 +11,7 @@ public final class Patterns { public static final Map patternCache = new HashMap<>(); - public static final Pattern AUTHOR_NAME_PATTERN = Pattern.compile("^(?!\\w*[.]$)\\p{L}+[.\\p{L}\\s]*$"); + public static final Pattern AUTHOR_NAME_PATTERN = Pattern.compile("^(?!\\w*[.]$)\\p{Lu}\\p{L}*[.\\p{L}\\s]*$"); public Pattern getCompiledPattern(String pattern, boolean caseInsensitive) { diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/rules/Cbi11Test.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/rules/Cbi11Test.java index 05e51b3a..c0a5b46c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/rules/Cbi11Test.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/rules/Cbi11Test.java @@ -1,6 +1,7 @@ package com.iqser.red.service.redaction.v1.server.rules; import static org.assertj.core.api.Assertions.assertThat; +import static org.wildfly.common.Assert.assertFalse; import java.util.Collection; import java.util.Collections; @@ -10,6 +11,7 @@ import org.junit.jupiter.api.Test; import com.iqser.red.service.redaction.v1.server.model.dictionary.Dictionary; import com.iqser.red.service.redaction.v1.server.model.document.nodes.Document; +import com.iqser.red.service.redaction.v1.server.utils.Patterns; public class Cbi11Test extends RulesIntegrationTest { @@ -25,4 +27,10 @@ public class Cbi11Test extends RulesIntegrationTest { assertThat(authorNames).containsExactlyInAnyOrder("Cargile", "N.L.", "Ross", "J.A.", "Egli", "Ramsteiner"); } + @Test + public void testAndIsNotAnAuthorName() { + + assertFalse(Patterns.AUTHOR_NAME_PATTERN.matcher("and").matches()); + } + }