diff options
Diffstat (limited to 'src/main/java/dev/dnpm')
| -rw-r--r-- | src/main/java/dev/dnpm/etl/processor/pseudonym/GpasPseudonymGenerator.java | 16 |
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, "_"); } |
