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 | 156 +++++++++++++++++++++------------------------------- 1 files changed, 63 insertions(+), 93 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 6ad3fe6..662ca03 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -34,12 +34,33 @@ 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,7 +72,6 @@ * */ @Module( - library = true, injects = { IStoredSettings.class, @@ -70,7 +90,30 @@ 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,32 +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 IPluginManager providePluginManager(IRuntimeManager runtimeManager) { - return new PluginManager(runtimeManager); + @Provides @Singleton IPluginManager providePluginManager(PluginManager manager) { + return manager; } - @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) { - return new NotificationManager(settings); + @Provides @Singleton INotificationManager provideNotificationManager(NotificationManager manager) { + return manager; } - @Provides @Singleton IUserManager provideUserManager( - IRuntimeManager runtimeManager, - IPluginManager pluginManager) { - - return new UserManager(runtimeManager, pluginManager); + @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( @@ -132,84 +167,19 @@ } } - @Provides @Singleton IRepositoryManager provideRepositoryManager( - IRuntimeManager runtimeManager, - IPluginManager pluginManager, - IUserManager userManager) { - - return new RepositoryManager( - runtimeManager, - pluginManager, - 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, - IPluginManager pluginManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager) { - - return new GitBlit( - runtimeManager, - pluginManager, - notificationManager, - userManager, - authenticationManager, - publicKeyManager, - repositoryManager, - projectManager, - federationManager); - } - - @Provides @Singleton GitBlitWebApp provideWebApplication( - IRuntimeManager runtimeManager, - IPluginManager pluginManager, - INotificationManager notificationManager, - IUserManager userManager, - IAuthenticationManager authenticationManager, - IPublicKeyManager publicKeyManager, - IRepositoryManager repositoryManager, - IProjectManager projectManager, - IFederationManager federationManager, - IGitblit gitblit) { - - return new GitBlitWebApp( - runtimeManager, - pluginManager, - 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