From aa1361d04cfe09f90e7d8bece90c00dd6e4185bb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 03 Jul 2014 16:57:47 -0400
Subject: [PATCH] Replace Dagger with Guice 4.0 beta and update Guava to 16.0.1

---
 src/main/java/com/gitblit/guice/GuiceContext.java |   37 +++++++++++++++++++------------------
 1 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/gitblit/dagger/DaggerContext.java b/src/main/java/com/gitblit/guice/GuiceContext.java
similarity index 63%
rename from src/main/java/com/gitblit/dagger/DaggerContext.java
rename to src/main/java/com/gitblit/guice/GuiceContext.java
index ef57080..4361b7b 100644
--- a/src/main/java/com/gitblit/dagger/DaggerContext.java
+++ b/src/main/java/com/gitblit/guice/GuiceContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2013 gitblit.com.
+ * Copyright 2014 gitblit.com.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.gitblit.dagger;
+package com.gitblit.guice;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -22,41 +22,42 @@
 import org.slf4j.LoggerFactory;
 
 import com.gitblit.servlet.InjectionContextListener;
-
-import dagger.ObjectGraph;
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
 
 /**
- * Dagger servlet context listener is a context listener that uses Dagger to
+ * Guice servlet context listener is a context listener that uses Guice to
  * instantiate and inject servlets, filters, and anything else you might want.
  *
  * @author James Moger
  *
  */
-public abstract class DaggerContext extends InjectionContextListener {
+public abstract class GuiceContext extends InjectionContextListener {
 
-	public static final String INJECTOR_NAME = ObjectGraph.class.getName();
+	public static final String INJECTOR_NAME = Injector.class.getName();
 
 	protected final Logger logger = LoggerFactory.getLogger(getClass());
 
-	protected abstract Object [] getModules();
+	protected abstract AbstractModule [] getModules();
 
 	protected abstract void destroyContext(ServletContext context);
 
-	protected ObjectGraph getInjector(ServletContext context) {
+	protected Injector getInjector(ServletContext context) {
 		Object o = context.getAttribute(INJECTOR_NAME);
 		if (o == null) {
-			logger.debug("instantiating Dagger modules");
-			Object [] modules = getModules();
-			logger.debug("getting Dagger injector");
+			logger.debug("instantiating Guice modules");
+			AbstractModule [] modules = getModules();
+			logger.debug("getting Guice injector");
 			try {
-				o = ObjectGraph.create(modules);
-				logger.debug("setting Dagger injector into {} attribute", INJECTOR_NAME);
+				o = Guice.createInjector(modules);
+				logger.debug("setting Guice injector into {} attribute", INJECTOR_NAME);
 				context.setAttribute(INJECTOR_NAME, o);
 			} catch (Throwable t) {
-				logger.error("an error occurred creating the Dagger injector", t);
+				logger.error("an error occurred creating the Guice injector", t);
 			}
 		}
-		return (ObjectGraph) o;
+		return (Injector) o;
 	}
 
 	/**
@@ -68,8 +69,8 @@
 	@Override
 	protected <X> X instantiate(ServletContext context, Class<X> clazz) {
 		try {
-			ObjectGraph injector = getInjector(context);
-			return injector.get(clazz);
+			Injector injector = getInjector(context);
+			return injector.getInstance(clazz);
 		} catch (Throwable t) {
 			logger.error(null, t);
 		}

--
Gitblit v1.9.1