diff options
author | Harald Musum <musum@oath.com> | 2017-11-30 08:59:48 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2017-11-30 08:59:48 +0100 |
commit | bfa3ea645302120f4c786fd01d6d7940a3adc300 (patch) | |
tree | 17909c6954a5a4a6dc790e7acc06bcb6f8258a4b /config-model | |
parent | 5b5ac89485e6cd5995667bdf7f38d142bf634870 (diff) |
Create Admin with filedistritbution config producer
Supply it in constructor instead of setting it afterwards
Diffstat (limited to 'config-model')
3 files changed, 16 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java index 69e9a0e8585..2575cdb6237 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java @@ -59,12 +59,14 @@ public class Admin extends AbstractConfigProducer implements Serializable { Monitoring monitoring, Metrics metrics, Map<String, MetricsConsumer> legacyMetricsConsumers, - boolean multitenant) { + boolean multitenant, + FileDistributionConfigProducer fileDistributionConfigProducer) { super(parent, "admin"); this.monitoring = monitoring; this.metrics = metrics; this.legacyMetricsConsumers = legacyMetricsConsumers; this.multitenant = multitenant; + this.fileDistribution = fileDistributionConfigProducer; } public Configserver getConfigserver() { @@ -148,10 +150,6 @@ public class Admin extends AbstractConfigProducer implements Serializable { zooKeepersConfigProvider.getConfig(builder); } - public void setFileDistribution(FileDistributionConfigProducer fileDistribution) { - this.fileDistribution = fileDistribution; - } - public FileDistributionConfigProducer getFileDistributionConfigProducer() { return fileDistribution; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java index c2ba2efac71..24e56472688 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java @@ -67,25 +67,26 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu @Override protected Admin doBuild(AbstractConfigProducer parent, Element adminElement) { Monitoring monitoring = getMonitoring(getChildWithFallback(adminElement, "monitoring", "yamas")); - Metrics metrics = new MetricsBuilder(applicationType, predefinedMetricSets) .buildMetrics(XML.getChild(adminElement, "metrics")); Map<String, MetricsConsumer> legacyMetricsConsumers = DomMetricBuilderHelper .buildMetricsConsumers(XML.getChild(adminElement, "metric-consumers")); + FileDistributionConfigProducer fileDistributionConfigProducer = getFileDistributionConfigProducer(parent, adminElement); - Admin admin = new Admin(parent, monitoring, metrics, legacyMetricsConsumers, multitenant); - + Admin admin = new Admin(parent, monitoring, metrics, legacyMetricsConsumers, multitenant, fileDistributionConfigProducer); doBuildAdmin(admin, adminElement); - new ModelConfigProvider(admin); + return admin; + } + + private FileDistributionConfigProducer getFileDistributionConfigProducer(AbstractConfigProducer parent, Element adminElement) { FileDistributionOptions fileDistributionOptions = FileDistributionOptions.defaultOptions(); fileDistributionOptions.disableFiledistributor(disableFiledistributor); fileDistributionOptions = new DomFileDistributionOptionsBuilder(fileDistributionOptions).build(XML.getChild(adminElement, "filedistribution")); - admin.setFileDistribution(new FileDistributionConfigProducer.Builder(fileDistributionOptions).build(parent, fileRegistry)); - return admin; + return new FileDistributionConfigProducer.Builder(fileDistributionOptions).build(parent, fileRegistry); } - + private Element getChildWithFallback(Element parent, String childName, String alternativeChildName) { Element child = XML.getChild(parent, childName); if (child != null) return child; diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java index 3a2633ed7b7..e557e3674b5 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.model.content.utils; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.ConfigModelContext; import com.yahoo.config.model.api.HostProvisioner; +import com.yahoo.config.model.application.provider.MockFileRegistry; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.provision.InMemoryProvisioner; import com.yahoo.config.model.provision.SingleNodeProvisioner; @@ -11,9 +12,11 @@ import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.config.model.test.MockRoot; import com.yahoo.text.XML; import com.yahoo.vespa.model.admin.Admin; +import com.yahoo.vespa.model.admin.FileDistributionOptions; import com.yahoo.vespa.model.admin.monitoring.DefaultMonitoring; import com.yahoo.vespa.model.admin.monitoring.builder.Metrics; import com.yahoo.vespa.model.content.cluster.ContentCluster; +import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer; import org.w3c.dom.Document; import java.util.Collections; @@ -57,7 +60,8 @@ public class ContentClusterUtils { public static ContentCluster createCluster(String clusterXml, MockRoot root) throws Exception { Document doc = XML.getDocument(clusterXml); - Admin admin = new Admin(root, new DefaultMonitoring("vespa", 60), new Metrics(), Collections.emptyMap(), false); + Admin admin = new Admin(root, new DefaultMonitoring("vespa", 60), new Metrics(), Collections.emptyMap(), false, + new FileDistributionConfigProducer.Builder(FileDistributionOptions.defaultOptions()).build(root, new MockFileRegistry())); ConfigModelContext context = ConfigModelContext.create(null, root.getDeployState(), null, root, null); return new ContentCluster.Builder(admin).build(Collections.emptyList(), context, doc.getDocumentElement()); |