summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorMorten Tokle <mortent@oath.com>2017-10-25 11:59:33 +0200
committerMorten Tokle <mortent@oath.com>2017-10-25 11:59:33 +0200
commit01fd895ea05e0d7fce829424fe451676cfe7a664 (patch)
tree1c1e557f7314c4d1382b87f54f121a639c31f651 /config-model
parenta698d338a8ad58703dec300f38597769e11cdf1a (diff)
Move identity config to ContainerCluster
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/Container.java15
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java14
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java33
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());
+ }
+}