From 53a83f67aef203379e43a9ed89ccfcb16c16200e Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 27 Mar 2014 09:47:26 -0400 Subject: [PATCH] Implement setting removal for configuration settings --- src/main/java/com/gitblit/FileSettings.java | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gitblit/FileSettings.java b/src/main/java/com/gitblit/FileSettings.java index d31fc2f..21a2043 100644 --- a/src/main/java/com/gitblit/FileSettings.java +++ b/src/main/java/com/gitblit/FileSettings.java @@ -103,6 +103,23 @@ return properties; } + @Override + public boolean saveSettings() { + String content = FileUtils.readContent(propertiesFile, "\n"); + for (String key : removals) { + String regex = "(?m)^(" + regExEscape(key) + "\\s*+=\\s*+)" + + "(?:[^\r\n\\\\]++|\\\\(?:\r?\n|\r|.))*+$"; + content = content.replaceAll(regex, ""); + } + removals.clear(); + + FileUtils.writeContent(propertiesFile, content); + // manually set the forceReload flag because not all JVMs support real + // millisecond resolution of lastModified. (issue-55) + forceReload = true; + return true; + } + /** * Updates the specified settings in the settings file. */ -- Gitblit v1.9.1