summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2022-04-06 15:42:16 +0200
committerLester Solbakken <lesters@oath.com>2022-04-06 15:42:16 +0200
commit0040e513d9ebf634130615dde62b2908c4aa9aa1 (patch)
tree9d153ffe7204cf2a7d1b744cb94ed962c68c72e2
parent7359332a2a806c84c2e504da60b9c5b087e81747 (diff)
Move embedder config def to configdefinitions and serialize as reference
-rw-r--r--config-lib/abi-spec.json1
-rw-r--r--config-lib/src/main/java/com/yahoo/config/UrlNode.java10
-rwxr-xr-xconfig-lib/src/main/java/com/yahoo/config/UrlReference.java4
-rw-r--r--config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java7
-rwxr-xr-xconfig/src/test/resources/configs/def-files/url.def4
-rw-r--r--configdefinitions/src/main/java/com/yahoo/embedding/package-info.java5
-rw-r--r--configdefinitions/src/vespa/CMakeLists.txt1
-rw-r--r--configdefinitions/src/vespa/embedding.bert-base-embedder.def (renamed from model-integration/src/main/resources/configdefinitions/embedding.bert-base-embedder.def)0
-rw-r--r--configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java17
-rw-r--r--configgen/src/test/resources/allfeatures.reference11
-rw-r--r--model-integration/CMakeLists.txt2
11 files changed, 54 insertions, 8 deletions
diff --git a/config-lib/abi-spec.json b/config-lib/abi-spec.json
index d9f9d13a826..dd4cf995f64 100644
--- a/config-lib/abi-spec.json
+++ b/config-lib/abi-spec.json
@@ -490,6 +490,7 @@
"methods": [
"public void <init>(java.lang.String)",
"public java.lang.String value()",
+ "public static com.yahoo.config.UrlReference valueOf(java.lang.String)",
"public int hashCode()",
"public boolean equals(java.lang.Object)",
"public java.lang.String toString()"
diff --git a/config-lib/src/main/java/com/yahoo/config/UrlNode.java b/config-lib/src/main/java/com/yahoo/config/UrlNode.java
index f4552dda184..ace94f561ff 100644
--- a/config-lib/src/main/java/com/yahoo/config/UrlNode.java
+++ b/config-lib/src/main/java/com/yahoo/config/UrlNode.java
@@ -64,4 +64,14 @@ public class UrlNode extends LeafNode<File> {
Collectors.toMap(Map.Entry::getKey, e -> e.getValue().getUrlReference()));
}
+ @Override
+ void serialize(String name, Serializer serializer) {
+ serializer.serialize(name, url.value());
+ }
+
+ @Override
+ void serialize(Serializer serializer) {
+ serializer.serialize(url.value());
+ }
+
}
diff --git a/config-lib/src/main/java/com/yahoo/config/UrlReference.java b/config-lib/src/main/java/com/yahoo/config/UrlReference.java
index 470828c7d0c..1adab8aaa53 100755
--- a/config-lib/src/main/java/com/yahoo/config/UrlReference.java
+++ b/config-lib/src/main/java/com/yahoo/config/UrlReference.java
@@ -21,6 +21,10 @@ public final class UrlReference {
return value;
}
+ public static UrlReference valueOf(String value) {
+ return new UrlReference(value);
+ }
+
@Override
public int hashCode() {
return value.hashCode();
diff --git a/config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java b/config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java
index 46b710cdcf9..edf4c0270a7 100644
--- a/config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java
+++ b/config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java
@@ -9,6 +9,7 @@ import com.yahoo.foo.IntConfig;
import com.yahoo.foo.MaptypesConfig;
import com.yahoo.foo.SimpletypesConfig;
import com.yahoo.foo.StructtypesConfig;
+import com.yahoo.foo.UrlConfig;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
import com.yahoo.text.StringUtilities;
@@ -138,6 +139,12 @@ public class ConfigPayloadTest {
assertThat(payload.toString(true), is("{\"boolval\":false,\"doubleval\":0.0,\"enumval\":\"VAL1\",\"intval\":0,\"longval\":0,\"stringval\":\"s\"}"));
}
+ @Test
+ public void test_serialize_url_fields() {
+ ConfigPayload payload = ConfigPayload.fromInstance(new UrlConfig(new UrlConfig.Builder()));
+ assertThat(payload.toString(true), is("{\"urlVal\":\"http://vespa.ai\"}"));
+ }
+
@Test(expected=RuntimeException.class)
public void test_double_leaf_illegal_string() {
createSimpletypesConfig("doubleval", "illegal");
diff --git a/config/src/test/resources/configs/def-files/url.def b/config/src/test/resources/configs/def-files/url.def
new file mode 100755
index 00000000000..f18a99efa51
--- /dev/null
+++ b/config/src/test/resources/configs/def-files/url.def
@@ -0,0 +1,4 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=foo
+
+urlVal url default=http://vespa.ai
diff --git a/configdefinitions/src/main/java/com/yahoo/embedding/package-info.java b/configdefinitions/src/main/java/com/yahoo/embedding/package-info.java
new file mode 100644
index 00000000000..1842b80aba9
--- /dev/null
+++ b/configdefinitions/src/main/java/com/yahoo/embedding/package-info.java
@@ -0,0 +1,5 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+@ExportPackage
+package com.yahoo.embedding;
+
+import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/configdefinitions/src/vespa/CMakeLists.txt b/configdefinitions/src/vespa/CMakeLists.txt
index 3735a8ae57a..33ceb5338d3 100644
--- a/configdefinitions/src/vespa/CMakeLists.txt
+++ b/configdefinitions/src/vespa/CMakeLists.txt
@@ -74,3 +74,4 @@ vespa_generate_config(configdefinitions all-clusters-bucket-spaces.def)
install_config_definition(all-clusters-bucket-spaces.def vespa.config.content.all-clusters-bucket-spaces.def)
vespa_generate_config(configdefinitions stateserver.def)
install_config_definition(stateserver.def vespa.config.core.stateserver.def)
+install_config_definition(embedding.bert-base-embedder.def embedding.bert-base-embedder.def)
diff --git a/model-integration/src/main/resources/configdefinitions/embedding.bert-base-embedder.def b/configdefinitions/src/vespa/embedding.bert-base-embedder.def
index a37599de411..a37599de411 100644
--- a/model-integration/src/main/resources/configdefinitions/embedding.bert-base-embedder.def
+++ b/configdefinitions/src/vespa/embedding.bert-base-embedder.def
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java b/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
index 937d04b35bd..a0717a1060f 100644
--- a/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
+++ b/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
@@ -204,7 +204,7 @@ public class BuilderGenerator {
}
private static String privateLeafNodeSetter(LeafCNode n) {
- if ("String".equals(builderType(n)) || "FileReference".equals(builderType(n)) || "UrlReference".equals(builderType(n))) {
+ if ("String".equals(builderType(n)) || "FileReference".equals(builderType(n))) {
return "";
} else {
return "\n\n" + //
@@ -247,7 +247,7 @@ public class BuilderGenerator {
}
private static String privateLeafMapSetter(CNode n) {
- if ("String".equals(builderType(n)) || "FileReference".equals(builderType(n)) || "UrlReference".equals(builderType(n))) {
+ if ("String".equals(builderType(n)) || "FileReference".equals(builderType(n))) {
return "";
} else {
return "\n\n" + //
@@ -269,10 +269,15 @@ public class BuilderGenerator {
: "";
String bType = builderType(n);
- String stringSetter = "String".equals(bType) || "FileReference".equals(bType) || "UrlReference".equals(bType) ? ""
- : String.format("\nprivate Builder %s(String %svalue) {\n" + //
- " return %s(%s.valueOf(%svalue));\n" + //
- "}", name, INTERNAL_PREFIX, name, boxedDataType(n), INTERNAL_PREFIX);
+ String stringSetter = "";
+ if ( ! "String".equals(bType) && ! "FileReference".equals(bType)) {
+ String type = boxedDataType(n);
+ if ("UrlReference".equals(bType))
+ type = bType;
+ stringSetter = String.format("\nprivate Builder %s(String %svalue) {\n" + //
+ " return %s(%s.valueOf(%svalue));\n" + //
+ "}", name, INTERNAL_PREFIX, name, type, INTERNAL_PREFIX);
+ }
String getNullGuard = bType.equals(boxedBuilderType(n)) ? String.format(
"\nif (%svalue == null) throw new IllegalArgumentException(\"Null value is not allowed.\");", INTERNAL_PREFIX) : "";
diff --git a/configgen/src/test/resources/allfeatures.reference b/configgen/src/test/resources/allfeatures.reference
index 7698ea6727c..21f49d21413 100644
--- a/configgen/src/test/resources/allfeatures.reference
+++ b/configgen/src/test/resources/allfeatures.reference
@@ -406,6 +406,9 @@ public final class AllfeaturesConfig extends ConfigInstance {
return this;
}
+ private Builder urlVal(String __value) {
+ return urlVal(UrlReference.valueOf(__value));
+ }
public Builder boolarr(Boolean __value) {
boolarr.add(__value);
@@ -527,6 +530,10 @@ public final class AllfeaturesConfig extends ConfigInstance {
return this;
}
+ private Builder urlArr(String __value) {
+ return urlArr(UrlReference.valueOf(__value));
+ }
+
public Builder intMap(String __key, Integer __value) {
intMap.put(__key, __value);
return this;
@@ -561,6 +568,10 @@ public final class AllfeaturesConfig extends ConfigInstance {
return this;
}
+ private Builder urlMap(String __key, String __value) {
+ return urlMap(__key, UrlReference.valueOf(__value));
+ }
+
public Builder basic_struct(Basic_struct.Builder __builder) {
basic_struct = __builder;
return this;
diff --git a/model-integration/CMakeLists.txt b/model-integration/CMakeLists.txt
index b564fa29b1c..4225ac38f89 100644
--- a/model-integration/CMakeLists.txt
+++ b/model-integration/CMakeLists.txt
@@ -1,8 +1,6 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
install_fat_java_artifact(model-integration)
-install_config_definitions()
-
vespa_install_script(src/main/python/vespa-convert-tf2onnx.py vespa-convert-tf2onnx bin)
install(FILES src/main/config/model-integration.xml DESTINATION conf/configserver-app) \ No newline at end of file