diff options
author | gjoranv <gv@verizonmedia.com> | 2021-10-08 19:50:33 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2021-10-08 19:50:33 +0200 |
commit | be5fc1c7a88efc0aaad2f945acaa79a1f4206b54 (patch) | |
tree | f64239c2b2936e2637a5e52f336da79553eb7fff /container-core | |
parent | b3733a0d0b08377601edee806459cb9eec1024d0 (diff) |
Simplify by taking a SubscriberFactory instead of a Function.
Diffstat (limited to 'container-core')
3 files changed, 10 insertions, 11 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java b/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java index 200b963bcad..88167c73198 100644 --- a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java +++ b/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java @@ -5,6 +5,7 @@ import com.google.common.collect.Sets; import com.yahoo.config.ConfigInstance; import com.yahoo.container.di.componentgraph.core.Keys; import com.yahoo.container.di.config.Subscriber; +import com.yahoo.container.di.config.SubscriberFactory; import com.yahoo.vespa.config.ConfigKey; import java.util.Collections; @@ -31,18 +32,17 @@ public final class ConfigRetriever { private Set<ConfigKey<? extends ConfigInstance>> componentSubscriberKeys; private final Subscriber bootstrapSubscriber; private Subscriber componentSubscriber; - private final Function<Set<ConfigKey<? extends ConfigInstance>>, Subscriber> subscribe; + private final SubscriberFactory subscriberFactory; - public ConfigRetriever(Set<ConfigKey<? extends ConfigInstance>> bootstrapKeys, - Function<Set<ConfigKey<? extends ConfigInstance>>, Subscriber> subscribe) { + public ConfigRetriever(Set<ConfigKey<? extends ConfigInstance>> bootstrapKeys, SubscriberFactory subscriberFactory) { this.bootstrapKeys = bootstrapKeys; this.componentSubscriberKeys = new HashSet<>(); - this.subscribe = subscribe; + this.subscriberFactory = subscriberFactory; if (bootstrapKeys.isEmpty()) { throw new IllegalArgumentException("Bootstrap key set is empty"); } - this.bootstrapSubscriber = subscribe.apply(bootstrapKeys); - this.componentSubscriber = subscribe.apply(componentSubscriberKeys); + this.bootstrapSubscriber = this.subscriberFactory.getSubscriber(bootstrapKeys); + this.componentSubscriber = this.subscriberFactory.getSubscriber(componentSubscriberKeys); } public ConfigSnapshot getConfigs(Set<ConfigKey<? extends ConfigInstance>> componentConfigKeys, @@ -133,7 +133,7 @@ public final class ConfigRetriever { componentSubscriberKeys = keys; try { log.log(FINE, () -> "Setting up new component subscriber for keys: " + keys); - componentSubscriber = subscribe.apply(keys); + componentSubscriber = subscriberFactory.getSubscriber(keys); } catch (Throwable e) { log.log(Level.WARNING, "Failed setting up subscriptions for component configs: " + e.getMessage()); log.log(Level.WARNING, "Config keys: " + keys); diff --git a/container-core/src/main/java/com/yahoo/container/di/Container.java b/container-core/src/main/java/com/yahoo/container/di/Container.java index 626f97dd25c..aaab1a11712 100644 --- a/container-core/src/main/java/com/yahoo/container/di/Container.java +++ b/container-core/src/main/java/com/yahoo/container/di/Container.java @@ -62,7 +62,7 @@ public class Container { platformBundlesConfigKey = new ConfigKey<>(PlatformBundlesConfig.class, configId); componentsConfigKey = new ConfigKey<>(ComponentsConfig.class, configId); var bootstrapKeys = Set.of(applicationBundlesConfigKey, platformBundlesConfigKey, componentsConfigKey); - this.configurer = new ConfigRetriever(bootstrapKeys, subscriberFactory::getSubscriber); + this.configurer = new ConfigRetriever(bootstrapKeys, subscriberFactory); } public Container(SubscriberFactory subscriberFactory, String configId, ComponentDeconstructor componentDeconstructor) { diff --git a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java b/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java index bba5675e458..99ea6a4ee58 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java +++ b/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java @@ -19,7 +19,6 @@ import org.junit.rules.ExpectedException; import java.util.Collections; import java.util.HashSet; -import java.util.Optional; import java.util.Set; import static org.hamcrest.CoreMatchers.instanceOf; @@ -108,11 +107,11 @@ public class ConfigRetrieverTest { private ConfigRetriever createConfigRetriever() { String configId = dirConfigSource.configId(); - CloudSubscriberFactory subscriber = new CloudSubscriberFactory(dirConfigSource.configSource()); + CloudSubscriberFactory subscriberFactory = new CloudSubscriberFactory(dirConfigSource.configSource()); Set<ConfigKey<? extends ConfigInstance>> keys = new HashSet<>(); keys.add(new ConfigKey<>(Bootstrap1Config.class, configId)); keys.add(new ConfigKey<>(Bootstrap2Config.class, configId)); - return new ConfigRetriever(keys, keySet -> subscriber.getSubscriber(keySet)); + return new ConfigRetriever(keys, subscriberFactory); } private void writeConfig(String name, String contents) { |