From 3a9e76b63f09a32e0b6812e18ffff00fab8e58e6 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Flattened IGitblitManager, GitblitManager, and GitBlit classes --- src/main/java/com/gitblit/DaggerModule.java | 127 ++++++++++++++++++++++++++++++++---------- 1 files changed, 96 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 7ee8ecd..135fafb 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -20,14 +20,36 @@ import org.apache.wicket.protocol.http.WebApplication; import com.gitblit.git.GitServlet; +import com.gitblit.manager.AuthenticationManager; +import com.gitblit.manager.FederationManager; +import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; -import com.gitblit.manager.IGitblitManager; +import com.gitblit.manager.IGitblit; import com.gitblit.manager.INotificationManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; -import com.gitblit.manager.ISessionManager; import com.gitblit.manager.IUserManager; +import com.gitblit.manager.NotificationManager; +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.LogoServlet; +import com.gitblit.servlet.PagesFilter; +import com.gitblit.servlet.PagesServlet; +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.wicket.GitBlitWebApp; import com.gitblit.wicket.GitblitWicketFilter; @@ -41,16 +63,21 @@ * */ @Module( + library = true, injects = { + IStoredSettings.class, + // core managers IRuntimeManager.class, INotificationManager.class, IUserManager.class, - ISessionManager.class, + IAuthenticationManager.class, IRepositoryManager.class, IProjectManager.class, - IGitblitManager.class, IFederationManager.class, + + // the monolithic manager + IGitblit.class, // filters & servlets GitServlet.class, @@ -74,63 +101,101 @@ ) public class DaggerModule { - final GitBlit gitblit; - - // HACK but necessary for now - public DaggerModule(GitBlit gitblit) { - this.gitblit = gitblit; + @Provides @Singleton IStoredSettings provideSettings() { + return new FileSettings(); } - @Provides @Singleton IRuntimeManager provideRuntimeManager() { - return gitblit; + @Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) { + return new RuntimeManager(settings); } - @Provides @Singleton INotificationManager provideNotificationManager() { - return gitblit; + @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) { + return new NotificationManager(settings); } - @Provides @Singleton IUserManager provideUserManager() { - return gitblit; + @Provides @Singleton IUserManager provideUserManager(IRuntimeManager runtimeManager) { + return new UserManager(runtimeManager); } - @Provides @Singleton ISessionManager provideSessionManager() { - return gitblit; + @Provides @Singleton IAuthenticationManager provideAuthenticationManager( + IRuntimeManager runtimeManager, + IUserManager userManager) { + + return new AuthenticationManager( + runtimeManager, + userManager); } - @Provides @Singleton IRepositoryManager provideRepositoryManager() { - return gitblit; + @Provides @Singleton IRepositoryManager provideRepositoryManager( + IRuntimeManager runtimeManager, + IUserManager userManager) { + + return new RepositoryManager( + runtimeManager, + userManager); } - @Provides @Singleton IProjectManager provideProjectManager() { - return gitblit; + @Provides @Singleton IProjectManager provideProjectManager( + IRuntimeManager runtimeManager, + IUserManager userManager, + IRepositoryManager repositoryManager) { + + return new ProjectManager( + runtimeManager, + userManager, + repositoryManager); } - @Provides @Singleton IGitblitManager provideGitblitManager() { - return gitblit; + @Provides @Singleton IFederationManager provideFederationManager( + IRuntimeManager runtimeManager, + INotificationManager notificationManager, + IUserManager userManager, + IRepositoryManager repositoryManager) { + + return new FederationManager( + runtimeManager, + notificationManager, + userManager, + repositoryManager); } - @Provides @Singleton IFederationManager provideFederationManager() { - return gitblit; + @Provides @Singleton IGitblit provideGitblit( + IRuntimeManager runtimeManager, + INotificationManager notificationManager, + IUserManager userManager, + IAuthenticationManager authenticationManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager, + IFederationManager federationManager) { + + return new GitBlit( + runtimeManager, + notificationManager, + userManager, + authenticationManager, + repositoryManager, + projectManager, + federationManager); } @Provides @Singleton WebApplication provideWebApplication( IRuntimeManager runtimeManager, INotificationManager notificationManager, IUserManager userManager, - ISessionManager sessionManager, + IAuthenticationManager authenticationManager, IRepositoryManager repositoryManager, IProjectManager projectManager, - IGitblitManager gitblitManager, - IFederationManager federationManager) { + IFederationManager federationManager, + IGitblit gitblit) { return new GitBlitWebApp( runtimeManager, notificationManager, userManager, - sessionManager, + authenticationManager, repositoryManager, projectManager, - gitblitManager, - federationManager); + federationManager, + gitblit); } } \ No newline at end of file -- Gitblit v1.9.1