diff options
author | Morten Tokle <mortent@oath.com> | 2017-10-25 11:59:33 +0200 |
---|---|---|
committer | Morten Tokle <mortent@oath.com> | 2017-10-25 11:59:33 +0200 |
commit | 01fd895ea05e0d7fce829424fe451676cfe7a664 (patch) | |
tree | 1c1e557f7314c4d1382b87f54f121a639c31f651 /config-model | |
parent | a698d338a8ad58703dec300f38597769e11cdf1a (diff) |
Move identity config to ContainerCluster
Diffstat (limited to 'config-model')
3 files changed, 46 insertions, 16 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java index 35bc098596a..5915f0cea0b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java @@ -7,7 +7,6 @@ import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.container.ComponentsConfig; import com.yahoo.container.QrConfig; import com.yahoo.container.core.ContainerHttpConfig; -import com.yahoo.container.core.identity.IdentityConfig; import com.yahoo.container.jdisc.ContainerMbusConfig; import com.yahoo.container.jdisc.JdiscBindingsConfig; import com.yahoo.search.config.QrStartConfig; @@ -49,8 +48,7 @@ public class Container extends AbstractService implements ComponentsConfig.Producer, JdiscBindingsConfig.Producer, ContainerHttpConfig.Producer, - ContainerMbusConfig.Producer, - IdentityConfig.Producer { + ContainerMbusConfig.Producer { public static final int BASEPORT = Defaults.getDefaults().vespaWebServicePort(); public static final String SINGLENODE_CONTAINER_SERVICESPEC = "default_singlenode_container"; @@ -396,17 +394,6 @@ public class Container extends AbstractService implements this.httpServerEnabled = httpServerEnabled; } - @Override - public void getConfig(IdentityConfig.Builder builder) { - if(parent instanceof ContainerCluster) { - ContainerCluster containerCluster = (ContainerCluster) parent; - Optional<Identity> identity = containerCluster.getIdentity(); - identity.ifPresent(id -> { - builder.service(id.getService()); - builder.domain(id.getDomain()); - }); - } - } public static final class PortOverride { public final ComponentSpecification serverId; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 44c6147d45b..412baf6b270 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -23,6 +23,7 @@ import com.yahoo.container.QrSearchersConfig; import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.container.core.ApplicationMetadataConfig; import com.yahoo.container.core.document.ContainerDocumentConfig; +import com.yahoo.container.core.identity.IdentityConfig; import com.yahoo.container.handler.ThreadPoolProvider; import com.yahoo.container.handler.ThreadpoolConfig; import com.yahoo.container.jdisc.ContainerMbusConfig; @@ -134,7 +135,8 @@ public final class ContainerCluster ServletPathsConfig.Producer, RoutingProviderConfig.Producer, ConfigserverConfig.Producer, - ThreadpoolConfig.Producer + ThreadpoolConfig.Producer, + IdentityConfig.Producer { /** @@ -840,7 +842,7 @@ public final class ContainerCluster */ public Optional<Integer> getMemoryPercentage() { return memoryPercentage; } - public Optional<Identity> getIdentity() { + private Optional<Identity> getIdentity() { return Optional.ofNullable(identity); } @@ -850,6 +852,14 @@ public final class ContainerCluster } @Override + public void getConfig(IdentityConfig.Builder builder) { + getIdentity().ifPresent(id -> { + builder.service(id.getService()); + builder.domain(id.getDomain()); + }); + } + + @Override public String toString() { return "container cluster '" + getName() + "'"; } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java new file mode 100644 index 00000000000..2f7b7f35b91 --- /dev/null +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java @@ -0,0 +1,33 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.model.container.xml; + +import com.yahoo.config.model.builder.xml.test.DomBuilderTest; +import com.yahoo.container.core.identity.IdentityConfig; +import org.junit.Test; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; + +import java.io.IOException; + +import static org.junit.Assert.assertEquals; + +/** + * @author mortent + */ +public class IdentityBuilderTest extends ContainerModelBuilderTestBase { + @Test + public void identity_config_produced() throws IOException, SAXException { + Element clusterElem = DomBuilderTest.parse( + "<jdisc id='default' version='1.0'>", + " <identity>", + " <domain>domain</domain>", + " <service>service</service>", + " </identity>", + "</jdisc>"); + + createModel(root, clusterElem); + IdentityConfig identityConfig = root.getConfig(IdentityConfig.class, "default"); + assertEquals("domain", identityConfig.domain()); + assertEquals("service", identityConfig.service()); + } +} |