From 5200b359257c2ab5e29781c2b05c6092fc8338f8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:05:50 -0500
Subject: [PATCH] Eliminate static singleton calls from user services
---
src/main/java/com/gitblit/git/GitServlet.java | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/gitblit/git/GitServlet.java b/src/main/java/com/gitblit/git/GitServlet.java
index 310d4da..e4719d9 100644
--- a/src/main/java/com/gitblit/git/GitServlet.java
+++ b/src/main/java/com/gitblit/git/GitServlet.java
@@ -15,11 +15,16 @@
*/
package com.gitblit.git;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
-import com.gitblit.GitBlit;
+import com.gitblit.manager.IRepositoryManager;
+import com.gitblit.manager.IRuntimeManager;
+import com.gitblit.manager.ISessionManager;
+import com.gitblit.manager.IUserManager;
/**
* The GitServlet provides http/https access to Git repositories.
@@ -28,15 +33,37 @@
* @author James Moger
*
*/
+@Singleton
public class GitServlet extends org.eclipse.jgit.http.server.GitServlet {
private static final long serialVersionUID = 1L;
+ private final IRuntimeManager runtimeManager;
+
+ private final IUserManager userManager;
+
+ private final ISessionManager sessionManager;
+
+ private final IRepositoryManager repositoryManager;
+
+ @Inject
+ public GitServlet(
+ IRuntimeManager runtimeManager,
+ IUserManager userManager,
+ ISessionManager sessionManager,
+ IRepositoryManager repositoryManager) {
+ super();
+ this.runtimeManager = runtimeManager;
+ this.userManager = userManager;
+ this.sessionManager = sessionManager;
+ this.repositoryManager = repositoryManager;
+ }
+
@Override
public void init(ServletConfig config) throws ServletException {
- setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(GitBlit.getRepositoriesFolder()));
- setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>());
- setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>());
+ setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(sessionManager, repositoryManager));
+ setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(sessionManager));
+ setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(runtimeManager, userManager, repositoryManager));
super.init(config);
}
}
--
Gitblit v1.9.1