From aa6d43e8b28ff73d69a920e9b3a7b284cfce00c3 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 SessionManager from GitBlit singleton --- src/main/java/com/gitblit/DaggerModule.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 47 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 7ee8ecd..0fb8bbf 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -28,6 +28,10 @@ import com.gitblit.manager.IRuntimeManager; import com.gitblit.manager.ISessionManager; import com.gitblit.manager.IUserManager; +import com.gitblit.manager.NotificationManager; +import com.gitblit.manager.RuntimeManager; +import com.gitblit.manager.SessionManager; +import com.gitblit.manager.UserManager; import com.gitblit.wicket.GitBlitWebApp; import com.gitblit.wicket.GitblitWicketFilter; @@ -42,6 +46,8 @@ */ @Module( injects = { + IStoredSettings.class, + // core managers IRuntimeManager.class, INotificationManager.class, @@ -51,6 +57,9 @@ IProjectManager.class, IGitblitManager.class, IFederationManager.class, + + // the monolithic manager + Gitblit.class, // filters & servlets GitServlet.class, @@ -81,20 +90,29 @@ this.gitblit = gitblit; } - @Provides @Singleton IRuntimeManager provideRuntimeManager() { - return gitblit; + @Provides @Singleton IStoredSettings provideSettings() { + return new FileSettings(); } - @Provides @Singleton INotificationManager provideNotificationManager() { - return gitblit; + @Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) { + return new RuntimeManager(settings); } - @Provides @Singleton IUserManager provideUserManager() { - return gitblit; + @Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) { + return new NotificationManager(settings); } - @Provides @Singleton ISessionManager provideSessionManager() { - return gitblit; + @Provides @Singleton IUserManager provideUserManager(IRuntimeManager runtimeManager) { + return new UserManager(runtimeManager); + } + + @Provides @Singleton ISessionManager provideSessionManager( + IRuntimeManager runtimeManager, + IUserManager userManager) { + + return new SessionManager( + runtimeManager, + userManager); } @Provides @Singleton IRepositoryManager provideRepositoryManager() { @@ -113,6 +131,27 @@ return gitblit; } + @Provides @Singleton Gitblit provideGitblit( + IRuntimeManager runtimeManager, + INotificationManager notificationManager, + IUserManager userManager, + ISessionManager sessionManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager, + IGitblitManager gitblitManager, + IFederationManager federationManager) { + + return new Gitblit( + runtimeManager, + notificationManager, + userManager, + sessionManager, + repositoryManager, + projectManager, + federationManager, + gitblitManager); + } + @Provides @Singleton WebApplication provideWebApplication( IRuntimeManager runtimeManager, INotificationManager notificationManager, -- Gitblit v1.9.1