diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-05 11:33:18 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-05 11:33:18 +0200 |
commit | cbb0b56aab19a7e44b5b16055618bba9245795e4 (patch) | |
tree | f7427da3cf76072e014f95b8c15b9544f5083c6a /config-model/src/main/java/com/yahoo/config | |
parent | d0d055a239f6ffa959174e37577537b51eebf556 (diff) |
Use Optional not null in ConfigDefinitionStore
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java | 7 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java | 16 |
2 files changed, 11 insertions, 12 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java b/config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java index 22ea054a27d..91beaebbdc4 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java @@ -4,12 +4,17 @@ package com.yahoo.config.model.deploy; import com.yahoo.vespa.config.ConfigDefinition; import com.yahoo.vespa.config.ConfigDefinitionKey; +import java.util.Optional; + /** * @author lulf * @since 5.1 */ public interface ConfigDefinitionStore { - ConfigDefinition getConfigDefinition(ConfigDefinitionKey defKey); + /** + * Returns a config definition, or empty if the config definition is not found. + */ + Optional<ConfigDefinition> getConfigDefinition(ConfigDefinitionKey defKey); } diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java index 3f229835914..8c75f37623b 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java @@ -123,14 +123,8 @@ public class DeployState implements ConfigDefinitionStore { /** Returns the validation overrides of this. This is never null */ public ValidationOverrides validationOverrides() { return validationOverrides; } - /** - * Returns the config def with the given name and namespace. - * - * @param defKey The {@link ConfigDefinitionKey} that will uniquely identify a config definition. - * @return The definition with a matching name and namespace - * @throws java.lang.IllegalArgumentException if def is not found. - */ - public final ConfigDefinition getConfigDefinition(ConfigDefinitionKey defKey) { + @Override + public final Optional<ConfigDefinition> getConfigDefinition(ConfigDefinitionKey defKey) { if (existingConfigDefs == null) { existingConfigDefs = new LinkedHashMap<>(); if (configDefinitionRepo.isPresent()) { @@ -145,7 +139,7 @@ public class DeployState implements ConfigDefinitionStore { } ConfigDefinitionKey lookupKey = defKey; // Fall back to just using name - if (!existingConfigDefs.containsKey(lookupKey)) { + if ( ! existingConfigDefs.containsKey(lookupKey)) { int count = 0; for (ConfigDefinitionKey entry : existingConfigDefs.keySet()) { @@ -174,7 +168,7 @@ public class DeployState implements ConfigDefinitionStore { } if (defArchive.get(defKey) != null) { log.log(LogLevel.DEBUG, "Found in archive: " + defKey); - return defArchive.get(defKey); + return Optional.ofNullable(defArchive.get(defKey)); } log.log(LogLevel.DEBUG, "Retrieving config definition: " + defKey); @@ -182,7 +176,7 @@ public class DeployState implements ConfigDefinitionStore { log.log(LogLevel.DEBUG, "Adding " + def + " to archive"); defArchive.put(defKey, def); - return def; + return Optional.ofNullable(def); } private static Map<ConfigDefinitionKey, UnparsedConfigDefinition> createLazyMapping(final ConfigDefinitionRepo configDefinitionRepo) { |