From 03f1ea79f5a6ad8d32eaf03b77172e04eab1e0d7 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 27 Apr 2022 23:18:58 +0200 Subject: Validate files only, allow anything in models/ for now --- .../model/application/provider/FilesApplicationPackage.java | 11 ++++++----- .../app-with-deployment/search/query-profiles/types/root.xml | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 config-application-package/src/test/resources/app-with-deployment/search/query-profiles/types/root.xml (limited to 'config-application-package') 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 ce33332cf13..6f94ef5454d 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 @@ -753,13 +753,14 @@ public class FilesApplicationPackage extends AbstractApplicationPackage { public void validateFileExtensions(boolean throwIfInvalid) { validFileExtensions.forEach((key, value) -> { java.nio.file.Path path = appDir.toPath().resolve((key.toFile().toPath())); - File dir = path.toFile(); - if ( ! dir.exists() || ! dir.isDirectory()) return; + File subDirectory = path.toFile(); + if ( ! subDirectory.exists() || ! subDirectory.isDirectory()) return; try (var filesInPath = Files.list(path)) { - filesInPath.forEach(f -> validateFileSuffix(path, f, value, throwIfInvalid)); + filesInPath.filter(filePath -> filePath.toFile().isFile()) + .forEach(f -> validateFileSuffix(path, f, value, throwIfInvalid)); } catch (IOException e) { - log.log(Level.WARNING, "Unable to list files in " + dir, e); + log.log(Level.WARNING, "Unable to list files in " + subDirectory, e); } }); } @@ -769,7 +770,7 @@ public class FilesApplicationPackage extends AbstractApplicationPackage { Map.entry(Path.fromString(COMPONENT_DIR), Set.of(".jar")), Map.entry(CONSTANTS_DIR, Set.of(".json", ".json.lz4")), Map.entry(Path.fromString(DOCPROCCHAINS_DIR), Set.of(".xml")), - Map.entry(MODELS_DIR, Set.of(".model")), + // Map.entry(MODELS_DIR, Set.of(".model")), TODO: Enable on Vespa 8 Map.entry(PAGE_TEMPLATES_DIR, Set.of(".xml")), Map.entry(Path.fromString(PROCESSORCHAINS_DIR), Set.of(".xml")), Map.entry(QUERY_PROFILES_DIR, Set.of(".xml")), diff --git a/config-application-package/src/test/resources/app-with-deployment/search/query-profiles/types/root.xml b/config-application-package/src/test/resources/app-with-deployment/search/query-profiles/types/root.xml new file mode 100644 index 00000000000..8e45f9e36d6 --- /dev/null +++ b/config-application-package/src/test/resources/app-with-deployment/search/query-profiles/types/root.xml @@ -0,0 +1,3 @@ + + + -- cgit v1.2.3