From 1b34b05f5b8d2d0fd51819b286e22d7ddd27cb27 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 03 Jul 2014 16:20:37 -0400 Subject: [PATCH] Embrace @Inject for Managers, Servlets, and Filters --- src/main/java/com/gitblit/DaggerModule.java | 155 ++++++++++++++++++++++----------------------------- 1 files changed, 66 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 1805c4e..662ca03 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -19,27 +19,48 @@ import com.gitblit.manager.AuthenticationManager; import com.gitblit.manager.FederationManager; -import com.gitblit.manager.PluginManager; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; import com.gitblit.manager.IGitblit; -import com.gitblit.manager.IPluginManager; import com.gitblit.manager.INotificationManager; +import com.gitblit.manager.IPluginManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.manager.IUserManager; import com.gitblit.manager.NotificationManager; +import com.gitblit.manager.PluginManager; import com.gitblit.manager.ProjectManager; import com.gitblit.manager.RepositoryManager; import com.gitblit.manager.RuntimeManager; import com.gitblit.manager.UserManager; +import com.gitblit.servlet.BranchGraphServlet; +import com.gitblit.servlet.DownloadZipFilter; +import com.gitblit.servlet.DownloadZipServlet; +import com.gitblit.servlet.EnforceAuthenticationFilter; +import com.gitblit.servlet.FederationServlet; +import com.gitblit.servlet.GitFilter; +import com.gitblit.servlet.GitServlet; +import com.gitblit.servlet.LogoServlet; +import com.gitblit.servlet.PagesFilter; +import com.gitblit.servlet.PagesServlet; +import com.gitblit.servlet.ProxyFilter; +import com.gitblit.servlet.PtServlet; +import com.gitblit.servlet.RawFilter; +import com.gitblit.servlet.RawServlet; +import com.gitblit.servlet.RobotsTxtServlet; +import com.gitblit.servlet.RpcFilter; +import com.gitblit.servlet.RpcServlet; +import com.gitblit.servlet.SparkleShareInviteServlet; +import com.gitblit.servlet.SyndicationFilter; +import com.gitblit.servlet.SyndicationServlet; import com.gitblit.transport.ssh.FileKeyManager; import com.gitblit.transport.ssh.IPublicKeyManager; import com.gitblit.transport.ssh.MemoryKeyManager; import com.gitblit.transport.ssh.NullKeyManager; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebApp; +import com.gitblit.wicket.GitblitWicketFilter; import dagger.Module; import dagger.Provides; @@ -51,12 +72,12 @@ * */ @Module( - library = true, injects = { IStoredSettings.class, // core managers IRuntimeManager.class, + IPluginManager.class, INotificationManager.class, IUserManager.class, IAuthenticationManager.class, @@ -64,13 +85,35 @@ IRepositoryManager.class, IProjectManager.class, IFederationManager.class, - IPluginManager.class, // the monolithic manager IGitblit.class, // the Gitblit Wicket app - GitBlitWebApp.class + GitBlitWebApp.class, + + // filters & servlets + GitServlet.class, + GitFilter.class, + RawServlet.class, + RawFilter.class, + PagesServlet.class, + PagesFilter.class, + RpcServlet.class, + RpcFilter.class, + DownloadZipServlet.class, + DownloadZipFilter.class, + SyndicationServlet.class, + SyndicationFilter.class, + FederationServlet.class, + SparkleShareInviteServlet.class, + BranchGraphServlet.class, + RobotsTxtServlet.class, + LogoServlet.class, + PtServlet.class, + ProxyFilter.class, + EnforceAuthenticationFilter.class, + GitblitWicketFilter.class } ) public class DaggerModule { @@ -79,29 +122,24 @@ return new FileSettings(); } - @Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) { - return new RuntimeManager(settings); + @Provides @Singleton IRuntimeManager provideRuntimeManager(RuntimeManager manager) { + return manager; } - @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) { - return new NotificationManager(settings); + @Provides @Singleton IPluginManager providePluginManager(PluginManager manager) { + return manager; } - @Provides @Singleton IUserManager provideUserManager(IRuntimeManager runtimeManager) { - return new UserManager(runtimeManager); + @Provides @Singleton INotificationManager provideNotificationManager(NotificationManager manager) { + return manager; } - @Provides @Singleton IPluginManager providePluginManager(IRuntimeManager runtimeManager) { - return new PluginManager(runtimeManager); + @Provides @Singleton IUserManager provideUserManager(UserManager manager) { + return manager; } - @Provides @Singleton IAuthenticationManager provideAuthenticationManager( - IRuntimeManager runtimeManager, - IUserManager userManager) { - - return new AuthenticationManager( - runtimeManager, - userManager); + @Provides @Singleton IAuthenticationManager provideAuthenticationManager(AuthenticationManager manager) { + return manager; } @Provides @Singleton IPublicKeyManager providePublicKeyManager( @@ -129,80 +167,19 @@ } } - @Provides @Singleton IRepositoryManager provideRepositoryManager( - IRuntimeManager runtimeManager, - IUserManager userManager) { - - return new RepositoryManager( - runtimeManager, - userManager); + @Provides @Singleton IRepositoryManager provideRepositoryManager(RepositoryManager manager) { + return manager; } - @Provides @Singleton IProjectManager provideProjectManager( - IRuntimeManager runtimeManager, - IUserManager userManager, - IRepositoryManager repositoryManager) { - - return new ProjectManager( - runtimeManager, - userManager, - repositoryManager); + @Provides @Singleton IProjectManager provideProjectManager(ProjectManager manager) { + return manager; } - @Provides @Singleton IFederationManager provideFederationManager( - IRuntimeManager runtimeManager, - INotificationManager notificationManager, - IRepositoryManager repositoryManager) { - - return new FederationManager( - runtimeManager, - notificationManager, - repositoryManager); + @Provides @Singleton IFederationManager provideFederationManager(FederationManager manager) { + return manager; } - @Provides @Singleton IGitblit provideGitblit( - IRuntimeManager runtimeManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager, - IPluginManager pluginManager) { - - return new GitBlit( - runtimeManager, - notificationManager, - userManager, - authenticationManager, - publicKeyManager, - repositoryManager, - projectManager, - federationManager, - pluginManager); - } - - @Provides @Singleton GitBlitWebApp provideWebApplication( - IRuntimeManager runtimeManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager, - IGitblit gitblit) { - - return new GitBlitWebApp( - runtimeManager, - notificationManager, - userManager, - authenticationManager, - publicKeyManager, - repositoryManager, - projectManager, - federationManager, - gitblit); + @Provides @Singleton IGitblit provideGitblit(GitBlit gitblit) { + return gitblit; } } \ No newline at end of file -- Gitblit v1.9.1