diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-03-25 17:16:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-25 17:16:36 +0100 |
commit | fff79ba2b645336c437a1503b854d0b821a6d664 (patch) | |
tree | d79a93478908de6815744db0557f269aa51820c2 /config-lib | |
parent | f514e98a805a363f2807b9fe6d6bf51534fd5897 (diff) |
Revert "Improve error messages for invalid paths"
Diffstat (limited to 'config-lib')
5 files changed, 11 insertions, 28 deletions
diff --git a/config-lib/src/main/java/com/yahoo/config/FileNode.java b/config-lib/src/main/java/com/yahoo/config/FileNode.java index 3bcccb6d6b1..a7c1ebb1488 100644 --- a/config-lib/src/main/java/com/yahoo/config/FileNode.java +++ b/config-lib/src/main/java/com/yahoo/config/FileNode.java @@ -1,8 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config; -import java.nio.file.Path; - /** * Represents a 'file' in a {@link ConfigInstance}, usually a filename. * @@ -15,13 +13,7 @@ public class FileNode extends LeafNode<FileReference> { public FileNode(String stringVal) { super(true); - Path path = Path.of(ReferenceNode.stripQuotes(stringVal)).normalize(); - if (path.isAbsolute()) - throw new IllegalArgumentException("path must be relative"); - if (path.startsWith("..")) - throw new IllegalArgumentException("'..' not allowed in path"); - - this.value = new FileReference(path.toString()); + this.value = new FileReference(ReferenceNode.stripQuotes(stringVal)); } public FileReference value() { diff --git a/config-lib/src/main/java/com/yahoo/config/Node.java b/config-lib/src/main/java/com/yahoo/config/Node.java index 4f0c1c24192..a07409b19e7 100644 --- a/config-lib/src/main/java/com/yahoo/config/Node.java +++ b/config-lib/src/main/java/com/yahoo/config/Node.java @@ -14,7 +14,7 @@ public abstract class Node { * * @param configId the configId of the ConfigInstance that owns (or is) this node */ - public void postInitialize(String configId) { } + public void postInitialize(String configId) { return; } /** * This method is meant for internal use in the configuration system. diff --git a/config-lib/src/main/java/com/yahoo/config/NodeVector.java b/config-lib/src/main/java/com/yahoo/config/NodeVector.java index af54c4d90ca..3d07de944fd 100644 --- a/config-lib/src/main/java/com/yahoo/config/NodeVector.java +++ b/config-lib/src/main/java/com/yahoo/config/NodeVector.java @@ -1,11 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; +import java.util.*; /** @@ -28,6 +24,7 @@ public abstract class NodeVector<NODE> implements java.util.List<NODE> { return size(); } + @SuppressWarnings("serial") public static class ReadOnlyException extends RuntimeException { } @@ -83,7 +80,7 @@ public abstract class NodeVector<NODE> implements java.util.List<NODE> { @Override public boolean equals(Object o) { - return o instanceof NodeVector && vector.equals(((NodeVector<?>) o).vector); + return o instanceof NodeVector && vector.equals(((NodeVector) o).vector); } @Override @@ -91,6 +88,7 @@ public abstract class NodeVector<NODE> implements java.util.List<NODE> { return vector.hashCode(); } + @SuppressWarnings("unchecked") public NODE get(int index) { return vector.get(index); } @@ -134,5 +132,4 @@ public abstract class NodeVector<NODE> implements java.util.List<NODE> { public <T> T[] toArray(T[] a) { return vector.toArray(a); } - } diff --git a/config-lib/src/main/java/com/yahoo/config/PathNode.java b/config-lib/src/main/java/com/yahoo/config/PathNode.java index 2c43f89af3f..1c4f724a7ed 100644 --- a/config-lib/src/main/java/com/yahoo/config/PathNode.java +++ b/config-lib/src/main/java/com/yahoo/config/PathNode.java @@ -23,13 +23,7 @@ public class PathNode extends LeafNode<Path> { public PathNode(FileReference fileReference) { super(true); - Path value = Path.of(fileReference.value()).normalize(); - if (value.isAbsolute()) - throw new IllegalArgumentException("path must be relative"); - if (value.startsWith("..")) - throw new IllegalArgumentException("'..' not allowed in path"); - - this.value = value; + this.value = new File(fileReference.value()).toPath(); this.fileReference = fileReference; } diff --git a/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java b/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java index 4e3b8f3bf22..613cfe1cced 100644 --- a/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java +++ b/config-lib/src/test/java/com/yahoo/config/ConfigInstanceBuilderTest.java @@ -182,8 +182,8 @@ public class ConfigInstanceBuilderTest intMap("one", 1). intMap("two", 2). stringMap("one", "first"). - filemap("f1", "var"). - filemap("f2", "store"). + filemap("f1", "/var"). + filemap("f2", "/store"). urlMap("u1", new UrlReference("http://docs.vespa.ai/1")). urlMap("u2", new UrlReference("http://docs.vespa.ai/2")). @@ -278,8 +278,8 @@ public class ConfigInstanceBuilderTest assertEquals(1, config.intMap("one")); assertEquals(2, config.intMap("two")); assertEquals("first", config.stringMap("one")); - assertEquals("var", config.filemap("f1").value()); - assertEquals("store", config.filemap("f2").value()); + assertEquals("/var", config.filemap("f1").value()); + assertEquals("/store", config.filemap("f2").value()); assertEquals("basicFoo", config.basicStruct().foo()); assertEquals(3, config.basicStruct().bar()); // new List api assertEquals(2, config.basicStruct().intArr().size()); |