diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-11-24 23:06:41 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-11-24 23:06:41 +0100 |
commit | a166a4ed59f40026970af585f6f8aa1d13d13ab4 (patch) | |
tree | 4655686e855c9caaa95ba42f20d132d37d2867b5 /config-model | |
parent | e79fff6e1d254c1776714f14839123c171e18a79 (diff) |
Support marking configs as apply on restart
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java | 5 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java | 15 |
2 files changed, 18 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java index a8404b076d4..11e97bc8a95 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java @@ -31,7 +31,8 @@ import java.util.Map; * * @author Vegard Havdal */ -// TODO This functionality should be on VespaModel itself, but we don't have a way right now to apply a config override to a ConfigInstance.Builder +// TODO: Most of this has been copied to ConfigInstance.Builder.buildInstance() and can be removed from here +// when Model.getConfig is removed class InstanceResolver { private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InstanceResolver.class.getName()); @@ -138,7 +139,6 @@ class InstanceResolver { return packagePrefix.value + cKey.getNamespace(); } - enum PackagePrefix { COM_YAHOO("com.yahoo."), NONE(""); @@ -148,4 +148,5 @@ class InstanceResolver { this.value = value; } } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index 2ffc24239f9..9fdaaff9d5e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -313,6 +313,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri * @param configId the config id * @return a config instance of the given type */ + @Override public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> clazz, String configId) { try { ConfigInstance.Builder builder = newBuilder(clazz); @@ -393,6 +394,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri * @param targetDef The config definition to use for the schema * @return The payload as a list of strings */ + @Deprecated // TODO: Remove after December 2020 @Override public ConfigPayload getConfig(ConfigKey<?> configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) { Objects.requireNonNull(targetDef, "config definition cannot be null"); @@ -405,6 +407,19 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri } /** + * Resolve config for a given key and config definition + * + * @param configKey the key to resolve. + * @param targetDef the config definition to use for the schema + * @return the resolved config instance + */ + @Override + public ConfigInstance.Builder getConfigInstance(ConfigKey<?> configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) { + Objects.requireNonNull(targetDef, "config definition cannot be null"); + return resolveToBuilder(configKey); + } + + /** * Resolves the given config key into a correctly typed ConfigBuilder * and fills in the config from this model. * |