diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-10-16 21:58:33 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-10-16 21:58:33 +0200 |
commit | cedcdde82317cc84aa0c964634a8fb95b34805b5 (patch) | |
tree | b1850416054a31c40c2b5905de95d93cd38e0659 | |
parent | d03ff852bdc34405a0e2e46fa0c8b43087f63116 (diff) |
Guarantee correct FileSystem for overloaded methods in NodeAgentContext
2 files changed, 21 insertions, 11 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java index f1fd97f6e4c..28764c6a7f2 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java @@ -11,7 +11,6 @@ import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec; import com.yahoo.vespa.hosted.node.admin.docker.DockerNetworking; import java.nio.file.Path; -import java.nio.file.Paths; public interface NodeAgentContext extends TaskContext { @@ -52,10 +51,7 @@ public interface NodeAgentContext extends TaskContext { Path pathOnHostFromPathInNode(Path pathInNode); /** @see #pathOnHostFromPathInNode(Path) */ - default Path pathOnHostFromPathInNode(String pathInNode) { - return pathOnHostFromPathInNode(Paths.get(pathInNode)); - } - + Path pathOnHostFromPathInNode(String pathInNode); /** * This method is the inverse of {@link #pathOnHostFromPathInNode(Path)} @@ -66,9 +62,7 @@ public interface NodeAgentContext extends TaskContext { Path pathInNodeFromPathOnHost(Path pathOnHost); /** @see #pathOnHostFromPathInNode(Path) */ - default Path pathInNodeFromPathOnHost(String pathOnHost) { - return pathInNodeFromPathOnHost(Paths.get(pathOnHost)); - } + Path pathInNodeFromPathOnHost(String pathOnHost); /** @@ -78,7 +72,5 @@ public interface NodeAgentContext extends TaskContext { Path pathInNodeUnderVespaHome(Path relativePath); /** @see #pathInNodeUnderVespaHome(Path) */ - default Path pathInNodeUnderVespaHome(String relativePath) { - return pathInNodeUnderVespaHome(Paths.get(relativePath)); - } + Path pathInNodeUnderVespaHome(String relativePath); } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java index fa5f6217718..304664e541b 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java @@ -107,6 +107,12 @@ public class NodeAgentContextImpl implements NodeAgentContext { } @Override + public Path pathOnHostFromPathInNode(String pathInNode) { + // Ensure the path is on the proper FileSystem + return pathOnHostFromPathInNode(ROOT.getFileSystem().getPath(pathInNode)); + } + + @Override public Path pathInNodeFromPathOnHost(Path pathOnHost) { if (! pathOnHost.isAbsolute()) throw new IllegalArgumentException("Expected an absolute path on the host, got: " + pathOnHost); @@ -118,6 +124,12 @@ public class NodeAgentContextImpl implements NodeAgentContext { } @Override + public Path pathInNodeFromPathOnHost(String pathOnHost) { + // Ensure the path is on the proper FileSystem + return pathInNodeFromPathOnHost(pathToNodeRootOnHost.getFileSystem().getPath(pathOnHost)); + } + + @Override public Path pathInNodeUnderVespaHome(Path relativePath) { if (relativePath.isAbsolute()) throw new IllegalArgumentException("Expected a relative path to the Vespa home, got: " + relativePath); @@ -126,6 +138,12 @@ public class NodeAgentContextImpl implements NodeAgentContext { } @Override + public Path pathInNodeUnderVespaHome(String relativePath) { + // Ensure the path is on the proper FileSystem + return pathInNodeUnderVespaHome(pathToVespaHome.getFileSystem().getPath(relativePath)); + } + + @Override public void recordSystemModification(Logger logger, String message) { log(logger, message); } |