From 269c5043ab8f66f67d5719ac5149a436ca1baa2b 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] Extract Federation, Gitblit and Services manager from GitBlit singleton --- src/main/java/com/gitblit/DaggerModule.java | 45 ++++++++++++++++++++++++++++++++------------- 1 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 8cd9c8b..0cbb739 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -20,18 +20,22 @@ import org.apache.wicket.protocol.http.WebApplication; import com.gitblit.git.GitServlet; +import com.gitblit.manager.FederationManager; +import com.gitblit.manager.GitblitManager; import com.gitblit.manager.IFederationManager; import com.gitblit.manager.IGitblitManager; import com.gitblit.manager.INotificationManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.IServicesManager; 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.ServicesManager; import com.gitblit.manager.SessionManager; import com.gitblit.manager.UserManager; import com.gitblit.wicket.GitBlitWebApp; @@ -47,6 +51,7 @@ * */ @Module( + library = true, injects = { IStoredSettings.class, @@ -59,6 +64,7 @@ IProjectManager.class, IGitblitManager.class, IFederationManager.class, + IServicesManager.class, // the monolithic manager Gitblit.class, @@ -84,13 +90,6 @@ } ) 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(); @@ -137,12 +136,28 @@ 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 IGitblitManager provideGitblitManager( + IRuntimeManager runtimeManager, + IUserManager userManager, + IRepositoryManager repositoryManager) { + + return new GitblitManager( + runtimeManager, + userManager, + repositoryManager); } @Provides @Singleton Gitblit provideGitblit( @@ -162,8 +177,12 @@ sessionManager, repositoryManager, projectManager, - federationManager, - gitblitManager); + gitblitManager, + federationManager); + } + + @Provides @Singleton IServicesManager provideServicesManager(Gitblit gitblit) { + return new ServicesManager(gitblit); } @Provides @Singleton WebApplication provideWebApplication( -- Gitblit v1.9.1