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