{
repo.root.mkdirs();
}
repo.server = new Server();
ContextHandlerCollection contexts = new ContextHandlerCollection();
repo.server.setHandler( contexts );
SocketConnector connector = new SocketConnector();
connector.setPort( 0 ); // 0 means, choose and empty port. (we'll find out which, later)
repo.server.setConnectors( new Connector[] { connector } );
ContextHandler context = new ContextHandler();
context.setContextPath( repo.context );
context.setResourceBase( repo.root.getAbsolutePath() );
context.setAttribute( "dirAllowed", true );
context.setAttribute( "maxCacheSize", 0 );
ServletHandler servlet = new ServletHandler();
servlet.addServletWithMapping( DefaultServlet.class.getName(), "/" );
context.setHandler( servlet );
contexts.addHandler( context );
repo.server.start();
int port = connector.getLocalPort();
repo.url = "http://localhost:" + port + repo.context;