From 17e2d3407065a7433c7512c37a7cf7e7df63f337 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 03 Jul 2014 16:20:37 -0400
Subject: [PATCH] Return of Servlet3 servlet and filter loading

---
 src/main/java/com/gitblit/dagger/DaggerContext.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/dagger/DaggerContext.java b/src/main/java/com/gitblit/dagger/DaggerContext.java
index 0e6a3fc..ef57080 100644
--- a/src/main/java/com/gitblit/dagger/DaggerContext.java
+++ b/src/main/java/com/gitblit/dagger/DaggerContext.java
@@ -17,10 +17,11 @@
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import com.gitblit.servlet.InjectionContextListener;
 
 import dagger.ObjectGraph;
 
@@ -31,7 +32,7 @@
  * @author James Moger
  *
  */
-public abstract class DaggerContext implements ServletContextListener {
+public abstract class DaggerContext extends InjectionContextListener {
 
 	public static final String INJECTOR_NAME = ObjectGraph.class.getName();
 
@@ -58,6 +59,23 @@
 		return (ObjectGraph) o;
 	}
 
+	/**
+	 * Instantiates an object.
+	 *
+	 * @param clazz
+	 * @return the object
+	 */
+	@Override
+	protected <X> X instantiate(ServletContext context, Class<X> clazz) {
+		try {
+			ObjectGraph injector = getInjector(context);
+			return injector.get(clazz);
+		} catch (Throwable t) {
+			logger.error(null, t);
+		}
+		return null;
+	}
+
 	@Override
 	public final void contextDestroyed(ServletContextEvent contextEvent) {
 		ServletContext context = contextEvent.getServletContext();

--
Gitblit v1.9.1