From 89e0f91aa4743809d955000b6d00fdef5a63085d Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 31 Mar 2022 14:27:37 +0200 Subject: Make ApplicationId effectively final by replacing public config constructor with factory --- .../main/java/com/yahoo/config/provision/ApplicationId.java | 12 +++++++----- .../java/com/yahoo/config/provision/ApplicationIdTest.java | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'config-provisioning/src') diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java index 274a3902d04..12f4ba3f987 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationId.java @@ -12,17 +12,13 @@ import java.util.Objects; * @author vegard * @author bratseth */ -public final class ApplicationId implements Comparable { +public class ApplicationId implements Comparable { private final TenantName tenant; private final ApplicationName application; private final InstanceName instance; private final String serializedForm; - public ApplicationId(ApplicationIdConfig config) { - this(TenantName.from(config.tenant()), ApplicationName.from(config.application()), InstanceName.from(config.instance())); - } - private ApplicationId(TenantName tenant, ApplicationName applicationName, InstanceName instanceName) { this.tenant = tenant; this.application = applicationName; @@ -30,6 +26,12 @@ public final class ApplicationId implements Comparable { this.serializedForm = toSerializedForm(); } + public static ApplicationId from(ApplicationIdConfig config) { + return from(TenantName.from(config.tenant()), + ApplicationName.from(config.application()), + InstanceName.from(config.instance())); + } + public static ApplicationId from(TenantName tenant, ApplicationName application, InstanceName instance) { return new ApplicationId(tenant, application, instance); } diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java index c82230f7edf..01904b5eece 100644 --- a/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java +++ b/config-provisioning/src/test/java/com/yahoo/config/provision/ApplicationIdTest.java @@ -106,7 +106,7 @@ public class ApplicationIdTest { builder.tenant("a"); builder.application("b"); builder.instance("c"); - ApplicationId applicationId = new ApplicationId(new ApplicationIdConfig(builder)); + ApplicationId applicationId = ApplicationId.from(new ApplicationIdConfig(builder)); assertEquals("a", applicationId.tenant().value()); assertEquals("b", applicationId.application().value()); assertEquals("c", applicationId.instance().value()); -- cgit v1.2.3