summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow/frontend/GrowFrontend.java
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-06-04 21:16:00 -0700
committerJesse Morgan <jesse@jesterpm.net>2013-06-04 21:16:00 -0700
commitf4c2eb2dafbca580319a9f50ef4f5dd68d658702 (patch)
tree6b393681913cd41c21583120f01452d0b5995a51 /src/com/p4square/grow/frontend/GrowFrontend.java
parent3b6dc4955f0aa67b2610b1bc90f156dd9a9d6cab (diff)
Adding config support.
Diffstat (limited to 'src/com/p4square/grow/frontend/GrowFrontend.java')
-rw-r--r--src/com/p4square/grow/frontend/GrowFrontend.java42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/com/p4square/grow/frontend/GrowFrontend.java b/src/com/p4square/grow/frontend/GrowFrontend.java
index 72e2a8f..e3662d5 100644
--- a/src/com/p4square/grow/frontend/GrowFrontend.java
+++ b/src/com/p4square/grow/frontend/GrowFrontend.java
@@ -13,6 +13,8 @@ import org.apache.log4j.Logger;
import net.jesterpm.fmfacade.FMFacade;
import net.jesterpm.fmfacade.FreeMarkerPageResource;
+import com.p4square.grow.config.Config;
+
/**
* This is the Restlet Application implementing the Grow project front-end.
* It's implemented as an extension of FMFacade that connects interactive pages
@@ -24,6 +26,34 @@ import net.jesterpm.fmfacade.FreeMarkerPageResource;
public class GrowFrontend extends FMFacade {
private static Logger cLog = Logger.getLogger(GrowFrontend.class);
+ private Config mConfig;
+
+ public GrowFrontend() {
+ mConfig = new Config();
+ }
+
+ public Config getConfig() {
+ return mConfig;
+ }
+
+ @Override
+ public void start() throws Exception {
+ super.start();
+
+ final String configDomain =
+ getContext().getParameters().getFirstValue("config-domain");
+ if (configDomain != null) {
+ mConfig.setDomain(configDomain);
+ }
+
+ final String configFilename =
+ getContext().getParameters().getFirstValue("config-file");
+
+ if (configFilename != null) {
+ mConfig.updateConfig(configFilename);
+ }
+ }
+
@Override
protected Router createRouter() {
Router router = new Router(getContext());
@@ -54,7 +84,17 @@ public class GrowFrontend extends FMFacade {
final Component component = new Component();
component.getServers().add(Protocol.HTTP, 8085);
component.getClients().add(Protocol.HTTP);
- component.getDefaultHost().attach(new GrowFrontend());
+
+ // Setup App
+ GrowFrontend app = new GrowFrontend();
+
+ // Load an optional config file from the first argument.
+ app.getConfig().setDomain("dev");
+ if (args.length == 1) {
+ app.getConfig().updateConfig(args[0]);
+ }
+
+ component.getDefaultHost().attach(app);
// Setup shutdown hook
Runtime.getRuntime().addShutdownHook(new Thread() {