diff options
author | Bjørn Christian Seime <bjorn.christian@seime.no> | 2018-09-13 12:02:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-13 12:02:49 +0200 |
commit | 029babdcb5fb9a78ce746b21e9c4ffda2f1674be (patch) | |
tree | 39e486479807c41033270b30c57263437c8bad81 | |
parent | 4bc6fd3105a60a92f86d30e7aaef316f3b86ef0a (diff) | |
parent | 0eb33fcdcf6ee05c5617a99d26129983dbb5b3c1 (diff) |
Merge pull request #6939 from vespa-engine/mortent/propagate-connector-config
Make sure connectorfactory sees similar config
2 files changed, 24 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java index 1365eb43a30..e579b36bf7e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java @@ -23,6 +23,7 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig private final String name; private final int listenPort; private final Element legacyConfig; + private final SimpleComponent sslProviderComponent; public ConnectorFactory(String name, int listenPort) { this(name, listenPort, null, new DummySslProvider(name)); @@ -39,6 +40,7 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig this.name = name; this.listenPort = listenPort; this.legacyConfig = legacyConfig; + this.sslProviderComponent = sslProviderComponent; addChild(sslProviderComponent); inject(sslProviderComponent); } @@ -48,6 +50,7 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig configureWithLegacyHttpConfig(legacyConfig, connectorBuilder); connectorBuilder.listenPort(listenPort); connectorBuilder.name(name); + ((ConnectorConfig.Producer)sslProviderComponent).getConfig(connectorBuilder); } public String getName() { diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java index 1815befab88..ceff9f3d4bb 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java @@ -268,6 +268,27 @@ public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBas assertChildComponentExists(connectorFactory, "com.yahoo.CustomSslProvider"); } + @Test + public void verify_that_container_factory_sees_same_config(){ + Element clusterElem = DomBuilderTest.parse( + "<jdisc id='default' version='1.0' jetty='true'>", + " <http>", + " <server port='9000' id='ssl'>", + " <ssl>", + " <private-key-file>/foo/key</private-key-file>", + " <certificate-file>/foo/cert</certificate-file>", + " </ssl>", + " </server>", + " </http>", + nodesXml, + "", + "</jdisc>"); + + createModel(root, clusterElem); + ConnectorConfig sslProvider = root.getConfig(ConnectorConfig.class, "default/http/jdisc-jetty/ssl"); + assertTrue(sslProvider.ssl().enabled()); + } + private static void assertChildComponentExists(ConnectorFactory connectorFactory, String className) { Optional<SimpleComponent> simpleComponent = connectorFactory.getChildren().values().stream() .map(z -> (SimpleComponent) z) |