From bf8f87b261fb033088e6b4d7a6566d8b6f5aefed Mon Sep 17 00:00:00 2001 From: jlidke Date: Mon, 4 Sep 2023 15:41:22 +0200 Subject: fix: removed gaps system from GPAS pseudonym value. Also added clean up method, which will replace filename invalid characters witch '_'. (#11) --- .../etl/processor/pseudonym/GpasPseudonymGenerator.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java b/src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java index 7b631d8..07f16c5 100644 --- a/src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java +++ b/src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java @@ -127,7 +127,21 @@ public class GpasPseudonymGenerator implements Generator { .orElseGet(ParametersParameterComponent::new).getValue(); // pseudonym - return identifier.getSystem() + "|" + identifier.getValue(); + return sanitizeValue(identifier.getValue()); + } + + /** + * Allow only filename friendly values + * + * @param psnValue GAPS pseudonym value + * @return cleaned up value + */ + public static String sanitizeValue(String psnValue) { + // pattern to match forbidden characters + String forbiddenCharsRegex = "[\\\\/:*?\"<>|;]"; + + // Replace all forbidden characters with underscores + return psnValue.replaceAll(forbiddenCharsRegex, "_"); } -- cgit v1.2.3