From 0ee94a18e5420f7f77aec110c8ff0a67a661a7ef Mon Sep 17 00:00:00 2001 From: jonmv Date: Fri, 8 Apr 2022 17:27:39 +0200 Subject: Revert "Merge pull request #22065 from vespa-engine/revert-22049-jonmv/unify-hostname-classes" This reverts commit 4ffc54339186574491a32b3166223c3fc50ba8fe, reversing changes made to db9e570a36decb24e6cb13f44bd0ff444ab762e3. --- vespajlib/abi-spec.json | 2 +- vespajlib/src/main/java/ai/vespa/http/DomainName.java | 6 +++--- vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java | 2 +- vespajlib/src/main/java/com/yahoo/net/HostName.java | 9 +++------ 4 files changed, 8 insertions(+), 11 deletions(-) (limited to 'vespajlib') diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json index ae69564b671..45f7e395da6 100644 --- a/vespajlib/abi-spec.json +++ b/vespajlib/abi-spec.json @@ -350,7 +350,7 @@ "fields": [] }, "com.yahoo.net.HostName": { - "superClass": "ai.vespa.validation.PatternedStringWrapper", + "superClass": "ai.vespa.http.DomainName", "interfaces": [], "attributes": [ "public" diff --git a/vespajlib/src/main/java/ai/vespa/http/DomainName.java b/vespajlib/src/main/java/ai/vespa/http/DomainName.java index a566f5b95be..737f6b6d863 100644 --- a/vespajlib/src/main/java/ai/vespa/http/DomainName.java +++ b/vespajlib/src/main/java/ai/vespa/http/DomainName.java @@ -15,12 +15,12 @@ import static ai.vespa.validation.Validation.requireMatch; */ public class DomainName extends PatternedStringWrapper { - static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])"); - static final Pattern domainNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern); + protected static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])"); + protected static final Pattern domainNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern); public static final DomainName localhost = DomainName.of("localhost"); - private DomainName(String value) { + protected DomainName(String value) { super(requireLength(value, "domain name length", 1, 255), domainNamePattern, "domain name"); } diff --git a/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java b/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java index 0937627b57e..12be0002f6f 100644 --- a/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java +++ b/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java @@ -40,7 +40,7 @@ public abstract class StringWrapper> implements Compa @Override public final boolean equals(Object o) { if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if ( ! (o instanceof StringWrapper)) return false; return value.equals(((StringWrapper) o).value); } diff --git a/vespajlib/src/main/java/com/yahoo/net/HostName.java b/vespajlib/src/main/java/com/yahoo/net/HostName.java index 20f1008055e..0348197a704 100644 --- a/vespajlib/src/main/java/com/yahoo/net/HostName.java +++ b/vespajlib/src/main/java/com/yahoo/net/HostName.java @@ -10,7 +10,7 @@ import java.util.regex.Pattern; import static ai.vespa.validation.Validation.requireLength; /** - * Hostnames match {@link #hostNamePattern}, and are restricted to 64 characters in length. + * Hostnames match {@link #domainNamePattern}, and are restricted to 64 characters in length. * * This class also has utilities for getting the hostname of the system running the JVM. * Detection of the hostname is now done before starting any Vespa @@ -20,15 +20,12 @@ import static ai.vespa.validation.Validation.requireLength; * @author arnej * @author jonmv */ -public class HostName extends PatternedStringWrapper { - - static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])"); - static final Pattern hostNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern); +public class HostName extends DomainName { private static HostName preferredHostName = null; private HostName(String value) { - super(requireLength(value, "hostname length", 1, 64), hostNamePattern, "hostname"); + super(requireLength(value, "hostname length", 1, 64)); } public static HostName of(String value) { -- cgit v1.2.3