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/RpcServlet.java | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/gitblit/RpcServlet.java b/src/main/java/com/gitblit/RpcServlet.java
index a8fa6f8..a3629b9 100644
--- a/src/main/java/com/gitblit/RpcServlet.java
+++ b/src/main/java/com/gitblit/RpcServlet.java
@@ -23,6 +23,8 @@
import java.util.List;
import java.util.Map;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -53,14 +55,41 @@
* @author James Moger
*
*/
+@Singleton
public class RpcServlet extends JsonServlet {
private static final long serialVersionUID = 1L;
public static final int PROTOCOL_VERSION = 6;
- public RpcServlet() {
+ private final IStoredSettings settings;
+
+ private final IRuntimeManager runtimeManager;
+
+ private final IUserManager userManager;
+
+ private final IRepositoryManager repositoryManager;
+
+ private final IFederationManager federationManager;
+
+ private final IGitblitManager gitblitManager;
+
+ @Inject
+ public RpcServlet(
+ IRuntimeManager runtimeManager,
+ IUserManager userManager,
+ IRepositoryManager repositoryManager,
+ IFederationManager federationManager,
+ IGitblitManager gitblitManager) {
+
super();
+
+ this.settings = runtimeManager.getSettings();
+ this.runtimeManager = runtimeManager;
+ this.userManager = userManager;
+ this.repositoryManager = repositoryManager;
+ this.federationManager = federationManager;
+ this.gitblitManager = gitblitManager;
}
/**
@@ -78,13 +107,6 @@
String objectName = request.getParameter("name");
logger.info(MessageFormat.format("Rpc {0} request from {1}", reqType,
request.getRemoteAddr()));
-
- IRuntimeManager runtimeManager = GitBlit.getManager(IRuntimeManager.class);
- IUserManager userManager = GitBlit.getManager(IUserManager.class);
- IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class);
- IGitblitManager gitblitManager = GitBlit.getManager(IGitblitManager.class);
- IFederationManager federationManager = GitBlit.getManager(IFederationManager.class);
- IStoredSettings settings = runtimeManager.getSettings();
UserModel user = (UserModel) request.getUserPrincipal();
--
Gitblit v1.9.1