aboutsummaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-04-27 23:18:58 +0200
committerHarald Musum <musum@yahooinc.com>2022-04-27 23:18:58 +0200
commit03f1ea79f5a6ad8d32eaf03b77172e04eab1e0d7 (patch)
treead678ee263175a9c4457124ba78169babbb89f2d /config-application-package
parentcd04e0c3a06499971c82678e88510b257d4d6faa (diff)
Validate files only, allow anything in models/ for now
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java11
-rw-r--r--config-application-package/src/test/resources/app-with-deployment/search/query-profiles/types/root.xml3
2 files changed, 9 insertions, 5 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 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 @@
+<query-profile-type id="root" inherits="native">
+ <field name="ranking.features.query(tensor)" type="tensor(x{},y[3])" />
+</query-profile-type>