summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-24 13:37:19 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-24 14:17:24 +0000
commit281791560c479bdcfde21695c9557cf04a141f7a (patch)
tree5bb90b802cfdfd32aed9712164c4bbc9030cfc63 /config-model/src
parent3fd24d7f5650524a702d18857537e8ff6d01145b (diff)
avoid DocumentTypeManager.getDataType(name)
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
index 8e27b581769..3644cb9d924 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
@@ -248,11 +248,30 @@ public class ConvertParsedTypes {
return new NewDocumentReferenceDataType(findDocFromSchemas(ref.name()));
}
+ private DataType getBuiltinType(String name) {
+ switch (name) {
+ case "bool": return DataType.BOOL;
+ case "byte": return DataType.BYTE;
+ case "int": return DataType.INT;
+ case "long": return DataType.LONG;
+ case "string": return DataType.STRING;
+ case "float": return DataType.FLOAT;
+ case "double": return DataType.DOUBLE;
+ case "uri": return DataType.URI;
+ case "predicate": return DataType.PREDICATE;
+ case "raw": return DataType.RAW;
+ case "tag": return DataType.TAG;
+ case "float16": return DataType.FLOAT16;
+ default:
+ throw new IllegalArgumentException("Unknown builtin type: "+name);
+ }
+ }
+
private DataType resolveFromContext(ParsedType pType, ParsedDocument context) {
String name = pType.name();
switch (pType.getVariant()) {
case NONE: return DataType.NONE;
- case BUILTIN: return docMan.getDataType(name);
+ case BUILTIN: return getBuiltinType(name);
case POSITION: return PositionDataType.INSTANCE;
case ARRAY: return createArray(pType, context);
case WSET: return createWset(pType, context);