Roberto Sánchez
2013-12-19 cc3f9054f478d9698e240bfb644d0d9de9a37c85
securis/src/main/java/net/curisit/securis/MainApp.java
....@@ -1,15 +1,19 @@
11 package net.curisit.securis;
22
3
-import java.io.IOException;
43 import java.net.URI;
5
-import java.util.Arrays;
64
75 import javax.inject.Inject;
86 import javax.inject.Named;
97
8
+import net.curisit.securis.ioc.RequestsModule;
109 import net.curisit.securis.ioc.SecurisModule;
1110
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;
1317 import org.slf4j.Logger;
1418 import org.slf4j.LoggerFactory;
1519
....@@ -17,39 +21,51 @@
1721 import com.google.inject.Injector;
1822 import com.google.inject.Key;
1923 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;
2524
2625 public class MainApp {
2726
2827 private static final Logger log = LoggerFactory.getLogger(MainApp.class);
2928
30
- private static HttpServer mHttpServer;
29
+ private static Server server;
3130 private static Injector injector = null;
3231
3332 @Inject
3433 @Named("base-uri")
3534 private URI uri;
3635
37
- public static void main(String[] args) throws IOException, InterruptedException {
36
+ public static void main(String[] args) throws Exception {
3837 log.info("SeCuris init...");
3938
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"))));
4242 while (true) {
4343 Thread.currentThread().sleep(100);
4444 }
4545 }
4646
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));
5155
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
+
5369 }
5470
5571 }