diff options
Diffstat (limited to 'src/com/p4square')
-rw-r--r-- | src/com/p4square/grow/GrowProcessComponent.java | 59 | ||||
-rw-r--r-- | src/com/p4square/grow/backend/GrowBackend.java | 23 | ||||
-rw-r--r-- | src/com/p4square/grow/frontend/GrowFrontend.java | 20 |
3 files changed, 68 insertions, 34 deletions
diff --git a/src/com/p4square/grow/GrowProcessComponent.java b/src/com/p4square/grow/GrowProcessComponent.java new file mode 100644 index 0000000..4196a5e --- /dev/null +++ b/src/com/p4square/grow/GrowProcessComponent.java @@ -0,0 +1,59 @@ +/* + * Copyright 2013 Jesse Morgan + */ + +package com.p4square.grow; + +import org.restlet.Component; +import org.restlet.data.Protocol; + +import com.p4square.grow.backend.GrowBackend; +import com.p4square.grow.config.Config; +import com.p4square.grow.frontend.GrowFrontend; + +/** + * + * @author Jesse Morgan <jesse@jesterpm.net> + */ +public class GrowProcessComponent extends Component { + private final Config mConfig; + + /** + * Create a new Grow Process website component combining a frontend and backend. + */ + public GrowProcessComponent() throws Exception { + // Clients + getClients().add(Protocol.FILE); + getClients().add(Protocol.HTTP); + getClients().add(Protocol.HTTPS); + + // Prepare mConfig + mConfig = new Config(); + + // Frontend + GrowFrontend frontend = new GrowFrontend(mConfig); + getDefaultHost().attach(frontend); + + // Backend + GrowBackend backend = new GrowBackend(mConfig); + getInternalRouter().attach("/backend", backend); + } + + @Override + public void start() throws Exception { + // Load mConfigs + mConfig.updateConfig(this.getClass().getResourceAsStream("/grow.properties")); + + String configDomain = getContext().getParameters().getFirstValue("com.p4square.grow.configDomain"); + if (configDomain != null) { + mConfig.setDomain(configDomain); + } + + String configFilename = getContext().getParameters().getFirstValue("com.p4square.grow.configFile"); + if (configFilename != null) { + mConfig.updateConfig(configFilename); + } + + super.start(); + } +} diff --git a/src/com/p4square/grow/backend/GrowBackend.java b/src/com/p4square/grow/backend/GrowBackend.java index 09c1d84..7da6fff 100644 --- a/src/com/p4square/grow/backend/GrowBackend.java +++ b/src/com/p4square/grow/backend/GrowBackend.java @@ -34,7 +34,11 @@ public class GrowBackend extends Application { private final CassandraDatabase mDatabase; public GrowBackend() { - mConfig = new Config(); + this(new Config()); + } + + public GrowBackend(Config config) { + mConfig = config; mDatabase = new CassandraDatabase(); } @@ -71,23 +75,6 @@ public class GrowBackend extends Application { public void start() throws Exception { super.start(); - // Load config - final String configDomain = - getContext().getParameters().getFirstValue("configDomain"); - if (configDomain != null) { - mConfig.setDomain(configDomain); - } - - mConfig.updateConfig(this.getClass().getResourceAsStream("/grow.properties")); - - final String configFilename = - getContext().getParameters().getFirstValue("configFile"); - - if (configFilename != null) { - LOG.info("Loading configuration from " + configFilename); - mConfig.updateConfig(configFilename); - } - // Setup database mDatabase.setClusterName(mConfig.getString("clusterName", "Dev Cluster")); mDatabase.setKeyspaceName(mConfig.getString("keyspace", "GROW")); diff --git a/src/com/p4square/grow/frontend/GrowFrontend.java b/src/com/p4square/grow/frontend/GrowFrontend.java index 305622d..a1e3488 100644 --- a/src/com/p4square/grow/frontend/GrowFrontend.java +++ b/src/com/p4square/grow/frontend/GrowFrontend.java @@ -55,28 +55,16 @@ public class GrowFrontend extends FMFacade { mConfig = new Config(); } + public GrowFrontend(Config config) { + mConfig = config; + } + public Config getConfig() { return mConfig; } @Override public synchronized void start() throws Exception { - final String configDomain = - getContext().getParameters().getFirstValue("configDomain"); - if (configDomain != null) { - mConfig.setDomain(configDomain); - } - - mConfig.updateConfig(this.getClass().getResourceAsStream("/grow.properties")); - - final String configFilename = - getContext().getParameters().getFirstValue("configFile"); - - if (configFilename != null) { - LOG.info("Loading configuration from " + configFilename); - mConfig.updateConfig(configFilename); - } - Template errorTemplate = getTemplate("templates/error.ftl"); if (errorTemplate != null) { ErrorPage.setTemplate(errorTemplate); |