diff options
author | James Moger <james.moger@gitblit.com> | 2014-05-16 10:34:35 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-07-03 16:20:37 -0400 |
commit | 17e2d3407065a7433c7512c37a7cf7e7df63f337 (patch) | |
tree | 8b214883c2217e438735c14ee50ea1f124bbd37a /src/main/java/com/gitblit/dagger/DaggerContext.java | |
parent | d19549897c0c373522e29fdcf0701edfd4956ae2 (diff) | |
download | gitblit-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.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 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(); |