| .. | .. |
|---|
| 1 | 1 | package net.curisit.securis;
|
|---|
| 2 | 2 |
|
|---|
| 3 | +import java.io.IOException;
|
|---|
| 4 | +import java.net.URI;
|
|---|
| 5 | +import java.util.Arrays;
|
|---|
| 6 | +
|
|---|
| 7 | +import javax.inject.Inject;
|
|---|
| 8 | +import javax.inject.Named;
|
|---|
| 9 | +
|
|---|
| 10 | +import net.curisit.securis.ioc.SecurisModule;
|
|---|
| 11 | +
|
|---|
| 3 | 12 | import org.glassfish.grizzly.http.server.HttpServer;
|
|---|
| 4 | 13 | import org.slf4j.Logger;
|
|---|
| 5 | 14 | import org.slf4j.LoggerFactory;
|
|---|
| 15 | +
|
|---|
| 16 | +import com.google.inject.Guice;
|
|---|
| 17 | +import com.google.inject.Injector;
|
|---|
| 18 | +import com.google.inject.Key;
|
|---|
| 19 | +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;
|
|---|
| 6 | 25 |
|
|---|
| 7 | 26 | public class MainApp {
|
|---|
| 8 | 27 |
|
|---|
| 9 | 28 | private static final Logger log = LoggerFactory.getLogger(MainApp.class);
|
|---|
| 10 | 29 |
|
|---|
| 11 | | - private HttpServer mHttpServer;
|
|---|
| 30 | + private static HttpServer mHttpServer;
|
|---|
| 31 | + private static Injector injector = null;
|
|---|
| 12 | 32 |
|
|---|
| 13 | | - public static void main(String[] args) {
|
|---|
| 33 | + @Inject
|
|---|
| 34 | + @Named("base-uri")
|
|---|
| 35 | + private URI uri;
|
|---|
| 36 | +
|
|---|
| 37 | + public static void main(String[] args) throws IOException, InterruptedException {
|
|---|
| 14 | 38 | log.info("SeCuris init...");
|
|---|
| 15 | 39 |
|
|---|
| 40 | + injector = Guice.createInjector(Arrays.asList(new SecurisModule()));
|
|---|
| 41 | + mHttpServer = startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
|
|---|
| 42 | + while (true) {
|
|---|
| 43 | + Thread.currentThread().sleep(100);
|
|---|
| 44 | + }
|
|---|
| 45 | + }
|
|---|
| 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);
|
|---|
| 51 | +
|
|---|
| 52 | + return GrizzlyServerFactory.createHttpServer(uri, rc, ioc);
|
|---|
| 16 | 53 | }
|
|---|
| 17 | 54 |
|
|---|
| 18 | 55 | }
|
|---|