diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java b/config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java index 5e4ee6d4b27..ebafd8f1d24 100644 --- a/config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java +++ b/config-model/src/main/java/com/yahoo/schema/document/ComplexAttributeFieldUtils.java @@ -22,31 +22,26 @@ import com.yahoo.document.StructDataType; public class ComplexAttributeFieldUtils { public static boolean isSupportedComplexField(ImmutableSDField field) { - return isSupportedComplexField(field, false); - } - - // TODO: Remove the stricterValidation flag when this is changed to being always on. - public static boolean isSupportedComplexField(ImmutableSDField field, boolean stricterValidation) { - return (isArrayOfSimpleStruct(field, stricterValidation) || - isMapOfSimpleStruct(field, stricterValidation) || + return (isArrayOfSimpleStruct(field) || + isMapOfSimpleStruct(field) || isMapOfPrimitiveType(field)); } - public static boolean isArrayOfSimpleStruct(ImmutableSDField field, boolean stricterValidation) { + public static boolean isArrayOfSimpleStruct(ImmutableSDField field) { if (field.getDataType() instanceof ArrayDataType) { ArrayDataType arrayType = (ArrayDataType)field.getDataType(); - return isStructWithPrimitiveStructFieldAttributes(arrayType.getNestedType(), field, stricterValidation); + return isStructWithPrimitiveStructFieldAttributes(arrayType.getNestedType(), field); } else { return false; } } - public static boolean isMapOfSimpleStruct(ImmutableSDField field, boolean stricterValidation) { + public static boolean isMapOfSimpleStruct(ImmutableSDField field) { if (field.getDataType() instanceof MapDataType) { MapDataType mapType = (MapDataType)field.getDataType(); return isPrimitiveType(mapType.getKeyType()) && isStructWithPrimitiveStructFieldAttributes(mapType.getValueType(), - field.getStructField("value"), stricterValidation); + field.getStructField("value")); } else { return false; } @@ -62,7 +57,7 @@ public class ComplexAttributeFieldUtils { } } - private static boolean isStructWithPrimitiveStructFieldAttributes(DataType type, ImmutableSDField field, boolean stricterValidation) { + private static boolean isStructWithPrimitiveStructFieldAttributes(DataType type, ImmutableSDField field) { if (type instanceof StructDataType && ! GeoPos.isPos(type)) { for (ImmutableSDField structField : field.getStructFields()) { Attribute attribute = structField.getAttributes().get(structField.getName()); @@ -75,7 +70,7 @@ public class ComplexAttributeFieldUtils { return false; } } - if (stricterValidation && !structField.isImportedField() && hasStructFieldAttributes(structField)) { + if (!structField.isImportedField() && hasStructFieldAttributes(structField)) { return false; } } @@ -113,9 +108,9 @@ public class ComplexAttributeFieldUtils { } public static boolean isComplexFieldWithOnlyStructFieldAttributes(ImmutableSDField field) { - if (isArrayOfSimpleStruct(field, false)) { + if (isArrayOfSimpleStruct(field)) { return hasOnlyStructFieldAttributes(field); - } else if (isMapOfSimpleStruct(field, false)) { + } else if (isMapOfSimpleStruct(field)) { return (field.getStructField("key").hasSingleAttribute()) && hasOnlyStructFieldAttributes(field.getStructField("value")); } else if (isMapOfPrimitiveType(field)) { |