diff options
author | Lester Solbakken <lesters@oath.com> | 2022-04-06 15:42:16 +0200 |
---|---|---|
committer | Lester Solbakken <lesters@oath.com> | 2022-04-06 15:42:16 +0200 |
commit | 0040e513d9ebf634130615dde62b2908c4aa9aa1 (patch) | |
tree | 9d153ffe7204cf2a7d1b744cb94ed962c68c72e2 | |
parent | 7359332a2a806c84c2e504da60b9c5b087e81747 (diff) |
Move embedder config def to configdefinitions and serialize as reference
-rw-r--r-- | config-lib/abi-spec.json | 1 | ||||
-rw-r--r-- | config-lib/src/main/java/com/yahoo/config/UrlNode.java | 10 | ||||
-rwxr-xr-x | config-lib/src/main/java/com/yahoo/config/UrlReference.java | 4 | ||||
-rw-r--r-- | config/src/test/java/com/yahoo/vespa/config/ConfigPayloadTest.java | 7 | ||||
-rwxr-xr-x | config/src/test/resources/configs/def-files/url.def | 4 | ||||
-rw-r--r-- | configdefinitions/src/main/java/com/yahoo/embedding/package-info.java | 5 | ||||
-rw-r--r-- | configdefinitions/src/vespa/CMakeLists.txt | 1 | ||||
-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.java | 17 | ||||
-rw-r--r-- | configgen/src/test/resources/allfeatures.reference | 11 | ||||
-rw-r--r-- | model-integration/CMakeLists.txt | 2 |
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 |