From 793f76563d4bb3f58fa62ff53985e20561c6e330 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 01 Jun 2011 21:01:51 -0400
Subject: [PATCH] Refactored some unit tests and utils.
---
src/com/gitblit/FileSettings.java | 36 +++++++++++++++++++++++++++---------
1 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/src/com/gitblit/FileSettings.java b/src/com/gitblit/FileSettings.java
index 04430a5..01176c0 100644
--- a/src/com/gitblit/FileSettings.java
+++ b/src/com/gitblit/FileSettings.java
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import java.util.regex.PatternSyntaxException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,11 +32,17 @@
*/
public class FileSettings implements IStoredSettings {
+ private final Logger logger = LoggerFactory.getLogger(FileSettings.class);
+
+ private final File propertiesFile;
+
private Properties properties = new Properties();
- private long lastread = 0;
+ private long lastread;
- private final Logger logger = LoggerFactory.getLogger(FileSettings.class);
+ public FileSettings(String file) {
+ this.propertiesFile = new File(file);
+ }
@Override
public List<String> getAllKeys(String startingWith) {
@@ -131,28 +138,39 @@
strings.add(chunk);
}
}
- } catch (Exception e) {
+ } catch (PatternSyntaxException e) {
+ logger.error("Failed to parse " + value, e);
}
return strings;
}
private synchronized Properties read() {
- File file = new File(Constants.PROPERTIES_FILE);
- if (file.exists() && (file.lastModified() > lastread)) {
+ if (propertiesFile.exists() && (propertiesFile.lastModified() > lastread)) {
+ FileInputStream is = null;
try {
properties = new Properties();
- properties.load(new FileInputStream(Constants.PROPERTIES_FILE));
- lastread = file.lastModified();
+ is = new FileInputStream(propertiesFile);
+ properties.load(is);
+ lastread = propertiesFile.lastModified();
} catch (FileNotFoundException f) {
+ // IGNORE - won't happen because file.exists() check above
} catch (Throwable t) {
t.printStackTrace();
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (Throwable t) {
+ // IGNORE
+ }
+ }
}
}
return properties;
}
-
+
@Override
public String toString() {
- return new File(Constants.PROPERTIES_FILE).getAbsolutePath();
+ return propertiesFile.getAbsolutePath();
}
}
--
Gitblit v1.9.1