From 0765979cf838b69e287ad768997084eb14010464 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Tue, 3 Dec 2019 13:27:31 +0000 Subject: fix bug in hasAnyPositionField * clearly returning "true" in all cases is not useful * but ordering of checks in hasAnyPostionDataType was wrong also: PositionDataType.INSTANCE is actually instanceof StructuredDataType so it would always return false. --- .../src/main/java/com/yahoo/vespa/DocumentGenMojo.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'vespa-documentgen-plugin') diff --git a/vespa-documentgen-plugin/src/main/java/com/yahoo/vespa/DocumentGenMojo.java b/vespa-documentgen-plugin/src/main/java/com/yahoo/vespa/DocumentGenMojo.java index eb883662095..d95eddac57f 100644 --- a/vespa-documentgen-plugin/src/main/java/com/yahoo/vespa/DocumentGenMojo.java +++ b/vespa-documentgen-plugin/src/main/java/com/yahoo/vespa/DocumentGenMojo.java @@ -483,23 +483,25 @@ public class DocumentGenMojo extends AbstractMojo { out.write("}\n"); } - private static boolean hasAnyPostionDataType(DataType dt) { - if (dt instanceof CollectionDataType) { - return hasAnyPostionDataType(((CollectionDataType)dt).getNestedType()); + private static boolean hasAnyPositionDataType(DataType dt) { + if (PositionDataType.INSTANCE.equals(dt)) { + return true; + } else if (dt instanceof CollectionDataType) { + return hasAnyPositionDataType(((CollectionDataType)dt).getNestedType()); } else if (dt instanceof StructuredDataType) { return hasAnyPositionField(((StructuredDataType)dt).getFields()); } else { - return PositionDataType.INSTANCE.equals(dt); + return false; } } private static boolean hasAnyPositionField(Collection fields) { for (Field f : fields) { - if (hasAnyPostionDataType(f.getDataType())) { + if (hasAnyPositionDataType(f.getDataType())) { return true; } } - return true; + return false; } private Collection getAllUniqueFields(Boolean multipleInheritance, Collection allFields) { -- cgit v1.2.3