From cacf8bff097fbb66a7be1bfe267b5da2605145f8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:05:46 -0500
Subject: [PATCH] Use Dagger to inject managers into all filters and servlets

---
 src/main/java/com/gitblit/GitBlit.java |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java
index 31dedf1..8be50fb 100644
--- a/src/main/java/com/gitblit/GitBlit.java
+++ b/src/main/java/com/gitblit/GitBlit.java
@@ -65,7 +65,6 @@
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
 import javax.servlet.annotation.WebListener;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
@@ -95,6 +94,7 @@
 import com.gitblit.Constants.FederationToken;
 import com.gitblit.Constants.PermissionType;
 import com.gitblit.Constants.RegistrantType;
+import com.gitblit.dagger.DaggerContextListener;
 import com.gitblit.fanout.FanoutNioService;
 import com.gitblit.fanout.FanoutService;
 import com.gitblit.fanout.FanoutSocketService;
@@ -164,7 +164,7 @@
  *
  */
 @WebListener
-public class GitBlit extends InjectionContextListener
+public class GitBlit extends DaggerContextListener
 					 implements IRuntimeManager,
 								INotificationManager,
 								IUserManager,
@@ -3479,9 +3479,9 @@
 
 		// prepare service executors
 		mailExecutor = new MailExecutor(settings);
-		luceneExecutor = new LuceneExecutor(settings, repositoriesFolder);
-		gcExecutor = new GCExecutor(settings);
-		mirrorExecutor = new MirrorExecutor(settings);
+		luceneExecutor = new LuceneExecutor(settings, getManager(IRepositoryManager.class));
+		gcExecutor = new GCExecutor(settings, getManager(IRepositoryManager.class));
+		mirrorExecutor = new MirrorExecutor(settings, getManager(IRepositoryManager.class));
 
 		// initialize utilities
 		String prefix = settings.getString(Keys.git.userRepositoryPrefix, "~");
@@ -3641,7 +3641,7 @@
 		String bindInterface = settings.getString(Keys.git.daemonBindInterface, "localhost");
 		if (port > 0) {
 			try {
-				gitDaemon = new GitDaemon(bindInterface, port, getRepositoriesFolder());
+				gitDaemon = new GitDaemon(this, this, this, this);
 				gitDaemon.start();
 			} catch (IOException e) {
 				gitDaemon = null;
@@ -3854,7 +3854,7 @@
 	 * shutting down or because the servlet container is re-deploying Gitblit.
 	 */
 	@Override
-	public void contextDestroyed(ServletContextEvent contextEvent) {
+	protected void destroyContext(ServletContext context) {
 		logger.info("Gitblit context destroyed by servlet container.");
 		scheduledExecutor.shutdownNow();
 		luceneExecutor.close();
@@ -4052,6 +4052,11 @@
 		userService.logout(user);
 	}
 
+	@Override
+	protected Object [] getModules() {
+		return new Object [] { new DaggerModule(this) };
+	}
+
 	/**
 	 * Instantiate and inject all filters and servlets into the container using
 	 * the servlet 3 specification.

--
Gitblit v1.9.1