summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-10-27 08:58:39 -0400
committerJames Moger <james.moger@gitblit.com>2014-10-27 08:58:39 -0400
commit17ae31a20e9ad1294bc8a872644d90d61a9dd890 (patch)
treedc5b4cd697a58bd4f2fbc544812cb69900ea85c6 /src/main/java
parent3ef46ee3e4a58a78b7cb6fe6c0b6f45da4ae21b9 (diff)
downloadgitblit-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/.gitignore1
-rw-r--r--src/main/java/com/gitblit/FileSettings.java30
-rw-r--r--src/main/java/com/gitblit/manager/GitblitManager.java9
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'");
}
}