aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/config/model/deploy
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-09-05 11:33:18 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-09-05 11:33:18 +0200
commitcbb0b56aab19a7e44b5b16055618bba9245795e4 (patch)
treef7427da3cf76072e014f95b8c15b9544f5083c6a /config-model/src/main/java/com/yahoo/config/model/deploy
parentd0d055a239f6ffa959174e37577537b51eebf556 (diff)
Use Optional not null in ConfigDefinitionStore
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config/model/deploy')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/ConfigDefinitionStore.java7
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java16
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) {