diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-03 22:45:09 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-03 22:45:09 +0200 |
commit | 6520467f1afb87f0f97f87048a17ac1d4c5795da (patch) | |
tree | f574923eaa01a270cce4c4b046aa8ad001b3eda6 /config-model/src/main/java/com/yahoo/config | |
parent | 488a0b5e5c69999b15fb47b14ed534cce2276d70 (diff) |
Further reduce complicated and magic use of getDeployState callback
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
4 files changed, 12 insertions, 8 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java index 7a5969585e9..da79e34b3ad 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java +++ b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java @@ -2,6 +2,7 @@ package com.yahoo.config.model; import com.yahoo.cloud.config.*; +import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Version; import com.yahoo.vespa.config.content.LoadTypeConfig; @@ -125,11 +126,11 @@ public class ApplicationConfigProducerRoot extends AbstractConfigProducer<Abstra } // TODO: Do this as another config model depending on the other models - public void setupRouting(VespaModel vespaModel, ConfigModelRepo configModels) { + public void setupRouting(DeployState deployState, VespaModel vespaModel, ConfigModelRepo configModels) { if (admin != null) { Routing routing = configModels.getRouting(); if (routing == null) { - routing = new Routing(ConfigModelContext.create(vespaModel, configModels, this, "routing")); + routing = new Routing(ConfigModelContext.create(deployState, vespaModel, configModels, this, "routing")); configModels.add(routing); } this.routing = routing; diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java index 385cd883da4..b4a5a865b9e 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java +++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java @@ -1,6 +1,8 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model; +import com.yahoo.config.model.deploy.DeployState; + /** * A config model is an abstract representation of a subsystem, which is used * by the builder of that subsystem to derive a config producer tree for the subsystem, and by other @@ -52,7 +54,7 @@ public abstract class ConfigModel { * * @param configModelRepo The ConfigModelRepo of the system model */ - public void prepare(ConfigModelRepo configModelRepo) { return; } + public void prepare(ConfigModelRepo configModelRepo, DeployState deployState) { return; } /** * <p>Returns whether this model must be maintained in memory for serving config requests. diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModelRepo.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModelRepo.java index 60089f04572..f14a1ea3c2c 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ConfigModelRepo.java +++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModelRepo.java @@ -215,9 +215,9 @@ public class ConfigModelRepo implements ConfigModelRepoAdder, Serializable, Iter * Initialize part 2.: * Prepare all config models for starting. Must be called after plugins are loaded and frozen. */ - public void prepareConfigModels() { + public void prepareConfigModels(DeployState deployState) { for (ConfigModel model : configModels) { - model.prepare(ConfigModelRepo.this); + model.prepare(this, deployState); } } diff --git a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java index 8fff69e11a6..113262d0734 100644 --- a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java +++ b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java @@ -9,6 +9,7 @@ import com.yahoo.config.model.ApplicationConfigProducerRoot; import com.yahoo.config.model.deploy.DeployProperties; import com.yahoo.config.model.builder.xml.ConfigModelBuilder; import com.yahoo.config.model.builder.xml.ConfigModelId; +import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.builder.xml.dom.DomAdminV2Builder; @@ -44,12 +45,12 @@ public class AdminModel extends ConfigModel { private Collection<ContainerModel> getContainerModels() { return containerModels; } @Override - public void prepare(ConfigModelRepo configModelRepo) { + public void prepare(ConfigModelRepo configModelRepo, DeployState deployState) { verifyClusterControllersOnlyDefinedForContent(configModelRepo); if (admin == null) return; if (admin.getClusterControllers() != null) - admin.getClusterControllers().prepare(); - admin.getLogServerContainerCluster().ifPresent(ContainerCluster::prepare); + admin.getClusterControllers().prepare(deployState); + admin.getLogServerContainerCluster().ifPresent((ContainerCluster cc) -> cc.prepare(deployState)); } private void verifyClusterControllersOnlyDefinedForContent(ConfigModelRepo configModelRepo) { |