summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-04-07 12:56:09 +0000
committerArne H Juul <arnej@yahooinc.com>2022-04-07 14:01:28 +0000
commitd9d1a19fabc5631419973868733fce51fab5421c (patch)
tree6d5d3fb7242503cc6ba02680255a9fa37d76f120 /document
parentf8e244359f677c8ec5a11685f3e6b00ffac50caa (diff)
namespace structs when reading config
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java4
-rw-r--r--document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java7
2 files changed, 10 insertions, 1 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java b/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
index 183f92d543c..f84c979c79a 100644
--- a/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
+++ b/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
@@ -453,8 +453,10 @@ public class DocumentTypeManagerConfigurer implements ConfigSubscriber.SingleSub
if (isPositionStruct(typeconf)) {
int geoVersion = usev8geopositions ? 8 : 7;
addNewType(typeconf.idx(), new GeoPosType(geoVersion));
- } else {
+ } else if (typeconf.name().equals(docName + ".header")) {
addNewType(typeconf.idx(), new StructDataType(typeconf.name()));
+ } else {
+ addNewType(typeconf.idx(), new StructDataType(typeconf.name() + "@" + docName));
}
}
}
diff --git a/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java b/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
index 6829c7e6862..aa9828f7457 100644
--- a/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
+++ b/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
@@ -664,6 +664,13 @@ search annotationsimplicitstruct {
struct = docType.getStructType("mystruct");
assertNotNull(struct);
assertNotNull(struct.getField("f0"));
+
+ assertNotNull(manager.getDataTypeInternal("mystruct@common"));
+ assertNotNull(manager.getDataTypeInternal("mystructinfoo@foo"));
+ assertNotNull(manager.getDataTypeInternal("mystructinbar@bar"));
+ assertNotNull(manager.getDataTypeInternal("mystructinfoobar@foobar"));
+ assertNotNull(manager.getDataTypeInternal("foo.header"));
+ assertNotNull(manager.getDataTypeInternal("position"));
}
// TODO test clone(). Also fieldSets not part of clone()..!