ref #9607 avoiding NPEs in case of file: URIs
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 7 May 2021 14:48:46 +0000 (16:48 +0200)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 7 May 2021 14:48:46 +0000 (16:48 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/media/MediaUriTransformationProcessor.java

index 222f970031edce01707969d69cc0f7842d8053a7..14ac954389472608318c92c56e5aaaa0a133d8b7 100644 (file)
@@ -86,19 +86,19 @@ public class MediaUriTransformationProcessor {
 
         boolean isMatch = true;
         // replace the parts
-        if (replacement.getScheme() != null) {
+        if (replacement.getScheme() != null && newScheme != null) {
             Matcher m = replacement.getScheme().searchPattern().matcher(newScheme);
             isMatch &= m.find();
             newScheme = m.replaceAll(replacement.getScheme().getReplace());
         }
-        if (replacement.getHost() != null) {
+        if (replacement.getHost() != null && newHost != null) {
             Matcher m = replacement.getHost().searchPattern().matcher(newHost);
             isMatch &= m.find();
             newHost = m.replaceAll(replacement.getHost().getReplace());
         }
         // TODO port
 
-        if (replacement.getPathQueryFragment() != null) {
+        if (replacement.getPathQueryFragment() != null && newPathQueryFragment != null) {
             Matcher m = replacement.getPathQueryFragment().searchPattern().matcher(newPathQueryFragment);
             isMatch &= m.find();
             newPathQueryFragment = m.replaceAll(replacement.getPathQueryFragment().getReplace());