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