James Moger
2014-03-07 4affd0a3a4fe086b31a87d56616f74093d2ac715
src/main/java/com/gitblit/FileSettings.java
@@ -32,7 +32,7 @@
 */
public class FileSettings extends IStoredSettings {
   protected final File propertiesFile;
   protected File propertiesFile;
   private final Properties properties = new Properties();
@@ -40,9 +40,32 @@
   private volatile boolean forceReload;
   public FileSettings(String file) {
   public FileSettings() {
      super(FileSettings.class);
   }
   public FileSettings(String file) {
      this();
      load(file);
   }
   public void load(String file) {
      this.propertiesFile = new File(file);
   }
   /**
    * Merges the provided settings into this instance.  This will also
    * set the target file for this instance IFF it is unset AND the merge
    * source is also a FileSettings.  This is a little sneaky.
    */
   @Override
   public void merge(IStoredSettings settings) {
      super.merge(settings);
      // sneaky: set the target file from the merge source
      if (propertiesFile == null && settings instanceof FileSettings) {
         this.propertiesFile = ((FileSettings) settings).propertiesFile;
      }
   }
   /**
@@ -51,7 +74,7 @@
    */
   @Override
   protected synchronized Properties read() {
      if (propertiesFile.exists() && (forceReload || (propertiesFile.lastModified() > lastModified))) {
      if (propertiesFile != null && propertiesFile.exists() && (forceReload || (propertiesFile.lastModified() > lastModified))) {
         FileInputStream is = null;
         try {
            Properties props = new Properties();