diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2013-06-03 18:26:07 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2013-06-03 18:26:07 -0700 |
commit | ee39f861d7a5147a8292647488b7dfc0cbeb1cce (patch) | |
tree | 49b91d9b3b3c0d45536cdff5a99b774b2cff3e17 /src | |
parent | 2689b2e69e77677522bc75cb7d790bc30ff644ab (diff) |
Initial frontend which can only serve static pages.
Diffstat (limited to 'src')
-rw-r--r-- | src/com/p4square/grow/frontend/GrowFrontend.java | 56 |
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); + } + } +} |