From 3dc85427b33f2a045a9e9b460dc906e1f1e5bba5 Mon Sep 17 00:00:00 2001 From: Martin Stockhammer Date: Wed, 1 Nov 2017 15:35:50 +0100 Subject: Adding utility method for uri conversion --- .../org/apache/archiva/common/utils/PathUtil.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/PathUtil.java b/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/PathUtil.java index e029e0d28..1adb0a753 100644 --- a/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/PathUtil.java +++ b/archiva-modules/archiva-base/archiva-common/src/main/java/org/apache/archiva/common/utils/PathUtil.java @@ -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); + } + } } -- cgit v1.2.3