aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2021-10-13 17:14:48 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2021-10-13 17:14:48 +0200
commitd1028019641d396f35fcc81115bd7452e757ad7a (patch)
tree4bc4befc242a743112dc93e4f7e8c11a0dbfecb3 /node-admin
parent4fb42f0a38fcbd411c4e1074a3e2a8ddf595081f (diff)
Simplify fromPathOnHost
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerPath.java28
1 files changed, 15 insertions, 13 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerPath.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerPath.java
index 01f18b2088b..e967806dc55 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerPath.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/fs/ContainerPath.java
@@ -205,17 +205,19 @@ public class ContainerPath implements Path {
return resolve(containerFs, new String[0], pathInContainer);
}
- static ContainerPath fromPathOnHost(ContainerFileSystem containerFs, Path pathOnHost) {
- pathOnHost = pathOnHost.normalize();
- Path containerRootOnHost = containerFs.provider().containerRootOnHost();
- Path pathUnderContainerStore = containerRootOnHost.relativize(pathOnHost);
- List<String> parts = new ArrayList<>();
- for (int i = 0; i < pathUnderContainerStore.getNameCount(); i++) {
- String part = pathUnderContainerStore.getName(i).toString();
- if (part.isEmpty() || part.equals(".")) continue;
- if (part.equals("..")) throw new IllegalArgumentException("Path " + pathOnHost + " is not under container root " + containerRootOnHost);
- parts.add(part);
- }
- return new ContainerPath(containerFs, pathOnHost, parts.toArray(String[]::new));
- }
+static ContainerPath fromPathOnHost(ContainerFileSystem containerFs, Path pathOnHost) {
+ pathOnHost = pathOnHost.normalize();
+ Path containerRootOnHost = containerFs.provider().containerRootOnHost();
+ Path pathUnderContainerStorage = containerRootOnHost.relativize(pathOnHost);
+
+ if (pathUnderContainerStorage.getNameCount() == 0 || pathUnderContainerStorage.getName(0).toString().isEmpty())
+ return new ContainerPath(containerFs, pathOnHost, new String[0]);
+ if (pathUnderContainerStorage.getName(0).toString().equals(".."))
+ throw new IllegalArgumentException("Path " + pathOnHost + " is not under container root " + containerRootOnHost);
+
+ List<String> parts = new ArrayList<>();
+ for (int i = 0; i < pathUnderContainerStorage.getNameCount(); i++)
+ parts.add(pathUnderContainerStorage.getName(i).toString());
+ return new ContainerPath(containerFs, pathOnHost, parts.toArray(String[]::new));
+}
}