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