package com.xebia.scrumboard.rule; import static com.sun.jersey.api.core.ResourceConfig.PROPERTY_CONTAINER_REQUEST_FILTERS; import static com.sun.jersey.api.core.ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS; import org.glassfish.grizzly.http.server.HttpServer; import org.glassfish.grizzly.http.server.StaticHttpHandler; import com.sun.jersey.api.container.filter.LoggingFilter; import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory; import com.sun.jersey.api.core.PackagesResourceConfig; import com.sun.jersey.api.core.ResourceConfig; public class GrizzlyServer extends Server { HttpServer server; @Override protected void before() throws Throwable { ResourceConfig rc = newConfig(); server = GrizzlyServerFactory.createHttpServer(uri, rc); server.getServerConfiguration().addHttpHandler(new StaticHttpHandler("src/main/webapp"), "/"); } private ResourceConfig newConfig() { ResourceConfig rc = new PackagesResourceConfig("com.xebia.scrumboard.resource", "com.xebia.scrumboard.provider"); rc.getProperties().put(PROPERTY_CONTAINER_REQUEST_FILTERS, new LoggingFilter()); rc.getProperties().put(PROPERTY_CONTAINER_RESPONSE_FILTERS, new LoggingFilter()); return rc; } @Override protected void after() { server.stop(); } }