diff options
author | jonmv <venstad@gmail.com> | 2022-04-08 22:26:37 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-04-08 22:26:37 +0200 |
commit | 1c27950698237c7ebe0f8ea7ed5848889d6b4759 (patch) | |
tree | 6748bfa41fac16ad9b22d0afba4d150b44414542 /config-provisioning/src | |
parent | c5c330f63efb47dad355860db70bf3a89a737970 (diff) |
Revert "Merge pull request #22068 from vespa-engine/jonmv/unify-hostname-classes"
This reverts commit 8aa4c83df5ce7843c040afa41706fcc7c3afd030, reversing
changes made to f95ad44fae879da9db19f73eabe62c53baeb0c36.
Diffstat (limited to 'config-provisioning/src')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java | 44 | ||||
-rw-r--r-- | config-provisioning/src/test/java/com/yahoo/config/provision/HostNameTest.java | 35 |
2 files changed, 34 insertions, 45 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java index e55737da18d..04b15af51f2 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java @@ -1,23 +1,47 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.provision; -import ai.vespa.http.DomainName; - -import static ai.vespa.validation.Validation.requireLength; +import java.util.Objects; /** - * Hostnames match {@link #domainNamePattern}, and are restricted to 64 characters in length. + * A host name * - * @author jonmv + * @author mortent */ -public class HostName extends DomainName { +public class HostName implements Comparable<HostName> { + + private final String name; + + private HostName(String name) { + this.name = name; + } + + public String value() { return name; } + + /** Create a {@link HostName} with a given name */ + public static HostName from(String name) { + return new HostName(name); + } + + @Override + public int hashCode() { + return name.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof HostName)) return false; + return Objects.equals(((HostName)obj).value(), value()); + } - private HostName(String value) { - super(requireLength(value, "hostname length", 1, 64)); + @Override + public String toString() { + return name; } - public static HostName of(String value) { - return new HostName(value); + @Override + public int compareTo(HostName that) { + return this.name.compareTo(that.name); } } diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/HostNameTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/HostNameTest.java deleted file mode 100644 index da01920cc57..00000000000 --- a/config-provisioning/src/test/java/com/yahoo/config/provision/HostNameTest.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.config.provision; - -import org.junit.Test; - -import static org.junit.Assert.assertThrows; - -/** - * @author jonmv - */ -public class HostNameTest { - - @Test - public void testNames() { - HostName.of("name-123.0.321-eman"); - HostName.of(("." + "a".repeat(32)).repeat(2).substring(1, 65)); - HostName.of("123"); - - assertThrows(IllegalArgumentException.class, () -> HostName.of("_")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("-")); - assertThrows(IllegalArgumentException.class, () -> HostName.of(".")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("-foo")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo-")); - assertThrows(IllegalArgumentException.class, () -> HostName.of(".foo")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo.")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo..bar")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo.-.bar")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo/")); - assertThrows(IllegalArgumentException.class, () -> HostName.of("foo%")); - assertThrows(IllegalArgumentException.class, () -> HostName.of(("." + "a".repeat(32)).repeat(2).substring(1, 66))); - assertThrows(IllegalArgumentException.class, () -> HostName.of("a".repeat(64))); - } - -} - |