aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/Config.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2012-11-27 16:24:01 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2012-12-07 20:06:42 +0100
commit041bab815c5c554169835993735b8e5c35d436ed (patch)
tree473774956540013316dc10bd8428350c15f20933 /src/main/java/io/trygvis/esper/testing/Config.java
parente243a6fd6c444b451398ceb659ea4963a19122d0 (diff)
downloadesper-testing-041bab815c5c554169835993735b8e5c35d436ed.tar.gz
esper-testing-041bab815c5c554169835993735b8e5c35d436ed.tar.bz2
esper-testing-041bab815c5c554169835993735b8e5c35d436ed.tar.xz
esper-testing-041bab815c5c554169835993735b8e5c35d436ed.zip
o Switching the gitorious code to the actor structure.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/Config.java')
-rwxr-xr-xsrc/main/java/io/trygvis/esper/testing/Config.java48
1 files changed, 36 insertions, 12 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/Config.java b/src/main/java/io/trygvis/esper/testing/Config.java
index ca0e6ff..31b39dc 100755
--- a/src/main/java/io/trygvis/esper/testing/Config.java
+++ b/src/main/java/io/trygvis/esper/testing/Config.java
@@ -1,7 +1,5 @@
package io.trygvis.esper.testing;
-import ch.qos.logback.classic.*;
-import ch.qos.logback.core.util.*;
import com.jolbox.bonecp.*;
import fj.data.*;
import static fj.data.Option.*;
@@ -14,8 +12,31 @@ import java.util.*;
import java.util.concurrent.atomic.*;
public class Config {
- public final String gitoriousUrl;
- public final Option<String> gitoriousSessionValue;
+ public static class GitoriousConfig {
+ public final String url;
+ public final Option<String> sessionValue;
+
+ public final long projectListUpdateDelay;
+
+ public final long projectListUpdateInterval;
+
+ public GitoriousConfig(String url, Option<String> sessionValue, long projectListUpdateDelay, long projectListUpdateInterval) {
+ this.url = url;
+ this.sessionValue = sessionValue;
+ this.projectListUpdateDelay = projectListUpdateDelay;
+ this.projectListUpdateInterval = projectListUpdateInterval;
+ }
+
+ public static GitoriousConfig fromProperties(Properties properties) {
+ String key = "gitorious.sessionValue";
+ return new GitoriousConfig(trimToNull(properties.getProperty("gitorious.url")),
+ getProperty(properties, key),
+ getProperty(properties, "gitorious.projectListUpdateDelay").bind(parseLong).valueE("Missing/bad value for 'gitorious.projectListUpdateDelay'"),
+ getProperty(properties, "gitorious.projectListUpdateInterval").bind(parseLong).valueE("Missing/bad value for 'gitorious.projectListUpdateInterval'"));
+ }
+ }
+
+ public final GitoriousConfig gitorious;
public final long nexusUpdateInterval;
@@ -23,9 +44,8 @@ public class Config {
public final String databaseUsername;
public final String databasePassword;
- public Config(String gitoriousUrl, Option<String> gitoriousSessionValue, long nexusUpdateInterval, String databaseUrl, String databaseUsername, String databasePassword) {
- this.gitoriousUrl = gitoriousUrl;
- this.gitoriousSessionValue = gitoriousSessionValue;
+ public Config(GitoriousConfig gitorious, long nexusUpdateInterval, String databaseUrl, String databaseUsername, String databasePassword) {
+ this.gitorious = gitorious;
this.nexusUpdateInterval = nexusUpdateInterval;
this.databaseUrl = databaseUrl;
this.databaseUsername = databaseUsername;
@@ -40,17 +60,17 @@ public class Config {
properties.load(inputStream);
}
- return new Config(trimToNull(properties.getProperty("gitorious.url")),
- fromNull(trimToNull(properties.getProperty("gitorious.sessionValue"))),
- fromNull(trimToNull(properties.getProperty("nexus.updateInterval"))).bind(parseInt).some() * 1000,
+ return new Config(GitoriousConfig.fromProperties(properties),
+ getProperty(properties, "nexus.updateInterval").bind(parseInt).valueE("Missing required property: nexus.updateInterval") * 1000,
trimToNull(properties.getProperty("database.url")),
trimToNull(properties.getProperty("database.username")),
trimToNull(properties.getProperty("database.password")));
}
private static void initLogging() {
- LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
- StatusPrinter.print(lc);
+ LoggerFactory.getILoggerFactory();
+// LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+// StatusPrinter.print(lc);
}
public BoneCPDataSource createBoneCp() throws SQLException {
@@ -78,4 +98,8 @@ public class Config {
}
});
}
+
+ private static Option<String> getProperty(Properties properties, String key) {
+ return fromNull(trimToNull(properties.getProperty(key)));
+ }
}