From 04a98505a4ab8f48aee22800fcac193d9367d0ae 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] Refactor user services and separate authentication (issue-281) --- src/main/java/com/gitblit/DaggerModule.java | 92 +++++++++++++++++++++++++++++++-------------- 1 files changed, 63 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java index 8cd9c8b..cc83694 100644 --- a/src/main/java/com/gitblit/DaggerModule.java +++ b/src/main/java/com/gitblit/DaggerModule.java @@ -20,20 +20,39 @@ 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.GitblitManager; +import com.gitblit.manager.IAuthenticationManager; 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.ISessionManager; +import com.gitblit.manager.IServicesManager; 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.SessionManager; +import com.gitblit.manager.ServicesManager; 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; @@ -47,6 +66,7 @@ * */ @Module( + library = true, injects = { IStoredSettings.class, @@ -54,14 +74,15 @@ IRuntimeManager.class, INotificationManager.class, IUserManager.class, - ISessionManager.class, + IAuthenticationManager.class, IRepositoryManager.class, IProjectManager.class, IGitblitManager.class, IFederationManager.class, + IServicesManager.class, // the monolithic manager - Gitblit.class, + GitBlit.class, // filters & servlets GitServlet.class, @@ -85,13 +106,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(); } @@ -108,11 +122,11 @@ return new UserManager(runtimeManager); } - @Provides @Singleton ISessionManager provideSessionManager( + @Provides @Singleton IAuthenticationManager provideAuthenticationManager( IRuntimeManager runtimeManager, IUserManager userManager) { - return new SessionManager( + return new AuthenticationManager( runtimeManager, userManager); } @@ -137,40 +151,60 @@ repositoryManager); } - @Provides @Singleton IGitblitManager provideGitblitManager() { - return gitblit; - } - - @Provides @Singleton IFederationManager provideFederationManager() { - return gitblit; - } - - @Provides @Singleton Gitblit provideGitblit( + @Provides @Singleton IFederationManager provideFederationManager( IRuntimeManager runtimeManager, INotificationManager notificationManager, IUserManager userManager, - ISessionManager sessionManager, + IRepositoryManager repositoryManager) { + + return new FederationManager( + runtimeManager, + notificationManager, + userManager, + repositoryManager); + } + + @Provides @Singleton IGitblitManager provideGitblitManager( + IRuntimeManager runtimeManager, + IUserManager userManager, + IRepositoryManager repositoryManager) { + + return new GitblitManager( + runtimeManager, + userManager, + repositoryManager); + } + + @Provides @Singleton GitBlit provideGitblit( + IRuntimeManager runtimeManager, + INotificationManager notificationManager, + IUserManager userManager, + IAuthenticationManager authenticationManager, IRepositoryManager repositoryManager, IProjectManager projectManager, IGitblitManager gitblitManager, IFederationManager federationManager) { - return new Gitblit( + return new GitBlit( runtimeManager, notificationManager, userManager, - sessionManager, + authenticationManager, repositoryManager, projectManager, - federationManager, - gitblitManager); + gitblitManager, + federationManager); + } + + @Provides @Singleton IServicesManager provideServicesManager(GitBlit gitblit) { + return new ServicesManager(gitblit); } @Provides @Singleton WebApplication provideWebApplication( IRuntimeManager runtimeManager, INotificationManager notificationManager, IUserManager userManager, - ISessionManager sessionManager, + IAuthenticationManager authenticationManager, IRepositoryManager repositoryManager, IProjectManager projectManager, IGitblitManager gitblitManager, @@ -180,7 +214,7 @@ runtimeManager, notificationManager, userManager, - sessionManager, + authenticationManager, repositoryManager, projectManager, gitblitManager, -- Gitblit v1.9.1