summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/dagger/DaggerContext.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-05-16 10:34:35 -0400
committerJames Moger <james.moger@gitblit.com>2014-07-03 16:20:37 -0400
commit17e2d3407065a7433c7512c37a7cf7e7df63f337 (patch)
tree8b214883c2217e438735c14ee50ea1f124bbd37a /src/main/java/com/gitblit/dagger/DaggerContext.java
parentd19549897c0c373522e29fdcf0701edfd4956ae2 (diff)
downloadgitblit-17e2d3407065a7433c7512c37a7cf7e7df63f337.tar.gz
gitblit-17e2d3407065a7433c7512c37a7cf7e7df63f337.zip
Return of Servlet3 servlet and filter loading
This is a quick return of the servlet3-style code which was reverted mid-December 2013. It is not completely tested, but a casual review was done and it's looks good. The next steps should be to restore `@Inject` annotations, simplify *DaggerModule* boilerplate, and run this on a JEE container with CDI - like JBoss AS 7.
Diffstat (limited to 'src/main/java/com/gitblit/dagger/DaggerContext.java')
-rw-r--r--src/main/java/com/gitblit/dagger/DaggerContext.java22
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 0e6a3fc4..ef570804 100644
--- a/src/main/java/com/gitblit/dagger/DaggerContext.java
+++ b/src/main/java/com/gitblit/dagger/DaggerContext.java
@@ -17,11 +17,12 @@ package com.gitblit.dagger;
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 @@ import dagger.ObjectGraph;
* @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 @@ public abstract class DaggerContext implements ServletContextListener {
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();