package org.jgrasstools.geopaparazzi; import java.io.File; import java.util.logging.Logger; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.webapp.WebAppContext; import org.jgrasstools.geopaparazzi.simpleserver.DisabledLogging; import org.jgrasstools.geopaparazzi.simpleserver.EmbeddedJspServer; import org.jgrasstools.geopaparazzi.simpleserver.servlets.ProjectDownloadHandler; import org.jgrasstools.geopaparazzi.simpleserver.servlets.ProjectListHandler; import org.jgrasstools.geopaparazzi.simpleserver.servlets.ProjectUploadHandler; import org.jgrasstools.geopaparazzi.simpleserver.servlets.WelcomeHandler; public class GeopaparazziServer extends EmbeddedJspServer { private static final Logger LOG = Logger.getLogger(GeopaparazziServer.class.getName()); public static String PROJECTS_FOLDER_KEY = "PROJECTS_FOLDER_KEY"; public static String DATA_FOLDER_KEY = "DATA_FOLDER_KEY"; private File gpapProjectsFolder; public GeopaparazziServer( Integer port, File gpapProjectsFolder ) throws Exception { super(port, null); this.gpapProjectsFolder = gpapProjectsFolder; } @Override public void stop() { // in case stop stuff here try { super.stop(); } catch (Exception e) { LOG.severe("Error: " + e.getMessage()); e.printStackTrace(); } } @Override protected void configureWebAppContext( WebAppContext webapp ) { } @Override protected void configureServletHandler( ServletHandler servletHandler ) { } @Override protected void doPreStart() { ContextHandler welcomeContext = new ContextHandler("/"); welcomeContext.setContextPath("/"); welcomeContext.setHandler(new WelcomeHandler(gpapProjectsFolder)); ContextHandler projectsListContext = new ContextHandler("/stage_gplist_download"); projectsListContext.setHandler(new ProjectListHandler(gpapProjectsFolder)); ContextHandler projectDownloadContext = new ContextHandler("/stage_gpproject_download"); projectDownloadContext.setHandler(new ProjectDownloadHandler(gpapProjectsFolder)); ContextHandler projectUploadContext = new ContextHandler("/stage_gpproject_upload"); projectUploadContext.setHandler(new ProjectUploadHandler(gpapProjectsFolder)); ContextHandlerCollection contexts = new ContextHandlerCollection(); contexts.setHandlers(new Handler[]{welcomeContext, projectDownloadContext, projectUploadContext, projectsListContext}); _server.setHandler(contexts); } public static void main( String[] args ) throws Exception { org.eclipse.jetty.util.log.Log.setLog(new DisabledLogging()); File gpapProjectsFolder = new File("/home/hydrologis/Dropbox/geopaparazzi/projects"); // File dataFolder = new File("/home/hydrologis/data/"); GeopaparazziServer jspServer = new GeopaparazziServer(8081, gpapProjectsFolder); jspServer.start(); } }