diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-06-16 13:58:18 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-06-17 11:18:07 +0000 |
commit | 2f68ebb8b6cea8a2450eebfb5874df7c209de7af (patch) | |
tree | d9c60dd7d0292978b1704558fe184b4c62c4c628 /config-model/src | |
parent | a18e8e12faec6318c1d5768fd4edf42efd0ecb78 (diff) |
remove sort in SearchOrderer
* to keep unit tests deterministic, sort earlier instead
Diffstat (limited to 'config-model/src')
12 files changed, 260 insertions, 256 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java b/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java index 29482431aa0..9141ed45293 100644 --- a/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java +++ b/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java @@ -132,6 +132,8 @@ public class ApplicationBuilder { this.deployLogger = deployLogger; this.properties = properties; this.documentsOnly = documentsOnly; + var list = new ArrayList<>(applicationPackage.getSchemas()); + list.sort((a, b) -> a.getName().compareTo(b.getName())); for (NamedReader reader : applicationPackage.getSchemas()) addSchema(reader); } @@ -407,8 +409,13 @@ public class ApplicationBuilder { properties, rankProfileRegistry, queryProfileRegistry); - for (var i = Files.list(new File(dir).toPath()).filter(p -> p.getFileName().toString().endsWith(".sd")).iterator(); i.hasNext(); ) { - builder.addSchemaFile(i.next().toString()); + + var fnli = Files.list(new File(dir).toPath()) + .map(p -> p.toString()) + .filter(fn -> fn.endsWith(".sd")) + .sorted(); + for (var i = fnli.iterator(); i.hasNext(); ) { + builder.addSchemaFile(i.next()); } builder.build(true); return builder; diff --git a/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java b/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java index 3bab808beff..d08cc472f82 100644 --- a/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java +++ b/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java @@ -33,10 +33,6 @@ public class SearchOrderer { * @return a new list containing the same search instances in the right order */ public List<Schema> order(List<Schema> unordered) { - // Description above state that the original order should be preserved, except for the dependency constraint. - // Yet we botch that guarantee by sorting the list... - unordered.sort(Comparator.comparing(Schema::getName)); - // No, this is not a fast algorithm... indexOnDocumentName(unordered); List<Schema> ordered = new ArrayList<>(unordered.size()); diff --git a/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg b/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg index eaa7e2c5131..a4b37113ef1 100644 --- a/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg +++ b/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg @@ -39,48 +39,48 @@ doctype[0].structtype[1].field[0].type 10007 doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "person_ref" -doctype[1].importedfield[0].name "my_cool_field" -doctype[1].importedfield[1].name "my_swag_field" -doctype[1].importedfield[2].name "my_name" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 -doctype[1].documentref[1].idx 10019 -doctype[1].documentref[1].targettype 10020 +doctype[1].fieldsets{[document]}.fields[0] "cool_field" +doctype[1].fieldsets{[document]}.fields[1] "swag_field" doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "person_ref" -doctype[1].structtype[0].field[1].internalid 100779805 -doctype[1].structtype[0].field[1].type 10019 -doctype[2].name "campaign" -doctype[2].idx 10018 +doctype[1].structtype[0].name "campaign.header" +doctype[1].structtype[0].field[0].name "cool_field" +doctype[1].structtype[0].field[0].internalid 1588702436 +doctype[1].structtype[0].field[0].type 10012 +doctype[1].structtype[0].field[1].name "swag_field" +doctype[1].structtype[0].field[1].internalid 1691224741 +doctype[1].structtype[0].field[1].type 10008 +doctype[2].name "person" +doctype[2].idx 10017 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10021 -doctype[2].fieldsets{[document]}.fields[0] "cool_field" -doctype[2].fieldsets{[document]}.fields[1] "swag_field" -doctype[2].structtype[0].idx 10021 -doctype[2].structtype[0].name "campaign.header" -doctype[2].structtype[0].field[0].name "cool_field" -doctype[2].structtype[0].field[0].internalid 1588702436 +doctype[2].contentstruct 10018 +doctype[2].fieldsets{[document]}.fields[0] "name" +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "person.header" +doctype[2].structtype[0].field[0].name "name" +doctype[2].structtype[0].field[0].internalid 1160796772 doctype[2].structtype[0].field[0].type 10012 -doctype[2].structtype[0].field[1].name "swag_field" -doctype[2].structtype[0].field[1].internalid 1691224741 -doctype[2].structtype[0].field[1].type 10008 -doctype[3].name "person" -doctype[3].idx 10020 +doctype[3].name "ad" +doctype[3].idx 10019 doctype[3].inherits[0].idx 10000 -doctype[3].contentstruct 10022 -doctype[3].fieldsets{[document]}.fields[0] "name" -doctype[3].structtype[0].idx 10022 -doctype[3].structtype[0].name "person.header" -doctype[3].structtype[0].field[0].name "name" -doctype[3].structtype[0].field[0].internalid 1160796772 -doctype[3].structtype[0].field[0].type 10012 +doctype[3].contentstruct 10020 +doctype[3].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[3].fieldsets{[document]}.fields[1] "person_ref" +doctype[3].importedfield[0].name "my_cool_field" +doctype[3].importedfield[1].name "my_swag_field" +doctype[3].importedfield[2].name "my_name" +doctype[3].documentref[0].idx 10021 +doctype[3].documentref[0].targettype 10015 +doctype[3].documentref[1].idx 10022 +doctype[3].documentref[1].targettype 10017 +doctype[3].structtype[0].idx 10020 +doctype[3].structtype[0].name "ad.header" +doctype[3].structtype[0].field[0].name "campaign_ref" +doctype[3].structtype[0].field[0].internalid 23963250 +doctype[3].structtype[0].field[0].type 10021 +doctype[3].structtype[0].field[1].name "person_ref" +doctype[3].structtype[0].field[1].internalid 100779805 +doctype[3].structtype[0].field[1].type 10022 diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg index 48348348989..f6d4269abcd 100644 --- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg +++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg @@ -39,33 +39,33 @@ doctype[0].structtype[1].field[0].type 10007 doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "person_ref" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 -doctype[1].documentref[1].idx 10019 -doctype[1].documentref[1].targettype 10020 doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "person_ref" -doctype[1].structtype[0].field[1].internalid 100779805 -doctype[1].structtype[0].field[1].type 10019 -doctype[2].name "campaign" -doctype[2].idx 10018 +doctype[1].structtype[0].name "campaign.header" +doctype[2].name "person" +doctype[2].idx 10017 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10021 -doctype[2].structtype[0].idx 10021 -doctype[2].structtype[0].name "campaign.header" -doctype[3].name "person" -doctype[3].idx 10020 +doctype[2].contentstruct 10018 +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "person.header" +doctype[3].name "ad" +doctype[3].idx 10019 doctype[3].inherits[0].idx 10000 -doctype[3].contentstruct 10022 -doctype[3].structtype[0].idx 10022 -doctype[3].structtype[0].name "person.header" +doctype[3].contentstruct 10020 +doctype[3].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[3].fieldsets{[document]}.fields[1] "person_ref" +doctype[3].documentref[0].idx 10021 +doctype[3].documentref[0].targettype 10015 +doctype[3].documentref[1].idx 10022 +doctype[3].documentref[1].targettype 10017 +doctype[3].structtype[0].idx 10020 +doctype[3].structtype[0].name "ad.header" +doctype[3].structtype[0].field[0].name "campaign_ref" +doctype[3].structtype[0].field[0].internalid 23963250 +doctype[3].structtype[0].field[0].type 10021 +doctype[3].structtype[0].field[1].name "person_ref" +doctype[3].structtype[0].field[1].internalid 100779805 +doctype[3].structtype[0].field[1].type 10022 diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg index ef1bb4c5ad4..31f514b16cd 100644 --- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg +++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg @@ -39,25 +39,25 @@ doctype[0].structtype[1].field[0].type 10007 doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "other_campaign_ref" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "other_campaign_ref" -doctype[1].structtype[0].field[1].internalid 874751172 -doctype[1].structtype[0].field[1].type 10017 -doctype[2].name "campaign" -doctype[2].idx 10018 +doctype[1].structtype[0].name "campaign.header" +doctype[2].name "ad" +doctype[2].idx 10017 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10019 -doctype[2].structtype[0].idx 10019 -doctype[2].structtype[0].name "campaign.header" +doctype[2].contentstruct 10018 +doctype[2].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[2].fieldsets{[document]}.fields[1] "other_campaign_ref" +doctype[2].documentref[0].idx 10019 +doctype[2].documentref[0].targettype 10015 +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "ad.header" +doctype[2].structtype[0].field[0].name "campaign_ref" +doctype[2].structtype[0].field[0].internalid 23963250 +doctype[2].structtype[0].field[0].type 10019 +doctype[2].structtype[0].field[1].name "other_campaign_ref" +doctype[2].structtype[0].field[1].internalid 874751172 +doctype[2].structtype[0].field[1].type 10019 diff --git a/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg b/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg index 1b5817e6f39..1582c6572da 100644 --- a/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg +++ b/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg @@ -43,56 +43,56 @@ doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 doctype[0].structtype[1].internalid 1381038251 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 -doctype[1].internalid 2987301 +doctype[1].internalid -1318255918 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "person_ref" -doctype[1].importedfield[0].name "my_cool_field" -doctype[1].importedfield[1].name "my_swag_field" -doctype[1].importedfield[2].name "my_name" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 -doctype[1].documentref[0].internalid 595216861 -doctype[1].documentref[1].idx 10019 -doctype[1].documentref[1].targettype 10020 -doctype[1].documentref[1].internalid 542332920 +doctype[1].fieldsets{[document]}.fields[0] "cool_field" +doctype[1].fieldsets{[document]}.fields[1] "swag_field" doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "person_ref" -doctype[1].structtype[0].field[1].internalid 100779805 -doctype[1].structtype[0].field[1].type 10019 -doctype[1].structtype[0].internalid 959075962 -doctype[2].name "campaign" -doctype[2].idx 10018 -doctype[2].internalid -1318255918 +doctype[1].structtype[0].name "campaign.header" +doctype[1].structtype[0].field[0].name "cool_field" +doctype[1].structtype[0].field[0].internalid 1588702436 +doctype[1].structtype[0].field[0].type 10012 +doctype[1].structtype[0].field[1].name "swag_field" +doctype[1].structtype[0].field[1].internalid 1691224741 +doctype[1].structtype[0].field[1].type 10008 +doctype[1].structtype[0].internalid -2041471955 +doctype[2].name "person" +doctype[2].idx 10017 +doctype[2].internalid 443162583 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10021 -doctype[2].fieldsets{[document]}.fields[0] "cool_field" -doctype[2].fieldsets{[document]}.fields[1] "swag_field" -doctype[2].structtype[0].idx 10021 -doctype[2].structtype[0].name "campaign.header" -doctype[2].structtype[0].field[0].name "cool_field" -doctype[2].structtype[0].field[0].internalid 1588702436 +doctype[2].contentstruct 10018 +doctype[2].fieldsets{[document]}.fields[0] "name" +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "person.header" +doctype[2].structtype[0].field[0].name "name" +doctype[2].structtype[0].field[0].internalid 1160796772 doctype[2].structtype[0].field[0].type 10012 -doctype[2].structtype[0].field[1].name "swag_field" -doctype[2].structtype[0].field[1].internalid 1691224741 -doctype[2].structtype[0].field[1].type 10008 -doctype[2].structtype[0].internalid -2041471955 -doctype[3].name "person" -doctype[3].idx 10020 -doctype[3].internalid 443162583 +doctype[2].structtype[0].internalid 3129224 +doctype[3].name "ad" +doctype[3].idx 10019 +doctype[3].internalid 2987301 doctype[3].inherits[0].idx 10000 -doctype[3].contentstruct 10022 -doctype[3].fieldsets{[document]}.fields[0] "name" -doctype[3].structtype[0].idx 10022 -doctype[3].structtype[0].name "person.header" -doctype[3].structtype[0].field[0].name "name" -doctype[3].structtype[0].field[0].internalid 1160796772 -doctype[3].structtype[0].field[0].type 10012 -doctype[3].structtype[0].internalid 3129224 +doctype[3].contentstruct 10020 +doctype[3].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[3].fieldsets{[document]}.fields[1] "person_ref" +doctype[3].importedfield[0].name "my_cool_field" +doctype[3].importedfield[1].name "my_swag_field" +doctype[3].importedfield[2].name "my_name" +doctype[3].documentref[0].idx 10021 +doctype[3].documentref[0].targettype 10015 +doctype[3].documentref[0].internalid 595216861 +doctype[3].documentref[1].idx 10022 +doctype[3].documentref[1].targettype 10017 +doctype[3].documentref[1].internalid 542332920 +doctype[3].structtype[0].idx 10020 +doctype[3].structtype[0].name "ad.header" +doctype[3].structtype[0].field[0].name "campaign_ref" +doctype[3].structtype[0].field[0].internalid 23963250 +doctype[3].structtype[0].field[0].type 10021 +doctype[3].structtype[0].field[1].name "person_ref" +doctype[3].structtype[0].field[1].internalid 100779805 +doctype[3].structtype[0].field[1].type 10022 +doctype[3].structtype[0].internalid 959075962 diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg index 1c5d4d41819..4222229cdd3 100644 --- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg +++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg @@ -43,41 +43,41 @@ doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 doctype[0].structtype[1].internalid 1381038251 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 -doctype[1].internalid 2987301 +doctype[1].internalid -1318255918 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "person_ref" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 -doctype[1].documentref[0].internalid 595216861 -doctype[1].documentref[1].idx 10019 -doctype[1].documentref[1].targettype 10020 -doctype[1].documentref[1].internalid 542332920 doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "person_ref" -doctype[1].structtype[0].field[1].internalid 100779805 -doctype[1].structtype[0].field[1].type 10019 -doctype[1].structtype[0].internalid 959075962 -doctype[2].name "campaign" -doctype[2].idx 10018 -doctype[2].internalid -1318255918 +doctype[1].structtype[0].name "campaign.header" +doctype[1].structtype[0].internalid -2041471955 +doctype[2].name "person" +doctype[2].idx 10017 +doctype[2].internalid 443162583 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10021 -doctype[2].structtype[0].idx 10021 -doctype[2].structtype[0].name "campaign.header" -doctype[2].structtype[0].internalid -2041471955 -doctype[3].name "person" -doctype[3].idx 10020 -doctype[3].internalid 443162583 +doctype[2].contentstruct 10018 +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "person.header" +doctype[2].structtype[0].internalid 3129224 +doctype[3].name "ad" +doctype[3].idx 10019 +doctype[3].internalid 2987301 doctype[3].inherits[0].idx 10000 -doctype[3].contentstruct 10022 -doctype[3].structtype[0].idx 10022 -doctype[3].structtype[0].name "person.header" -doctype[3].structtype[0].internalid 3129224 +doctype[3].contentstruct 10020 +doctype[3].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[3].fieldsets{[document]}.fields[1] "person_ref" +doctype[3].documentref[0].idx 10021 +doctype[3].documentref[0].targettype 10015 +doctype[3].documentref[0].internalid 595216861 +doctype[3].documentref[1].idx 10022 +doctype[3].documentref[1].targettype 10017 +doctype[3].documentref[1].internalid 542332920 +doctype[3].structtype[0].idx 10020 +doctype[3].structtype[0].name "ad.header" +doctype[3].structtype[0].field[0].name "campaign_ref" +doctype[3].structtype[0].field[0].internalid 23963250 +doctype[3].structtype[0].field[0].type 10021 +doctype[3].structtype[0].field[1].name "person_ref" +doctype[3].structtype[0].field[1].internalid 100779805 +doctype[3].structtype[0].field[1].type 10022 +doctype[3].structtype[0].internalid 959075962 diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg index 2f178c55bfd..0d3802bcbe3 100644 --- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg +++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg @@ -43,30 +43,30 @@ doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 doctype[0].structtype[1].internalid 1381038251 -doctype[1].name "ad" +doctype[1].name "campaign" doctype[1].idx 10015 -doctype[1].internalid 2987301 +doctype[1].internalid -1318255918 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "campaign_ref" -doctype[1].fieldsets{[document]}.fields[1] "other_campaign_ref" -doctype[1].documentref[0].idx 10017 -doctype[1].documentref[0].targettype 10018 -doctype[1].documentref[0].internalid 595216861 doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "ad.header" -doctype[1].structtype[0].field[0].name "campaign_ref" -doctype[1].structtype[0].field[0].internalid 23963250 -doctype[1].structtype[0].field[0].type 10017 -doctype[1].structtype[0].field[1].name "other_campaign_ref" -doctype[1].structtype[0].field[1].internalid 874751172 -doctype[1].structtype[0].field[1].type 10017 -doctype[1].structtype[0].internalid 959075962 -doctype[2].name "campaign" -doctype[2].idx 10018 -doctype[2].internalid -1318255918 +doctype[1].structtype[0].name "campaign.header" +doctype[1].structtype[0].internalid -2041471955 +doctype[2].name "ad" +doctype[2].idx 10017 +doctype[2].internalid 2987301 doctype[2].inherits[0].idx 10000 -doctype[2].contentstruct 10019 -doctype[2].structtype[0].idx 10019 -doctype[2].structtype[0].name "campaign.header" -doctype[2].structtype[0].internalid -2041471955 +doctype[2].contentstruct 10018 +doctype[2].fieldsets{[document]}.fields[0] "campaign_ref" +doctype[2].fieldsets{[document]}.fields[1] "other_campaign_ref" +doctype[2].documentref[0].idx 10019 +doctype[2].documentref[0].targettype 10015 +doctype[2].documentref[0].internalid 595216861 +doctype[2].structtype[0].idx 10018 +doctype[2].structtype[0].name "ad.header" +doctype[2].structtype[0].field[0].name "campaign_ref" +doctype[2].structtype[0].field[0].internalid 23963250 +doctype[2].structtype[0].field[0].type 10019 +doctype[2].structtype[0].field[1].name "other_campaign_ref" +doctype[2].structtype[0].field[1].internalid 874751172 +doctype[2].structtype[0].field[1].type 10019 +doctype[2].structtype[0].internalid 959075962 diff --git a/config-model/src/test/derived/imported_fields_inherited_reference/documenttypes.cfg b/config-model/src/test/derived/imported_fields_inherited_reference/documenttypes.cfg index 7a67640adfe..b15734169a5 100644 --- a/config-model/src/test/derived/imported_fields_inherited_reference/documenttypes.cfg +++ b/config-model/src/test/derived/imported_fields_inherited_reference/documenttypes.cfg @@ -43,57 +43,57 @@ doctype[].structtype[].field[].name "y" doctype[].structtype[].field[].internalid 900009410 doctype[].structtype[].field[].type 10007 doctype[].structtype[].internalid 1381038251 -doctype[].name "child_a" +doctype[].name "parent" doctype[].idx 10015 -doctype[].internalid -94853056 +doctype[].internalid 1175161836 doctype[].inherits[].idx 10000 doctype[].contentstruct 10016 +doctype[].fieldsets{[document]}.fields[] "int_field" +doctype[].structtype[].idx 10016 +doctype[].structtype[].name "parent.header" +doctype[].structtype[].field[].name "int_field" +doctype[].structtype[].field[].internalid 2128822283 +doctype[].structtype[].field[].type 10007 +doctype[].structtype[].internalid 836075987 +doctype[].name "child_a" +doctype[].idx 10017 +doctype[].internalid -94853056 +doctype[].inherits[].idx 10000 +doctype[].contentstruct 10018 doctype[].fieldsets{[document]}.fields[] "ref_from_a" -doctype[].documentref[].idx 10017 -doctype[].documentref[].targettype 10018 +doctype[].documentref[].idx 10019 +doctype[].documentref[].targettype 10015 doctype[].documentref[].internalid 427398467 -doctype[].structtype[].idx 10016 +doctype[].structtype[].idx 10018 doctype[].structtype[].name "child_a.header" doctype[].structtype[].field[].name "ref_from_a" doctype[].structtype[].field[].internalid 300427062 -doctype[].structtype[].field[].type 10017 +doctype[].structtype[].field[].type 10019 doctype[].structtype[].internalid 867409663 doctype[].name "child_b" -doctype[].idx 10019 +doctype[].idx 10020 doctype[].internalid -94852095 doctype[].inherits[].idx 10000 -doctype[].inherits[].idx 10015 -doctype[].contentstruct 10020 +doctype[].inherits[].idx 10017 +doctype[].contentstruct 10021 doctype[].fieldsets{[document]}.fields[] "ref_from_a" doctype[].fieldsets{[document]}.fields[] "ref_from_b" -doctype[].structtype[].idx 10020 +doctype[].structtype[].idx 10021 doctype[].structtype[].name "child_b.header" doctype[].structtype[].field[].name "ref_from_b" doctype[].structtype[].field[].internalid 185778735 -doctype[].structtype[].field[].type 10017 +doctype[].structtype[].field[].type 10019 doctype[].structtype[].internalid 670896158 doctype[].name "child_c" -doctype[].idx 10021 +doctype[].idx 10022 doctype[].internalid -94851134 doctype[].inherits[].idx 10000 -doctype[].inherits[].idx 10019 -doctype[].contentstruct 10022 +doctype[].inherits[].idx 10020 +doctype[].contentstruct 10023 doctype[].fieldsets{[document]}.fields[] "ref_from_a" doctype[].fieldsets{[document]}.fields[] "ref_from_b" doctype[].importedfield[].name "from_a_int_field" doctype[].importedfield[].name "from_b_int_field" -doctype[].structtype[].idx 10022 +doctype[].structtype[].idx 10023 doctype[].structtype[].name "child_c.header" doctype[].structtype[].internalid 474382653 -doctype[].name "parent" -doctype[].idx 10018 -doctype[].internalid 1175161836 -doctype[].inherits[].idx 10000 -doctype[].contentstruct 10023 -doctype[].fieldsets{[document]}.fields[] "int_field" -doctype[].structtype[].idx 10023 -doctype[].structtype[].name "parent.header" -doctype[].structtype[].field[].name "int_field" -doctype[].structtype[].field[].internalid 2128822283 -doctype[].structtype[].field[].type 10007 -doctype[].structtype[].internalid 836075987 diff --git a/config-model/src/test/derived/reference_from_several/documentmanager.cfg b/config-model/src/test/derived/reference_from_several/documentmanager.cfg index 0418b05d9d6..6ac1aab0baf 100644 --- a/config-model/src/test/derived/reference_from_several/documentmanager.cfg +++ b/config-model/src/test/derived/reference_from_several/documentmanager.cfg @@ -39,45 +39,45 @@ doctype[].structtype[].field[].type 10007 doctype[].structtype[].field[].name "y" doctype[].structtype[].field[].internalid 900009410 doctype[].structtype[].field[].type 10007 -doctype[].name "bar" +doctype[].name "parent" doctype[].idx 10015 doctype[].inherits[].idx 10000 doctype[].contentstruct 10016 -doctype[].fieldsets{[document]}.fields[] "bartitle" -doctype[].fieldsets{[document]}.fields[] "bpref" -doctype[].importedfield[].name "barsximp" -doctype[].documentref[].idx 10017 -doctype[].documentref[].targettype 10018 +doctype[].fieldsets{[document]}.fields[] "x" doctype[].structtype[].idx 10016 -doctype[].structtype[].name "bar.header" -doctype[].structtype[].field[].name "bpref" -doctype[].structtype[].field[].internalid 1709838545 -doctype[].structtype[].field[].type 10017 -doctype[].structtype[].field[].name "bartitle" -doctype[].structtype[].field[].internalid 1554393914 -doctype[].structtype[].field[].type 10012 +doctype[].structtype[].name "parent.header" +doctype[].structtype[].field[].name "x" +doctype[].structtype[].field[].internalid 914677694 +doctype[].structtype[].field[].type 10007 doctype[].name "foo" -doctype[].idx 10019 +doctype[].idx 10017 doctype[].inherits[].idx 10000 -doctype[].contentstruct 10020 +doctype[].contentstruct 10018 doctype[].fieldsets{[document]}.fields[] "foo" doctype[].fieldsets{[document]}.fields[] "myref" doctype[].importedfield[].name "myx" -doctype[].structtype[].idx 10020 +doctype[].documentref[].idx 10019 +doctype[].documentref[].targettype 10015 +doctype[].structtype[].idx 10018 doctype[].structtype[].name "foo.header" doctype[].structtype[].field[].name "myref" doctype[].structtype[].field[].internalid 598565475 -doctype[].structtype[].field[].type 10017 +doctype[].structtype[].field[].type 10019 doctype[].structtype[].field[].name "foo" doctype[].structtype[].field[].internalid 846279091 doctype[].structtype[].field[].type 10012 -doctype[].name "parent" -doctype[].idx 10018 +doctype[].name "bar" +doctype[].idx 10020 doctype[].inherits[].idx 10000 doctype[].contentstruct 10021 -doctype[].fieldsets{[document]}.fields[] "x" +doctype[].fieldsets{[document]}.fields[] "bartitle" +doctype[].fieldsets{[document]}.fields[] "bpref" +doctype[].importedfield[].name "barsximp" doctype[].structtype[].idx 10021 -doctype[].structtype[].name "parent.header" -doctype[].structtype[].field[].name "x" -doctype[].structtype[].field[].internalid 914677694 -doctype[].structtype[].field[].type 10007 +doctype[].structtype[].name "bar.header" +doctype[].structtype[].field[].name "bpref" +doctype[].structtype[].field[].internalid 1709838545 +doctype[].structtype[].field[].type 10019 +doctype[].structtype[].field[].name "bartitle" +doctype[].structtype[].field[].internalid 1554393914 +doctype[].structtype[].field[].type 10012 diff --git a/config-model/src/test/examples/fieldoftypedocument.cfg b/config-model/src/test/examples/fieldoftypedocument.cfg index ea56800ea1c..b59b3206a2d 100644 --- a/config-model/src/test/examples/fieldoftypedocument.cfg +++ b/config-model/src/test/examples/fieldoftypedocument.cfg @@ -39,31 +39,31 @@ doctype[0].structtype[1].field[0].type 10007 doctype[0].structtype[1].field[1].name "y" doctype[0].structtype[1].field[1].internalid 900009410 doctype[0].structtype[1].field[1].type 10007 -doctype[1].name "book" +doctype[1].name "music" doctype[1].idx 10015 doctype[1].inherits[0].idx 10000 doctype[1].contentstruct 10016 -doctype[1].fieldsets{[document]}.fields[0] "soundtrack" +doctype[1].fieldsets{[document]}.fields[0] "intfield" +doctype[1].fieldsets{[document]}.fields[1] "longfield" +doctype[1].fieldsets{[document]}.fields[2] "stringfield" doctype[1].structtype[0].idx 10016 -doctype[1].structtype[0].name "book.header" -doctype[1].structtype[0].field[0].name "soundtrack" -doctype[1].structtype[0].field[0].internalid 1258961213 -doctype[1].structtype[0].field[0].type 10017 -doctype[2].name "music" +doctype[1].structtype[0].name "music.header" +doctype[1].structtype[0].field[0].name "intfield" +doctype[1].structtype[0].field[0].internalid 435380425 +doctype[1].structtype[0].field[0].type 10007 +doctype[1].structtype[0].field[1].name "stringfield" +doctype[1].structtype[0].field[1].internalid 1182460484 +doctype[1].structtype[0].field[1].type 10012 +doctype[1].structtype[0].field[2].name "longfield" +doctype[1].structtype[0].field[2].internalid 1589309697 +doctype[1].structtype[0].field[2].type 10008 +doctype[2].name "book" doctype[2].idx 10017 doctype[2].inherits[0].idx 10000 doctype[2].contentstruct 10018 -doctype[2].fieldsets{[document]}.fields[0] "intfield" -doctype[2].fieldsets{[document]}.fields[1] "longfield" -doctype[2].fieldsets{[document]}.fields[2] "stringfield" +doctype[2].fieldsets{[document]}.fields[0] "soundtrack" doctype[2].structtype[0].idx 10018 -doctype[2].structtype[0].name "music.header" -doctype[2].structtype[0].field[0].name "intfield" -doctype[2].structtype[0].field[0].internalid 435380425 -doctype[2].structtype[0].field[0].type 10007 -doctype[2].structtype[0].field[1].name "stringfield" -doctype[2].structtype[0].field[1].internalid 1182460484 -doctype[2].structtype[0].field[1].type 10012 -doctype[2].structtype[0].field[2].name "longfield" -doctype[2].structtype[0].field[2].internalid 1589309697 -doctype[2].structtype[0].field[2].type 10008 +doctype[2].structtype[0].name "book.header" +doctype[2].structtype[0].field[0].name "soundtrack" +doctype[2].structtype[0].field[0].internalid 1258961213 +doctype[2].structtype[0].field[0].type 10015 diff --git a/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java b/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java index e672763f13c..4683bccb0ad 100644 --- a/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/derived/SchemaOrdererTestCase.java @@ -75,6 +75,7 @@ public class SchemaOrdererTestCase extends AbstractSchemaTestCase { } private static void assertOrder(List<String> expectedSearchOrder, List<String> inputNames) { + inputNames.sort((a, b) -> a.compareTo(b)); Map<String, Schema> schemas = createSchemas(); List<Schema> inputSchemas = inputNames.stream() .map(schemas::get) |