From c686a628a3e80f0ed990da2a0614095d60395a12 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 22 Feb 2023 13:34:53 +0100 Subject: Cosmetic changes --- .../config/server/ConfigActivationListener.java | 6 ++-- .../config/server/application/ApplicationSet.java | 37 +++++++++++----------- .../server/application/TenantApplications.java | 6 ++-- 3 files changed, 25 insertions(+), 24 deletions(-) (limited to 'configserver') diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java index f7e9e270b9c..604758f7bf9 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java @@ -16,15 +16,15 @@ import java.util.Collection; public interface ConfigActivationListener { /** - * Signals the listener that hosts used by a particular tenant. + * Signals the listener that hosts used by a particular application has changed. * * @param applicationId application id - * @param newHosts a {@link Collection} of hosts used by tenant. + * @param newHosts a {@link Collection} of hosts used by an application. */ void hostsUpdated(ApplicationId applicationId, Collection newHosts); /** - * Verifies that given hosts are available for use by tenant. + * Verifies that given hosts are available for use by an application. * * @param applicationId application id * @param newHosts a {@link java.util.Collection} of hosts that tenant wants to allocate. diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationSet.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationSet.java index ad50117e327..5650c2e7e15 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationSet.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationSet.java @@ -1,16 +1,18 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.application; +import com.yahoo.component.Version; import com.yahoo.config.model.api.HostInfo; import com.yahoo.config.provision.ApplicationId; -import com.yahoo.component.Version; - import java.time.Instant; -import java.util.*; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Optional; /** - * Immutable set of {@link Application}s with the same {@link ApplicationId}. With methods for getting defaults. + * Immutable set of {@link Application}s with the same {@link ApplicationId}, applications have difference vespa versions. * * @author vegard */ @@ -42,8 +44,17 @@ public final class ApplicationSet { latestVersion = this.applications.keySet().stream().max(Version::compareTo).get(); } + public static ApplicationSet fromList(List applications) { + return new ApplicationSet(applications); + } + + // For testing + public static ApplicationSet from(Application application) { + return fromList(List.of(application)); + } + /** - * Returns the specified version, or the latest if not specified, or if the given version is not + * Returns an application for the specified version, or the latest if not specified, or if the given version is not * available and the latest is a permissible substitution. * * @throws VersionDoesNotExistException if the specified version is not available and the latest version is not @@ -68,21 +79,13 @@ public final class ApplicationSet { return Optional.empty(); } - /** Returns the application for the given version, if available */ + /** Returns the application for the given version, or empty if not found */ public Optional get(Version version) { return Optional.ofNullable(applications.get(version)); } public ApplicationId getId() { return applicationId; } - public static ApplicationSet fromList(List applications) { - return new ApplicationSet(applications); - } - - public static ApplicationSet from(Application application) { - return fromList(List.of(application)); - } - public Collection getAllHosts() { return applications.values().stream() .flatMap(app -> app.getModel().getHosts().stream() @@ -91,9 +94,7 @@ public final class ApplicationSet { } public void updateHostMetrics() { - for (Application application : applications.values()) { - application.updateHostMetrics(application.getModel().getHosts().size()); - } + applications.values().forEach(app -> app.updateHostMetrics(app.getModel().getHosts().size())); } public long getApplicationGeneration() { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java index 19f41b514ec..83ca81f75c0 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java @@ -216,10 +216,10 @@ public class TenantApplications implements RequestHandler, HostValidator { } private void notifyConfigActivationListeners(ApplicationSet applicationSet) { - if (applicationSet.getAllApplications().isEmpty()) throw new IllegalArgumentException("application set cannot be empty"); + List applications = applicationSet.getAllApplications(); + if (applications.isEmpty()) throw new IllegalArgumentException("application set cannot be empty"); - configActivationListener.hostsUpdated(applicationSet.getAllApplications().get(0).toApplicationInfo().getApplicationId(), - applicationSet.getAllHosts()); + configActivationListener.hostsUpdated(applications.get(0).getId(), applicationSet.getAllHosts()); configActivationListener.configActivated(applicationSet); } -- cgit v1.2.3