diff options
author | James Moger <james.moger@gitblit.com> | 2014-10-27 08:58:39 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-10-27 08:58:39 -0400 |
commit | 17ae31a20e9ad1294bc8a872644d90d61a9dd890 (patch) | |
tree | dc5b4cd697a58bd4f2fbc544812cb69900ea85c6 /src/main/java | |
parent | 3ef46ee3e4a58a78b7cb6fe6c0b6f45da4ae21b9 (diff) | |
download | gitblit-17ae31a20e9ad1294bc8a872644d90d61a9dd890.tar.gz gitblit-17ae31a20e9ad1294bc8a872644d90d61a9dd890.zip |
Adopt chain-loading properties as the default setup
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/.gitignore | 1 | ||||
-rw-r--r-- | src/main/java/com/gitblit/FileSettings.java | 30 | ||||
-rw-r--r-- | src/main/java/com/gitblit/manager/GitblitManager.java | 9 |
3 files changed, 24 insertions, 16 deletions
diff --git a/src/main/java/.gitignore b/src/main/java/.gitignore index b978906e..92bb4afa 100644 --- a/src/main/java/.gitignore +++ b/src/main/java/.gitignore @@ -1 +1,2 @@ /clientapps.json +/defaults.properties diff --git a/src/main/java/com/gitblit/FileSettings.java b/src/main/java/com/gitblit/FileSettings.java index 2f5f04f2..3caf966b 100644 --- a/src/main/java/com/gitblit/FileSettings.java +++ b/src/main/java/com/gitblit/FileSettings.java @@ -80,6 +80,7 @@ public class FileSettings extends IStoredSettings { if (propertiesFile != null && propertiesFile.exists() && (forceReload || (propertiesFile.lastModified() > lastModified))) {
FileInputStream is = null;
try {
+ logger.debug("loading {}", propertiesFile);
Properties props = new Properties();
is = new FileInputStream(propertiesFile);
props.load(is);
@@ -124,9 +125,13 @@ public class FileSettings extends IStoredSettings { if (!StringUtils.isEmpty(include)) {
// allow for multiples
- List<String> names = StringUtils.getStringsFromValue(include, " ");
+ List<String> names = StringUtils.getStringsFromValue(include, ",");
for (String name : names) {
+ if (StringUtils.isEmpty(name)) {
+ continue;
+ }
+
// try co-located
File file = new File(propertiesFile.getParentFile(), name.trim());
if (!file.exists()) {
@@ -134,17 +139,20 @@ public class FileSettings extends IStoredSettings { file = new File(name.trim());
}
- if (file.exists()) {
- // load properties
- try (FileInputStream iis = new FileInputStream(file)) {
- baseProperties.load(iis);
- }
-
- // read nested includes
- baseProperties = readIncludes(baseProperties);
+ if (!file.exists()) {
+ logger.warn("failed to locate {}", file);
+ continue;
+ }
+ // load properties
+ logger.debug("loading {}", file);
+ try (FileInputStream iis = new FileInputStream(file)) {
+ baseProperties.load(iis);
}
+ // read nested includes
+ baseProperties = readIncludes(baseProperties);
+
}
}
@@ -163,7 +171,7 @@ public class FileSettings extends IStoredSettings { String content = FileUtils.readContent(propertiesFile, "\n");
for (String key : removals) {
String regex = "(?m)^(" + regExEscape(key) + "\\s*+=\\s*+)"
- + "(?:[^\r\n\\\\]++|\\\\(?:\r?\n|\r|.))*+$";
+ + "(?:[^\r\n\\\\]++|\\\\(?:\r?\n|\r|.))*+$";
content = content.replaceAll(regex, "");
}
removals.clear();
@@ -183,7 +191,7 @@ public class FileSettings extends IStoredSettings { String content = FileUtils.readContent(propertiesFile, "\n");
for (Map.Entry<String, String> setting:settings.entrySet()) {
String regex = "(?m)^(" + regExEscape(setting.getKey()) + "\\s*+=\\s*+)"
- + "(?:[^\r\n\\\\]++|\\\\(?:\r?\n|\r|.))*+$";
+ + "(?:[^\r\n\\\\]++|\\\\(?:\r?\n|\r|.))*+$";
String oldContent = content;
content = content.replaceAll(regex, setting.getKey() + " = " + setting.getValue());
if (content.equals(oldContent)) {
diff --git a/src/main/java/com/gitblit/manager/GitblitManager.java b/src/main/java/com/gitblit/manager/GitblitManager.java index 09e261fa..9692e654 100644 --- a/src/main/java/com/gitblit/manager/GitblitManager.java +++ b/src/main/java/com/gitblit/manager/GitblitManager.java @@ -77,7 +77,6 @@ import com.gitblit.tickets.ITicketService; import com.gitblit.transport.ssh.IPublicKeyManager; import com.gitblit.transport.ssh.SshKey; import com.gitblit.utils.ArrayUtils; -import com.gitblit.utils.HttpUtils; import com.gitblit.utils.JsonUtils; import com.gitblit.utils.ObjectCache; import com.gitblit.utils.StringUtils; @@ -88,8 +87,8 @@ import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import com.google.inject.Inject; import com.google.inject.Injector; -import com.google.inject.Singleton; import com.google.inject.Provider; +import com.google.inject.Singleton; /** * GitblitManager is an aggregate interface delegate. It implements all the manager @@ -441,7 +440,7 @@ public class GitblitManager implements IGitblit { // Read bundled Gitblit properties to extract setting descriptions. // This copy is pristine and only used for populating the setting // models map. - InputStream is = GitblitManager.class.getResourceAsStream("/reference.properties"); + InputStream is = GitblitManager.class.getResourceAsStream("/defaults.properties"); BufferedReader propertiesReader = new BufferedReader(new InputStreamReader(is)); StringBuilder description = new StringBuilder(); SettingModel setting = new SettingModel(); @@ -486,9 +485,9 @@ public class GitblitManager implements IGitblit { } propertiesReader.close(); } catch (NullPointerException e) { - logger.error("Failed to find resource copy of gitblit.properties"); + logger.error("Failed to find classpath resource 'defaults.properties'"); } catch (IOException e) { - logger.error("Failed to load resource copy of gitblit.properties"); + logger.error("Failed to load classpath resource 'defaults.properties'"); } } |