package com.rectang.xsm.dist; import org.mortbay.jetty.Connector; import org.mortbay.jetty.Server; import org.mortbay.jetty.nio.SelectChannelConnector; import org.mortbay.jetty.webapp.WebAppContext; import java.lang.Exception; import java.lang.String; /** * A simple bootstrapping class for XSM outside of a web container. * <p/> * Created: 23/12/2012 * * @author Andrew Williams * @since 2.0 */ public class Main { public static void main( String[] arguments ) throws Exception { printWelcome(); startServer( getWarPath( arguments ), 9090 ); } private static void printWelcome() { System.out.println(); System.out.println( " _ ____ __ __ _ " ); System.out.println( " \\ \\ / / ) ____) | | " ); System.out.println( " \\ \\/ / ( (___ | |\\/| | " ); System.out.println( " > < \\___ \\ | | | | " ); System.out.println( " / /\\ \\ ____) ) | | | | " ); System.out.println( " _/ /__\\ \\_( (__| |__| |_ " ); System.out.println(); } private static String getWarPath( String[] arguments ) { if ( arguments.length > 0 ) { return arguments[0]; } return "xsm.war"; } private static void startServer( String war, int port ) throws Exception { Server server = new Server(); Connector connector = new SelectChannelConnector(); connector.setPort( 9090 ); server.addConnector( connector ); WebAppContext webAppContext = new WebAppContext(); webAppContext.setContextPath( "/" ); webAppContext.setWar( war ); server.setHandler( webAppContext ); server.start(); server.join(); } }