summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/RpcServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/gitblit/RpcServlet.java')
-rw-r--r--src/main/java/com/gitblit/RpcServlet.java38
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 a8fa6f83..a3629b9c 100644
--- a/src/main/java/com/gitblit/RpcServlet.java
+++ b/src/main/java/com/gitblit/RpcServlet.java
@@ -23,6 +23,8 @@ import java.util.HashMap;
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 @@ import com.gitblit.utils.StringUtils;
* @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;
}
/**
@@ -79,13 +108,6 @@ public class RpcServlet extends JsonServlet {
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();
boolean allowManagement = user != null && user.canAdmin()