summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-24 13:41:39 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-24 13:49:14 +0000
commitedb61340064d3b86cf6549b6376edd2881522fe4 (patch)
tree01b8583ba78ea4edd91841bd4b34ea048148d865 /document
parent3c1c5151a631221dfbb0aaee36a2e25f4ba967c1 (diff)
mark getDataType(String) as deprecated
* internal code can use getDataTypeInternal when necessary * external code should always get their data types in other ways
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/DocumentTypeManager.java17
-rw-r--r--document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java2
-rw-r--r--document/src/test/java/com/yahoo/document/DataTypeTestCase.java6
-rw-r--r--document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java18
4 files changed, 30 insertions, 13 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentTypeManager.java b/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
index 7cbda1410c2..e8e3ef64c98 100644
--- a/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
+++ b/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
@@ -134,7 +134,24 @@ public class DocumentTypeManager {
return dataTypes.containsKey(code);
}
+ /**
+ * @deprecated //TODO Will be package-private or removed on Vespa 8
+ * Use constants and factories in DataType instead.
+ * For structs, use getStructType() in DocumentType.
+ * For annotation payloads, use getDataType() in AnnotationType.
+ **/
+ @Deprecated
public DataType getDataType(String name) {
+ return getDataTypeInternal(name);
+ }
+
+ /**
+ * For internal use only, avoid whenever possible.
+ * Use constants and factories in DataType instead.
+ * For structs, use getStructType() in DocumentType.
+ * For annotation payloads, use getDataType() in AnnotationType.
+ **/
+ DataType getDataTypeInternal(String name) {
if (name.startsWith("tensor(")) // built-in dynamic
return new TensorDataType(TensorType.fromSpec(name));
diff --git a/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java b/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
index cb615c27116..662fe8665f3 100644
--- a/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
+++ b/document/src/main/java/com/yahoo/document/DocumentTypeManagerConfigurer.java
@@ -395,7 +395,7 @@ public class DocumentTypeManagerConfigurer implements ConfigSubscriber.SingleSub
void createSimpleTypes() {
for (var typeconf : docTypeConfig.primitivetype()) {
- DataType type = manager.getDataType(typeconf.name());
+ DataType type = manager.getDataTypeInternal(typeconf.name());
if (! (type instanceof PrimitiveDataType)) {
throw new IllegalArgumentException("Needed primitive type for '"+typeconf.name()+"' [idx "+typeconf.idx()+"] but got: "+type);
}
diff --git a/document/src/test/java/com/yahoo/document/DataTypeTestCase.java b/document/src/test/java/com/yahoo/document/DataTypeTestCase.java
index 4e522af527f..c81018c723f 100644
--- a/document/src/test/java/com/yahoo/document/DataTypeTestCase.java
+++ b/document/src/test/java/com/yahoo/document/DataTypeTestCase.java
@@ -34,9 +34,9 @@ public class DataTypeTestCase {
public void testTagType() {
DocumentTypeManager manager = new DocumentTypeManager();
//assertEquals(DataType.getWeightedSet(DataType.STRING,true,true),DataType.TAG.getBaseType());
- assertNotNull(manager.getDataType("tag"));
- assertEquals(DataType.TAG, manager.getDataType("tag"));
- assertEquals(manager.getDataType("tag").getCode(), 18);
+ assertNotNull(manager.getDataTypeInternal("tag"));
+ assertEquals(DataType.TAG, manager.getDataTypeInternal("tag"));
+ assertEquals(manager.getDataTypeInternal("tag").getCode(), 18);
assertEquals(DataType.getWeightedSet(DataType.STRING,true,true).getCode(), 18);
}
diff --git a/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java b/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
index 5770b998c69..6829c7e6862 100644
--- a/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
+++ b/document/src/test/java/com/yahoo/document/DocumentTypeManagerTestCase.java
@@ -46,16 +46,16 @@ public class DocumentTypeManagerTestCase {
@Test
public void testBasicTypes() {
DocumentTypeManager dtm = new DocumentTypeManager();
- DataType intType = dtm.getDataType("int");
+ DataType intType = dtm.getDataTypeInternal("int");
assertSame(DataType.INT, intType);
- DataType stringType = dtm.getDataType("string");
+ DataType stringType = dtm.getDataTypeInternal("string");
assertSame(DataType.STRING, stringType);
- DataType longType = dtm.getDataType("long");
+ DataType longType = dtm.getDataTypeInternal("long");
assertSame(DataType.LONG, longType);
- DataType doubleType = dtm.getDataType("double");
+ DataType doubleType = dtm.getDataTypeInternal("double");
assertSame(DataType.DOUBLE, doubleType);
}
@@ -78,12 +78,12 @@ public class DocumentTypeManagerTestCase {
manager.register(docType2);
assertEquals(struct, manager.getDataType(struct.getId()));
- assertEquals(struct, manager.getDataType("mystruct"));
+ assertEquals(struct, manager.getDataTypeInternal("mystruct"));
assertEquals(wset1, manager.getDataType(wset1.getId()));
assertEquals(wset2, manager.getDataType(wset2.getId()));
assertEquals(array, manager.getDataType(array.getId()));
- assertEquals(docType, manager.getDataType("mydoc"));
- assertEquals(docType2, manager.getDataType("myotherdoc"));
+ assertEquals(docType, manager.getDataTypeInternal("mydoc"));
+ assertEquals(docType2, manager.getDataTypeInternal("myotherdoc"));
assertEquals(docType, manager.getDocumentType(new DataTypeName("mydoc")));
assertEquals(docType2, manager.getDocumentType(new DataTypeName("myotherdoc")));
}
@@ -418,13 +418,13 @@ search annotationsimplicitstruct {
DocumentTypeManager manager = createConfiguredManager("file:src/test/document/documentmanager.structsanyorder.cfg");
- StructDataType foo = (StructDataType) manager.getDataType("foo");
+ StructDataType foo = (StructDataType) manager.getDataTypeInternal("foo");
assertNotNull(foo);
assertEquals(1, foo.getFields().size());
Field foos1 = foo.getField("s1");
assertSame(DataType.INT, foos1.getDataType());
- StructDataType sct = (StructDataType) manager.getDataType("sct");
+ StructDataType sct = (StructDataType) manager.getDataTypeInternal("sct");
assertNotNull(sct);
assertEquals(4, sct.getFields().size());
Field s1 = sct.getField("s1");