package org.gbif.checklistbank.ws.client.guice; import org.gbif.checklistbank.ws.guice.ChecklistBankWsModule; import java.util.Properties; import com.google.inject.servlet.GuiceFilter; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.ServletContextHandler; /** * */ public class ClbServer { private final static String SYSTEM_PROPERTY_TEST_PORT = "jetty.port"; public static Server buildServer(Properties clbProps) { final Server server = new Server(determinePort()); final ChecklistBankWsModule clbWs = new ChecklistBankSearchWsTestModule(clbProps); final ServletContextHandler root=new ServletContextHandler(server, "/", ServletContextHandler.NO_SESSIONS); root.addEventListener(clbWs); root.addFilter(GuiceFilter.class, "/*", null); root.addServlet(DefaultServlet.class, "/"); server.setStopAtShutdown(true); return server; } private static int determinePort() { String port = System.getProperty(SYSTEM_PROPERTY_TEST_PORT); if (port != null) { return Integer.parseInt(port); } return 8080; } }