summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-06-03 18:26:07 -0700
committerJesse Morgan <jesse@jesterpm.net>2013-06-03 18:26:07 -0700
commitee39f861d7a5147a8292647488b7dfc0cbeb1cce (patch)
tree49b91d9b3b3c0d45536cdff5a99b774b2cff3e17 /src
parent2689b2e69e77677522bc75cb7d790bc30ff644ab (diff)
Initial frontend which can only serve static pages.
Diffstat (limited to 'src')
-rw-r--r--src/com/p4square/grow/frontend/GrowFrontend.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/com/p4square/grow/frontend/GrowFrontend.java b/src/com/p4square/grow/frontend/GrowFrontend.java
new file mode 100644
index 0000000..7283ea1
--- /dev/null
+++ b/src/com/p4square/grow/frontend/GrowFrontend.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2013 Jesse Morgan <jesse@jesterpm.net>
+ */
+
+package com.p4square.grow.frontend;
+
+import org.restlet.Component;
+import org.restlet.data.Protocol;
+import org.restlet.routing.Router;
+
+import org.apache.log4j.Logger;
+
+import net.jesterpm.fmfacade.FMFacade;
+import net.jesterpm.fmfacade.FreeMarkerPageResource;
+
+/**
+ * This is the Restlet Application implementing the Grow project front-end.
+ * It's implemented as an extension of FMFacade that connects interactive pages
+ * with various ServerResources. This class provides a main method to start a
+ * Jetty instance for testing.
+ *
+ * @author Jesse Morgan <jesse@jesterpm.net>
+ */
+public class GrowFrontend extends FMFacade {
+ private static Logger cLog = Logger.getLogger(GrowFrontend.class);
+
+ /**
+ * Stand-alone main for testing.
+ */
+ public static void main(String[] args) {
+ // Start the HTTP Server
+ final Component component = new Component();
+ component.getServers().add(Protocol.HTTP, 8085);
+ component.getClients().add(Protocol.HTTP);
+ component.getDefaultHost().attach(new GrowFrontend());
+
+ // Setup shutdown hook
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ public void run() {
+ try {
+ component.stop();
+ } catch (Exception e) {
+ cLog.error("Exception during cleanup", e);
+ }
+ }
+ });
+
+ cLog.info("Starting server...");
+
+ try {
+ component.start();
+ } catch (Exception e) {
+ cLog.fatal("Could not start: " + e.getMessage(), e);
+ }
+ }
+}