diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-03-24 13:41:39 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-03-24 13:49:14 +0000 |
commit | edb61340064d3b86cf6549b6376edd2881522fe4 (patch) | |
tree | 01b8583ba78ea4edd91841bd4b34ea048148d865 /document | |
parent | 3c1c5151a631221dfbb0aaee36a2e25f4ba967c1 (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')
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"); |