diff options
author | gjoranv <gv@verizonmedia.com> | 2022-06-09 10:52:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-09 10:52:10 +0200 |
commit | 46ef33bd14f2c12ccdeac9b7c588f12b7cfa9c8c (patch) | |
tree | 74db2af88bc971044ed8ad550cb516f1caee87fa /config-model/src/main/java/com/yahoo | |
parent | 7eb6bd3486b8e64861edc4915b929695c45c7cec (diff) | |
parent | 33d629ae957d828fd9c14a7ea8ee633c38b10573 (diff) |
Merge pull request #23002 from vespa-engine/cleanup-ancient-xml-syntax
Clean up 'searchchain' and 'searchchains' syntax in services.xml
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
8 files changed, 11 insertions, 49 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/DomChainsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/DomChainsBuilder.java index 2bc7e8f2658..b40ee7f3136 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/DomChainsBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/DomChainsBuilder.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.builder.xml.dom.chains; -import com.yahoo.config.application.Xml; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder; @@ -26,16 +25,10 @@ class DomChainsBuilder<COMPONENT extends ChainedComponent<?>, CHAIN extends Chai extends VespaDomBuilder.DomConfigProducerBuilder<CHAINS> { private final Collection<ComponentType<COMPONENT>> allowedComponentTypes; - private final String appPkgChainsDir; - private final Element outerChainsElem; - protected DomChainsBuilder(Element outerChainsElem, - Collection<ComponentType<COMPONENT>> allowedComponentTypes, - String appPkgChainsDir) { + protected DomChainsBuilder(Collection<ComponentType<COMPONENT>> allowedComponentTypes) { - this.outerChainsElem = outerChainsElem; this.allowedComponentTypes = new ArrayList<>(allowedComponentTypes); - this.appPkgChainsDir = appPkgChainsDir; } protected abstract CHAINS newChainsInstance(AbstractConfigProducer<?> parent); @@ -58,13 +51,8 @@ class DomChainsBuilder<COMPONENT extends ChainedComponent<?>, CHAIN extends Chai private List<Element> allChainElements(DeployState deployState, Element chainsElement) { List<Element> chainsElements = new ArrayList<>(); - if (outerChainsElem != null) - chainsElements.add(outerChainsElem); chainsElements.add(chainsElement); - if (appPkgChainsDir != null) - chainsElements.addAll(Xml.allElemsFromPath(deployState.getApplicationPackage(), appPkgChainsDir)); - return chainsElements; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/InheritanceBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/InheritanceBuilder.java index 1d32c644f97..fb11ba32a1e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/InheritanceBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/InheritanceBuilder.java @@ -18,38 +18,22 @@ public class InheritanceBuilder { public InheritanceBuilder(Element spec) { inheritance = new ChainSpecification.Inheritance( - // XXX: for this to work, the tagname in the spec must match the tagname inside the 'inherits' elem, e.g. 'searchchain->inherits->searchchain' - read(spec, "inherits", spec.getTagName()), - read(spec, "excludes", "exclude")); + read(spec, "inherits"), + read(spec, "excludes")); } public ChainSpecification.Inheritance build() { return inheritance; } - private Set<ComponentSpecification> read(Element spec, String attributeName, String elementName) { + private Set<ComponentSpecification> read(Element spec, String attributeName) { Set<ComponentSpecification> componentSpecifications = new LinkedHashSet<>(); componentSpecifications.addAll(spaceSeparatedComponentSpecificationsFromAttribute(spec, attributeName)); - // TODO: the 'inherits' element is undocumented, and can be removed in an upcoming version of Vespa - componentSpecifications.addAll(idRefFromElements(XML.getChild(spec, "inherits"), elementName)); - - return componentSpecifications; } - private Collection<ComponentSpecification> idRefFromElements(Element spec, String elementName) { - Collection<ComponentSpecification> result = new ArrayList<>(); - if (spec == null) - return result; - - for (Element element : XML.getChildren(spec, elementName)) { - result.add(XmlHelper.getIdRef(element)); - } - return result; - } - private Collection<ComponentSpecification> spaceSeparatedComponentSpecificationsFromAttribute(Element spec, String attributeName) { return toComponentSpecifications(XmlHelper.spaceSeparatedSymbolsFromAttribute(spec, attributeName)); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/docproc/DomDocprocChainsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/docproc/DomDocprocChainsBuilder.java index ae22a6971bb..85f9d305afc 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/docproc/DomDocprocChainsBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/docproc/DomDocprocChainsBuilder.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.builder.xml.dom.chains.docproc; -import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.vespa.model.builder.xml.dom.chains.ComponentsBuilder.ComponentType; @@ -20,8 +19,8 @@ import java.util.Map; */ public class DomDocprocChainsBuilder extends DomChainsBuilder<DocumentProcessor, DocprocChain, DocprocChains> { public DomDocprocChainsBuilder(Element outerChainsElem, boolean supportDocprocChainsDir) { - super(outerChainsElem, List.of(ComponentType.documentprocessor), - supportDocprocChainsDir ? ApplicationPackage.DOCPROCCHAINS_DIR: null); + super(List.of(ComponentType.documentprocessor) + ); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/processing/DomProcessingBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/processing/DomProcessingBuilder.java index d29643c78e2..bd7b6dd4716 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/processing/DomProcessingBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/processing/DomProcessingBuilder.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.builder.xml.dom.chains.processing; -import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.vespa.model.builder.xml.dom.chains.ComponentsBuilder; @@ -21,7 +20,7 @@ import java.util.Map; public class DomProcessingBuilder extends DomChainsBuilder<Processor, ProcessingChain, ProcessingChains> { public DomProcessingBuilder(Element outerChainsElem) { - super(outerChainsElem, List.of(ComponentsBuilder.ComponentType.processor), ApplicationPackage.PROCESSORCHAINS_DIR); + super(List.of(ComponentsBuilder.ComponentType.processor)); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomSearchChainsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomSearchChainsBuilder.java index d4bd93f67c7..798986273d0 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomSearchChainsBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomSearchChainsBuilder.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.model.builder.xml.dom.chains.search; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.vespa.model.builder.xml.dom.chains.ComponentsBuilder.ComponentType; import com.yahoo.vespa.model.builder.xml.dom.chains.DomChainsBuilder; import com.yahoo.vespa.model.container.search.searchchain.SearchChain; @@ -22,14 +21,8 @@ import java.util.Map; */ public class DomSearchChainsBuilder extends DomChainsBuilder<Searcher<?>, SearchChain, SearchChains> { - public DomSearchChainsBuilder(Element outerChainsElem, boolean supportSearchChainsDir) { - super(outerChainsElem, Arrays.asList(ComponentType.searcher, ComponentType.federation), - supportSearchChainsDir ? ApplicationPackage.SEARCHCHAINS_DIR: null); - } - - // For unit testing without outer chains public DomSearchChainsBuilder() { - this(null, false); + super(Arrays.asList(ComponentType.searcher, ComponentType.federation)); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/SearchChainsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/SearchChainsBuilder.java index e13e741dd5d..65fc585c7af 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/SearchChainsBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/SearchChainsBuilder.java @@ -25,9 +25,8 @@ public class SearchChainsBuilder extends ChainsBuilder<Searcher<?>, SearchChain> private static final Map<String, Class<? extends DomChainBuilderBase<? extends Searcher<?>, ? extends SearchChain>>> chainType2builderClass = Collections.unmodifiableMap( - new LinkedHashMap<String, Class<? extends DomChainBuilderBase<? extends Searcher<?>, ? extends SearchChain>>>() {{ + new LinkedHashMap<>() {{ put("chain", DomSearchChainBuilder.class); - put("searchchain", DomSearchChainBuilder.class); put("provider", DomProviderBuilder.class); }}); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/FilterChainsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/FilterChainsBuilder.java index c75d8225843..35a91fc95ab 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/FilterChainsBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/FilterChainsBuilder.java @@ -31,7 +31,7 @@ public class FilterChainsBuilder extends DomChainsBuilder<Filter, Chain<Filter>, HttpBuilder.RESPONSE_CHAIN_TAG_NAME, FilterChainBuilder.class); public FilterChainsBuilder() { - super(null, allowedComponentTypes, null); + super(allowedComponentTypes); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index fb62ffb6ad1..f971aa97e6a 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -602,7 +602,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } private ContainerSearch buildSearch(DeployState deployState, ApplicationContainerCluster containerCluster, Element producerSpec) { - SearchChains searchChains = new DomSearchChainsBuilder(null, false) + SearchChains searchChains = new DomSearchChainsBuilder() .build(deployState, containerCluster, producerSpec); ContainerSearch containerSearch = new ContainerSearch(containerCluster, searchChains, new ContainerSearch.Options()); |