]> source.dussan.org Git - archiva.git/commitdiff
Adding utility method for uri conversion
authorMartin Stockhammer <martin_s@apache.org>
Wed, 1 Nov 2017 14:35:50 +0000 (15:35 +0100)
committerMartin Stockhammer <martin_s@apache.org>
Wed, 1 Nov 2017 14:35:50 +0000 (15:35 +0100)
archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/PathUtil.java

index e029e0d289d71bf74d507633015247d85bffefbf..1adb0a75351607ace0ec0264b016786808d2f804 100644 (file)
@@ -22,6 +22,7 @@ package org.apache.archiva.common.utils;
 import org.apache.commons.lang.StringUtils;
 
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
@@ -95,4 +96,22 @@ public class PathUtil
 
         return getRelative(basedir, Paths.get(child));
     }
+
+    /**
+     * Returns a path object from the given URI. If the URI has no scheme, the path of the URI is used
+     * for creating the filesystem path.
+     *
+     * @param uri the uri to convert
+     * @return a path object with the given path
+     * @throws java.nio.file.FileSystemNotFoundException if the uri scheme is not known.
+     */
+    public static Path getPathFromUri( URI uri) {
+        if (uri==null) {
+            return Paths.get("");
+        } else if (uri.getScheme()==null) {
+            return Paths.get(uri.getPath());
+        } else {
+            return Paths.get(uri);
+        }
+    }
 }