From 9dee3b104cccba41cab0f4369bec444485da7014 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Tue, 17 Dec 2013 18:18:33 +0000
Subject: [PATCH] #333 feature - Added Guice support to jersey framework
---
securis/src/main/java/net/curisit/securis/MainApp.java | 41 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index c241b4c..5b00695 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -1,18 +1,55 @@
package net.curisit.securis;
+import java.io.IOException;
+import java.net.URI;
+import java.util.Arrays;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import net.curisit.securis.ioc.SecurisModule;
+
import org.glassfish.grizzly.http.server.HttpServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Key;
+import com.google.inject.name.Names;
+import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
+import com.sun.jersey.api.core.PackagesResourceConfig;
+import com.sun.jersey.api.core.ResourceConfig;
+import com.sun.jersey.core.spi.component.ioc.IoCComponentProviderFactory;
+import com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory;
public class MainApp {
private static final Logger log = LoggerFactory.getLogger(MainApp.class);
- private HttpServer mHttpServer;
+ private static HttpServer mHttpServer;
+ private static Injector injector = null;
- public static void main(String[] args) {
+ @Inject
+ @Named("base-uri")
+ private URI uri;
+
+ public static void main(String[] args) throws IOException, InterruptedException {
log.info("SeCuris init...");
+ injector = Guice.createInjector(Arrays.asList(new SecurisModule()));
+ mHttpServer = startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
+ while (true) {
+ Thread.currentThread().sleep(100);
+ }
+ }
+
+ private static HttpServer startServer(URI uri) throws IOException {
+ System.out.println("Starting grizzly2...");
+ ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
+ IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
+
+ return GrizzlyServerFactory.createHttpServer(uri, rc, ioc);
}
}
--
Gitblit v1.3.2