diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
commit | 72231250ed81e10d66bfe70701e64fa5fe50f712 (patch) | |
tree | 2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java |
Publish
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java b/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java new file mode 100644 index 00000000000..b3921da869a --- /dev/null +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/StaticConfigDefinitionRepo.java @@ -0,0 +1,43 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.config.server; + +import com.google.inject.Inject; +import com.yahoo.config.codegen.InnerCNode; +import com.yahoo.config.model.api.ConfigDefinitionRepo; +import com.yahoo.vespa.config.ConfigDefinitionKey; +import com.yahoo.vespa.config.buildergen.ConfigDefinition; + +import java.util.Collections; +import java.util.Map; + +/** + * A global pool of all config definitions that this server knows about. These objects can be shared + * by all tenants, as they are not modified. + * + * @author lulf + * @since 5.10 + */ +public class StaticConfigDefinitionRepo implements ConfigDefinitionRepo { + + private final ConfigDefinitionRepo repo; + + // Only useful in tests that dont need full blown repo. + public StaticConfigDefinitionRepo() { + this.repo = new ConfigDefinitionRepo() { + @Override + public Map<ConfigDefinitionKey, ConfigDefinition> getConfigDefinitions() { + return Collections.emptyMap(); + } + }; + } + + @Inject + public StaticConfigDefinitionRepo(ConfigServerDB serverDB) { + this.repo = new com.yahoo.config.model.application.provider.StaticConfigDefinitionRepo(serverDB.serverdefs()); + } + + @Override + public Map<ConfigDefinitionKey, ConfigDefinition> getConfigDefinitions() { + return repo.getConfigDefinitions(); + } +} |