summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorjlidke2023-09-04 15:41:22 +0200
committerGitHub2023-09-04 15:41:22 +0200
commitbf8f87b261fb033088e6b4d7a6566d8b6f5aefed (patch)
treee56b5f1442fed149a8798758aa8262ef2ff38be3 /src/main
parent2f32834de07714df9600092173aac0cc0798e363 (diff)
fix: removed gaps system from GPAS pseudonym value. Also added clean up method, which will replace filename invalid characters witch '_'. (#11)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java16
1 files changed, 15 insertions, 1 deletions
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, "_");
}