summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-01-24 13:56:04 +0000
committerArne Juul <arnej@yahooinc.com>2023-01-24 14:00:10 +0000
commit091e1b11ecfeb09025cea8316c681e1e8da8c6ea (patch)
treee0d240e63c3b1f01021b51aeeab6cedc4553154b /config-application-package
parent16b5b25f8c7512c122bb3e7c1cd5c412f8506c48 (diff)
ignore ._foo.sd and other "resource fork" like names
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java14
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java4
2 files changed, 16 insertions, 2 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
index c616784c7be..005c54498fc 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/AbstractApplicationPackage.java
@@ -41,4 +41,18 @@ public abstract class AbstractApplicationPackage implements ApplicationPackage {
return result;
}
+ public static boolean validSchemaFilename(String fn) {
+ if (! fn.endsWith(SD_NAME_SUFFIX)) {
+ return false;
+ }
+ int lastSlash = fn.lastIndexOf('/');
+ if (lastSlash >= 0) {
+ fn = fn.substring(lastSlash+1);
+ }
+ if (fn.startsWith(".")) {
+ return false;
+ }
+ return true;
+ }
+
}
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 c095b9ad586..5707206019f 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
@@ -432,11 +432,11 @@ public class FilesApplicationPackage extends AbstractApplicationPackage {
File sdDir = applicationFile(appDir, SEARCH_DEFINITIONS_DIR.getRelative());
if (sdDir.isDirectory())
- schemaFiles.addAll(Arrays.asList(sdDir.listFiles((dir, name) -> name.matches(".*\\" + SD_NAME_SUFFIX))));
+ schemaFiles.addAll(Arrays.asList(sdDir.listFiles((dir, name) -> validSchemaFilename(name))));
sdDir = applicationFile(appDir, SCHEMAS_DIR.getRelative());
if (sdDir.isDirectory())
- schemaFiles.addAll(Arrays.asList(sdDir.listFiles((dir, name) -> name.matches(".*\\" + SD_NAME_SUFFIX))));
+ schemaFiles.addAll(Arrays.asList(sdDir.listFiles((dir, name) -> validSchemaFilename(name))));
return schemaFiles;
}