summaryrefslogtreecommitdiffstats
path: root/config-model/src/main
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-08-22 16:13:51 +0200
committerJon Bratseth <bratseth@gmail.com>2022-08-22 16:13:51 +0200
commit25d395d3df09d155d26664d1092a80e1412e17a0 (patch)
tree6a5b42c9410dd11bde80d0a817c3e57b58da09ee /config-model/src/main
parent999682402d43c7cb7fa399a5e34bace91d3fbef9 (diff)
Simplify
Diffstat (limited to 'config-model/src/main')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfig.java40
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfigTransformer.java15
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderOption.java5
3 files changed, 32 insertions, 28 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfig.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfig.java
index 3ebd9e0483d..fa531176b9c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfig.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfig.java
@@ -26,7 +26,26 @@ import org.w3c.dom.NodeList;
*/
public class EmbedderConfig {
- static EmbedderConfigTransformer getEmbedderTransformer(Element spec, boolean hosted) {
+ /**
+ * Transforms the &lt;embedder ...&gt; element to component configuration.
+ *
+ * @param deployState the deploy state - as config generation can depend on context
+ * @param embedderSpec the XML element containing the &lt;embedder ...&gt;
+ * @return a new XML element containting the &lt;component ...&gt; configuration
+ */
+ public static Element transform(DeployState deployState, Element embedderSpec) {
+ EmbedderConfigTransformer transformer = getEmbedderTransformer(embedderSpec, deployState.isHosted());
+ NodeList children = embedderSpec.getChildNodes();
+ for (int i = 0; i < children.getLength(); i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ transformer.addOption((Element) child);
+ }
+ }
+ return transformer.createComponentConfig(deployState);
+ }
+
+ private static EmbedderConfigTransformer getEmbedderTransformer(Element spec, boolean hosted) {
return switch (embedderConfigFrom(spec)) {
case "embedding.bert-base-embedder" -> new EmbedderConfigBertBaseTransformer(spec, hosted);
default -> new EmbedderConfigTransformer(spec, hosted);
@@ -56,25 +75,6 @@ public class EmbedderConfig {
throw new IllegalArgumentException("Unknown model id: '" + id + "'");
}
- /**
- * Transforms the &lt;embedder ...&gt; element to component configuration.
- *
- * @param deployState the deploy state - as config generation can depend on context
- * @param embedderSpec the XML element containing the &lt;embedder ...&gt;
- * @return a new XML element containting the &lt;component ...&gt; configuration
- */
- public static Element transform(DeployState deployState, Element embedderSpec) {
- EmbedderConfigTransformer transformer = getEmbedderTransformer(embedderSpec, deployState.isHosted());
- NodeList children = embedderSpec.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child instanceof Element) {
- transformer.addOption((Element) child);
- }
- }
- return transformer.createComponentConfig(deployState);
- }
-
private static String getEmbedderClass(Element spec) {
if (spec.hasAttribute("class")) {
return spec.getAttribute("class");
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfigTransformer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfigTransformer.java
index 30327fdc8af..efb1aafdbe3 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfigTransformer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderConfigTransformer.java
@@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
@@ -88,15 +89,13 @@ public class EmbedderConfigTransformer {
}
private void checkRequiredOptions() {
- List<String> missingOptions = new ArrayList<>();
- for (EmbedderOption option : options.values()) {
- if ( ! option.isSet()) {
- missingOptions.add(option.name());
- }
- }
- if (missingOptions.size() > 0) {
+ var missingOptions = options.values()
+ .stream()
+ .filter(option -> ! option.isSet())
+ .map(option -> option.name())
+ .collect(Collectors.toList());
+ if (missingOptions.size() > 0)
throw new IllegalArgumentException("Embedder '" + className + "' requires options for " + missingOptions);
- }
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderOption.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderOption.java
index d8740eecd74..715c3d9ef34 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderOption.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/embedder/EmbedderOption.java
@@ -58,6 +58,11 @@ public class EmbedderOption {
return set;
}
+ @Override
+ public String toString() {
+ return "embedder option '" + name + "'";
+ }
+
/**
* Basic option transformer. No special handling of options.
*/