summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/config
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-10-03 22:45:09 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2018-10-03 22:45:09 +0200
commit6520467f1afb87f0f97f87048a17ac1d4c5795da (patch)
treef574923eaa01a270cce4c4b046aa8ad001b3eda6 /config-model/src/main/java/com/yahoo/config
parent488a0b5e5c69999b15fb47b14ed534cce2276d70 (diff)
Further reduce complicated and magic use of getDeployState callback
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java5
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModel.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModelRepo.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java7
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) {