Merge pull request #3358 from dreis2211/config-parent-cache

Cache ConfigurationFile.parent()
This commit is contained in:
Reinier Zwitserloot authored and GitHub committed 2023-03-21 17:39:34 +01:00
commit 79c5d2dfd3
1 file changed
+7 -3
@@ -110,7 +110,8 @@ public abstract class ConfigurationFile {
private static class RegularConfigurationFile extends ConfigurationFile { private static class RegularConfigurationFile extends ConfigurationFile {
private final File file; private final File file;
private ConfigurationFile parent;
private RegularConfigurationFile(File file) { private RegularConfigurationFile(File file) {
super(file.getPath()); super(file.getPath());
this.file = file; this.file = file;
@@ -173,8 +174,11 @@ public abstract class ConfigurationFile {
} }
@Override ConfigurationFile parent() { @Override ConfigurationFile parent() {
File parent = file.getParentFile().getParentFile(); if (parent == null) {
return parent == null ? null : forDirectory(parent); File parentFile = file.getParentFile().getParentFile();
parent = parentFile == null ? null : forDirectory(parentFile);
}
return parent;
} }
private static String replaceEnvironmentVariables(String fileName) { private static String replaceEnvironmentVariables(String fileName) {