| .. | .. |
|---|
| 1 | 1 | package net.curisit.securis;
|
|---|
| 2 | 2 |
|
|---|
| 3 | | -import java.io.IOException;
|
|---|
| 4 | 3 | import java.net.URI;
|
|---|
| 5 | | -import java.util.Arrays;
|
|---|
| 6 | 4 |
|
|---|
| 7 | 5 | import javax.inject.Inject;
|
|---|
| 8 | 6 | import javax.inject.Named;
|
|---|
| 9 | 7 |
|
|---|
| 8 | +import net.curisit.securis.ioc.RequestsModule;
|
|---|
| 10 | 9 | import net.curisit.securis.ioc.SecurisModule;
|
|---|
| 11 | 10 |
|
|---|
| 12 | | -import org.glassfish.grizzly.http.server.HttpServer;
|
|---|
| 11 | +import org.eclipse.jetty.server.Server;
|
|---|
| 12 | +import org.eclipse.jetty.servlet.FilterHolder;
|
|---|
| 13 | +import org.eclipse.jetty.servlet.ServletContextHandler;
|
|---|
| 14 | +import org.eclipse.jetty.servlet.ServletHolder;
|
|---|
| 15 | +import org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener;
|
|---|
| 16 | +import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
|
|---|
| 13 | 17 | import org.slf4j.Logger;
|
|---|
| 14 | 18 | import org.slf4j.LoggerFactory;
|
|---|
| 15 | 19 |
|
|---|
| .. | .. |
|---|
| 17 | 21 | import com.google.inject.Injector;
|
|---|
| 18 | 22 | import com.google.inject.Key;
|
|---|
| 19 | 23 | import com.google.inject.name.Names;
|
|---|
| 20 | | -import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
|
|---|
| 21 | | -import com.sun.jersey.api.core.PackagesResourceConfig;
|
|---|
| 22 | | -import com.sun.jersey.api.core.ResourceConfig;
|
|---|
| 23 | | -import com.sun.jersey.core.spi.component.ioc.IoCComponentProviderFactory;
|
|---|
| 24 | | -import com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory;
|
|---|
| 25 | 24 |
|
|---|
| 26 | 25 | public class MainApp {
|
|---|
| 27 | 26 |
|
|---|
| 28 | 27 | private static final Logger log = LoggerFactory.getLogger(MainApp.class);
|
|---|
| 29 | 28 |
|
|---|
| 30 | | - private static HttpServer mHttpServer;
|
|---|
| 29 | + private static Server server;
|
|---|
| 31 | 30 | private static Injector injector = null;
|
|---|
| 32 | 31 |
|
|---|
| 33 | 32 | @Inject
|
|---|
| 34 | 33 | @Named("base-uri")
|
|---|
| 35 | 34 | private URI uri;
|
|---|
| 36 | 35 |
|
|---|
| 37 | | - public static void main(String[] args) throws IOException, InterruptedException {
|
|---|
| 36 | + public static void main(String[] args) throws Exception {
|
|---|
| 38 | 37 | log.info("SeCuris init...");
|
|---|
| 39 | 38 |
|
|---|
| 40 | | - injector = Guice.createInjector(Arrays.asList(new SecurisModule()));
|
|---|
| 41 | | - mHttpServer = startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
|
|---|
| 39 | + injector = Guice.createInjector(new SecurisModule(), new RequestsModule());
|
|---|
| 40 | + // createBiDirectionalGuiceBridge(ServiceLocatorFactory.getInstance().create("default"), new SecurisModule());
|
|---|
| 41 | + startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
|
|---|
| 42 | 42 | while (true) {
|
|---|
| 43 | 43 | Thread.currentThread().sleep(100);
|
|---|
| 44 | 44 | }
|
|---|
| 45 | 45 | }
|
|---|
| 46 | 46 |
|
|---|
| 47 | | - private static HttpServer startServer(URI uri) throws IOException {
|
|---|
| 48 | | - System.out.println("Starting grizzly2...");
|
|---|
| 49 | | - ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
|
|---|
| 50 | | - IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
|
|---|
| 47 | + private static void startServer(URI uri) throws Exception {
|
|---|
| 48 | + System.out.println("Starting jetty...");
|
|---|
| 49 | + // ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
|
|---|
| 50 | + // IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
|
|---|
| 51 | + server = new Server(9997);
|
|---|
| 52 | + ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
|
|---|
| 53 | + context.setContextPath("/");
|
|---|
| 54 | + context.addEventListener(injector.getInstance(GuiceResteasyBootstrapServletContextListener.class));
|
|---|
| 51 | 55 |
|
|---|
| 52 | | - return GrizzlyServerFactory.createHttpServer(uri, rc, ioc);
|
|---|
| 56 | + ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
|
|---|
| 57 | + context.setInitParameter("resteasy.role.based.security", "true");
|
|---|
| 58 | + context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
|
|---|
| 59 | + // context.addServlet(DefaultServlet.class, "/*");
|
|---|
| 60 | + context.addServlet(sh, "/*");
|
|---|
| 61 | +
|
|---|
| 62 | + server.setHandler(context);
|
|---|
| 63 | + server.start();
|
|---|
| 64 | + server.join();
|
|---|
| 65 | + // rc.packages("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
|
|---|
| 66 | +
|
|---|
| 67 | + // new CLStaticHttpHandler(new URLClassLoader(new URL[] {new URL("file:///home/username/staticfiles.jar")})), "/www")
|
|---|
| 68 | +
|
|---|
| 53 | 69 | }
|
|---|
| 54 | 70 |
|
|---|
| 55 | 71 | }
|
|---|