diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java index 885cb53a148..e20c294d135 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java @@ -31,21 +31,15 @@ import java.util.List; /** * @author baldersheim */ -public class IndexedSearchCluster extends SearchCluster - implements - DocumentdbInfoConfig.Producer, - IndexInfoConfig.Producer, - SchemaInfoConfig.Producer, - IlscriptsConfig.Producer, +public class IndexedSearchCluster extends SearchCluster implements DispatchConfig.Producer, - DispatchNodesConfig.Producer, - ConfigInstance.Producer { + DispatchNodesConfig.Producer +{ private Tuning tuning; private SearchCoverage searchCoverage; private final List<DocumentDatabase> documentDbs = new LinkedList<>(); - private final MultipleDocumentDatabasesConfigProducer documentDbsConfigProducer; private final Redundancy.Provider redundancyProvider; @@ -57,7 +51,6 @@ public class IndexedSearchCluster extends SearchCluster public IndexedSearchCluster(TreeConfigProducer<AnyConfigProducer> parent, String clusterName, int index, Redundancy.Provider redundancyProvider, ModelContext.FeatureFlags featureFlags) { super(parent, clusterName, index); - documentDbsConfigProducer = new MultipleDocumentDatabasesConfigProducer(this, documentDbs); this.redundancyProvider = redundancyProvider; defaultDispatchPolicy = DispatchTuning.Builder.toDispatchPolicy(featureFlags.queryDispatchPolicy()); dispatchWarmup = featureFlags.queryDispatchWarmup(); @@ -132,25 +125,25 @@ public class IndexedSearchCluster extends SearchCluster @Override public void getConfig(IndexInfoConfig.Builder builder) { - documentDbsConfigProducer.getConfig(builder); + new Join(documentDbs).getConfig(builder); } @Override public void getConfig(SchemaInfoConfig.Builder builder) { - documentDbsConfigProducer.getConfig(builder); + new Join(documentDbs).getConfig(builder); } @Override public void getConfig(IlscriptsConfig.Builder builder) { - documentDbsConfigProducer.getConfig(builder); + new Join(documentDbs).getConfig(builder); } public void getConfig(AttributesConfig.Builder builder) { - documentDbsConfigProducer.getConfig(builder); + new Join(documentDbs).getConfig(builder); } public void getConfig(RankProfilesConfig.Builder builder) { - documentDbsConfigProducer.getConfig(builder); + new Join(documentDbs).getConfig(builder); } private static DistributionPolicy.Enum toDistributionPolicy(DispatchTuning.DispatchPolicy tuning) { @@ -216,53 +209,36 @@ public class IndexedSearchCluster extends SearchCluster /** * Class used to retrieve combined configuration from multiple document databases. - * It is not a direct {@link com.yahoo.config.ConfigInstance.Producer} of those configs, + * It is not a direct {@link ConfigInstance.Producer} of those configs, * that is handled (by delegating to this) by the {@link IndexedSearchCluster} * which is the parent to this. This avoids building the config multiple times. */ - public static class MultipleDocumentDatabasesConfigProducer - extends TreeConfigProducer<MultipleDocumentDatabasesConfigProducer> - implements AttributesConfig.Producer, - IndexInfoConfig.Producer, - IlscriptsConfig.Producer, - SchemaInfoConfig.Producer, - RankProfilesConfig.Producer { - private final List<DocumentDatabase> docDbs; - - private MultipleDocumentDatabasesConfigProducer(TreeConfigProducer<?> parent, List<DocumentDatabase> docDbs) { - super(parent, "union"); - this.docDbs = docDbs; - } + private record Join(List<DocumentDatabase> docDbs) { - @Override public void getConfig(IndexInfoConfig.Builder builder) { for (DocumentDatabase docDb : docDbs) { docDb.getConfig(builder); } } - @Override public void getConfig(SchemaInfoConfig.Builder builder) { for (DocumentDatabase docDb : docDbs) { docDb.getConfig(builder); } } - @Override public void getConfig(IlscriptsConfig.Builder builder) { for (DocumentDatabase docDb : docDbs) { docDb.getConfig(builder); } } - @Override public void getConfig(AttributesConfig.Builder builder) { for (DocumentDatabase docDb : docDbs) { docDb.getConfig(builder); } } - @Override public void getConfig(RankProfilesConfig.Builder builder) { for (DocumentDatabase docDb : docDbs) { docDb.getConfig(builder); |