From a74ddc24545ec45d0bb82ca2bb8f628ffdaa9da3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 10 Oct 2014 12:04:39 -0400
Subject: [PATCH] Improve relative path determination using Java 7 Paths

---
 src/main/java/com/gitblit/DaggerModule.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gitblit/DaggerModule.java b/src/main/java/com/gitblit/DaggerModule.java
index b109f1d..dd7e1b2 100644
--- a/src/main/java/com/gitblit/DaggerModule.java
+++ b/src/main/java/com/gitblit/DaggerModule.java
@@ -23,11 +23,13 @@
 import com.gitblit.manager.IFederationManager;
 import com.gitblit.manager.IGitblit;
 import com.gitblit.manager.INotificationManager;
+import com.gitblit.manager.IPluginManager;
 import com.gitblit.manager.IProjectManager;
 import com.gitblit.manager.IRepositoryManager;
 import com.gitblit.manager.IRuntimeManager;
 import com.gitblit.manager.IUserManager;
 import com.gitblit.manager.NotificationManager;
+import com.gitblit.manager.PluginManager;
 import com.gitblit.manager.ProjectManager;
 import com.gitblit.manager.RepositoryManager;
 import com.gitblit.manager.RuntimeManager;
@@ -36,7 +38,9 @@
 import com.gitblit.transport.ssh.IPublicKeyManager;
 import com.gitblit.transport.ssh.MemoryKeyManager;
 import com.gitblit.transport.ssh.NullKeyManager;
+import com.gitblit.utils.JSoupXssFilter;
 import com.gitblit.utils.StringUtils;
+import com.gitblit.utils.XssFilter;
 import com.gitblit.wicket.GitBlitWebApp;
 
 import dagger.Module;
@@ -52,9 +56,11 @@
 	library = true,
 	injects = {
 			IStoredSettings.class,
+			XssFilter.class,
 
 			// core managers
 			IRuntimeManager.class,
+			IPluginManager.class,
 			INotificationManager.class,
 			IUserManager.class,
 			IAuthenticationManager.class,
@@ -76,16 +82,27 @@
 		return new FileSettings();
 	}
 
-	@Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings) {
-		return new RuntimeManager(settings);
+	@Provides @Singleton XssFilter provideXssFilter() {
+		return new JSoupXssFilter();
+	}
+
+	@Provides @Singleton IRuntimeManager provideRuntimeManager(IStoredSettings settings, XssFilter xssFilter) {
+		return new RuntimeManager(settings, xssFilter);
+	}
+
+	@Provides @Singleton IPluginManager providePluginManager(IRuntimeManager runtimeManager) {
+		return new PluginManager(runtimeManager);
 	}
 
 	@Provides @Singleton INotificationManager provideNotificationManager(IStoredSettings settings) {
 		return new NotificationManager(settings);
 	}
 
-	@Provides @Singleton IUserManager provideUserManager(IRuntimeManager runtimeManager) {
-		return new UserManager(runtimeManager);
+	@Provides @Singleton IUserManager provideUserManager(
+			IRuntimeManager runtimeManager,
+			IPluginManager pluginManager) {
+
+		return new UserManager(runtimeManager, pluginManager);
 	}
 
 	@Provides @Singleton IAuthenticationManager provideAuthenticationManager(
@@ -124,10 +141,12 @@
 
 	@Provides @Singleton IRepositoryManager provideRepositoryManager(
 			IRuntimeManager runtimeManager,
+			IPluginManager pluginManager,
 			IUserManager userManager) {
 
 		return new RepositoryManager(
 				runtimeManager,
+				pluginManager,
 				userManager);
 	}
 
@@ -155,6 +174,7 @@
 
 	@Provides @Singleton IGitblit provideGitblit(
 			IRuntimeManager runtimeManager,
+			IPluginManager pluginManager,
 			INotificationManager notificationManager,
 			IUserManager userManager,
 			IAuthenticationManager authenticationManager,
@@ -165,6 +185,7 @@
 
 		return new GitBlit(
 				runtimeManager,
+				pluginManager,
 				notificationManager,
 				userManager,
 				authenticationManager,
@@ -176,6 +197,7 @@
 
 	@Provides @Singleton GitBlitWebApp provideWebApplication(
 			IRuntimeManager runtimeManager,
+			IPluginManager pluginManager,
 			INotificationManager notificationManager,
 			IUserManager userManager,
 			IAuthenticationManager authenticationManager,
@@ -187,6 +209,7 @@
 
 		return new GitBlitWebApp(
 				runtimeManager,
+				pluginManager,
 				notificationManager,
 				userManager,
 				authenticationManager,

--
Gitblit v1.9.1