diff options
author | Harald Musum <musum@yahooinc.com> | 2022-05-19 13:34:59 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-05-19 13:34:59 +0200 |
commit | 490ddcb94ad8f8fe748fab2e4f3479985af34f82 (patch) | |
tree | fcb924ae1eaa583eb5177930d38ff232f1ce3791 /config-application-package | |
parent | 0c1edc0e0acdaa09c7227141ac50bdb6eba078ca (diff) |
Support rank profile files in schemas/ and subdirs
Diffstat (limited to 'config-application-package')
-rw-r--r-- | config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java | 16 | ||||
-rw-r--r-- | config-application-package/src/test/resources/app-with-deployment/schemas/default.profile (renamed from config-application-package/src/test/resources/app-with-deployment/schemas/music/default.profile) | 0 | ||||
-rw-r--r-- | config-application-package/src/test/resources/app-with-deployment/schemas/music/in-subdir.profile | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java index 793020ce104..9e72efab07b 100644 --- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java +++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java @@ -788,11 +788,11 @@ public class FilesApplicationPackage extends AbstractApplicationPackage { Map.entry(QUERY_PROFILE_TYPES_DIR, Set.of(".xml")), Map.entry(Path.fromString(ROUTINGTABLES_DIR), Set.of(".xml")), Map.entry(RULES_DIR, Set.of(RULES_NAME_SUFFIX)), - // Note: Might have rank profiles in subdirs: schema-name]/[rank-profile].profile - Map.entry(SCHEMAS_DIR, Set.of(SD_NAME_SUFFIX, RANKEXPRESSION_NAME_SUFFIX)), + // Note: Might have rank profiles in subdirs: [schema-name]/[rank-profile].profile + Map.entry(SCHEMAS_DIR, Set.of(SD_NAME_SUFFIX, RANKEXPRESSION_NAME_SUFFIX, RANKPROFILE_NAME_SUFFIX)), Map.entry(Path.fromString(SEARCHCHAINS_DIR), Set.of(".xml")), // Note: Might have rank profiles in subdirs: [schema-name]/[rank-profile].profile - Map.entry(SEARCH_DEFINITIONS_DIR, Set.of(SD_NAME_SUFFIX, RANKEXPRESSION_NAME_SUFFIX)), + Map.entry(SEARCH_DEFINITIONS_DIR, Set.of(SD_NAME_SUFFIX, RANKEXPRESSION_NAME_SUFFIX, RANKPROFILE_NAME_SUFFIX)), Map.entry(SECURITY_DIR, Set.of(".pem"))); } @@ -812,8 +812,8 @@ public class FilesApplicationPackage extends AbstractApplicationPackage { validExtensions.add(".gitignore"); // Special case, since subdirs in schemas/ can have any name - if (isSubDirInSchemas(relativeDirectory)) - validExtensions.add(".profile"); + if (isSchemasSubDir(relativeDirectory)) + validExtensions.add(RANKPROFILE_NAME_SUFFIX); else validExtensions.addAll(validFileExtensions.entrySet().stream() .filter(entry -> entry.getKey() @@ -824,13 +824,13 @@ public class FilesApplicationPackage extends AbstractApplicationPackage { return validExtensions; } - private boolean isSubDirInSchemas(java.nio.file.Path relativeDirectory) { + private boolean isSchemasSubDir(java.nio.file.Path relativeDirectory) { java.nio.file.Path schemasPath = SCHEMAS_DIR.toFile().toPath().getName(0); java.nio.file.Path searchDefinitionsPath = SEARCH_DEFINITIONS_DIR.toFile().toPath().getName(0); - if (relativeDirectory.equals(schemasPath) ||relativeDirectory.equals(searchDefinitionsPath)) return false; + if (List.of(schemasPath, searchDefinitionsPath).contains(relativeDirectory)) return false; return (relativeDirectory.startsWith(schemasPath + "/") - || relativeDirectory.startsWith(SEARCH_DEFINITIONS_DIR.toFile().toPath().getName(0) + "/")); + || relativeDirectory.startsWith(searchDefinitionsPath + "/")); } } diff --git a/config-application-package/src/test/resources/app-with-deployment/schemas/music/default.profile b/config-application-package/src/test/resources/app-with-deployment/schemas/default.profile index a0ab4d8225e..a0ab4d8225e 100644 --- a/config-application-package/src/test/resources/app-with-deployment/schemas/music/default.profile +++ b/config-application-package/src/test/resources/app-with-deployment/schemas/default.profile diff --git a/config-application-package/src/test/resources/app-with-deployment/schemas/music/in-subdir.profile b/config-application-package/src/test/resources/app-with-deployment/schemas/music/in-subdir.profile new file mode 100644 index 00000000000..be6a4449132 --- /dev/null +++ b/config-application-package/src/test/resources/app-with-deployment/schemas/music/in-subdir.profile @@ -0,0 +1,5 @@ +rank-profile in-subdir { + second-phase { + expression: fieldMatch(f) + } +} |