diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-03-29 12:00:40 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-03-29 12:03:00 +0000 |
commit | 8855a14d8270ff8a0635da1e09110438f6ea905e (patch) | |
tree | a73a457620c316be1512cd8d58033ee45e6c5373 /config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java | |
parent | 96904db4e5c9beb7ed95848b1bdd3b1b100cbd8f (diff) |
avoid depending on DocumentTypeManager
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java b/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java index ece1b0bab0a..5b1a9595b94 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/SDDocumentTypeOrderer.java @@ -18,7 +18,7 @@ import java.util.logging.Level; public class SDDocumentTypeOrderer { private final Map<DataTypeName, SDDocumentType> createdSDTypes = new LinkedHashMap<>(); - private final Set<Integer> seenTypes = new LinkedHashSet<>(); + private final Set<String> seenTypes = new LinkedHashSet<>(); List<SDDocumentType> processingOrder = new LinkedList<>(); private final DeployLogger deployLogger; @@ -27,11 +27,7 @@ public class SDDocumentTypeOrderer { for (SDDocumentType type : sdTypes) { createdSDTypes.put(type.getDocumentName(), type); } - DocumentTypeManager dtm = new DocumentTypeManager(); - for (DataType type : dtm.getDataTypes()) { - seenTypes.add(type.getId()); - } - + seenTypes.add("document"); } List<SDDocumentType> getOrdered() { return processingOrder; } @@ -44,21 +40,14 @@ public class SDDocumentTypeOrderer { private void process(SDDocumentType docOrStruct, SDDocumentType owningDocument) { resolveAndProcessInheritedTemporaryTypes(docOrStruct, owningDocument); - int id; - if (docOrStruct.isStruct()) { - id = new StructDataType(docOrStruct.getName()).getId(); - } else { - id = new DocumentType(docOrStruct.getName()).getId(); - } - - if (seenTypes.contains(id)) { + if (seenTypes.contains(docOrStruct.getName())) { return; - } else { - seenTypes.add((new StructDataType(docOrStruct.getName()).getId())); } - + seenTypes.add(docOrStruct.getName()); for (Field field : docOrStruct.fieldSet()) { - if (!seenTypes.contains(field.getDataType().getId())) { + String typeName = field.getDataType().getName(); + if (!seenTypes.contains(typeName)) { + seenTypes.add(typeName); //we haven't seen this before, do it visit(field.getDataType(), owningDocument); } |