Package st.gravel.tools

Source Code of st.gravel.tools.StartJetty

package st.gravel.tools;

import java.io.File;
import java.net.URL;

import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

import st.gravel.support.jvm.runtime.ImageBootstrapper;
import st.gravel.support.jvm.runtime.MethodTools;

public class StartJetty {

  public static void main(String[] args) throws Exception {
    File fn;
    int port = 8080;
    if (args.length == 0) {
      fn = ImageBootstrapper.defaultSourceFolder();
    } else {
      fn = new File(args[0]);
      if (args.length != 1) {
        port = Integer.parseInt(args[1]);
      }
    }
    ImageBootstrapper.bootstrap(fn);
    Server server = new Server(port);

    ServletContextHandler servletContext = new ServletContextHandler(
        ServletContextHandler.SESSIONS);
    servletContext.setContextPath("/browser");
   
    ResourceHandler staticFilesHandler = new ResourceHandler();

      staticFilesHandler.setResourceBase("src/main/html");

      HandlerList handlers = new HandlerList();
      handlers.setHandlers(new Handler[] {servletContext, staticFilesHandler, new DefaultHandler() });
     
     
    Object stServlet = getStServlet();

    servletContext.addServlet(new ServletHolder(new JettyToStHttpServletConverter(stServlet)), "/*");

    server.setHandler(handlers);
    server.start();
    server.join();
  }

  public static Object getStServlet() {
    Object appClass = ImageBootstrapper.systemMapping.singletonAtReferenceString_("st.gravel.ide.browser.BrowserApplication");
    Object stServlet = MethodTools.safePerform(appClass, "asServlet");
    return stServlet;
  }
}
TOP

Related Classes of st.gravel.tools.StartJetty

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.