From bdfdc9c65c5eb2786b7dd8e33ba8a12a3bafe86d 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 NotificationManager from GitBlit singleton

---
 src/main/java/com/gitblit/git/GitServlet.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitServlet.java b/src/main/java/com/gitblit/git/GitServlet.java
index 0233cd9..35470a2 100644
--- a/src/main/java/com/gitblit/git/GitServlet.java
+++ b/src/main/java/com/gitblit/git/GitServlet.java
@@ -15,12 +15,13 @@
  */
 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.Gitblit;
 
 /**
  * The GitServlet provides http/https access to Git repositories.
@@ -29,16 +30,24 @@
  * @author James Moger
  *
  */
+@Singleton
 public class GitServlet extends org.eclipse.jgit.http.server.GitServlet {
 
 	private static final long serialVersionUID = 1L;
 
+	private final Gitblit gitblit;
+
+	@Inject
+	public GitServlet(Gitblit gitblit) {
+		super();
+		this.gitblit = gitblit;
+	}
+
 	@Override
 	public void init(ServletConfig config) throws ServletException {
-		IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class);
-		setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(repositoryManager.getRepositoriesFolder()));
-		setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>());
-		setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>());
+		setRepositoryResolver(new RepositoryResolver<HttpServletRequest>(gitblit));
+		setUploadPackFactory(new GitblitUploadPackFactory<HttpServletRequest>(gitblit));
+		setReceivePackFactory(new GitblitReceivePackFactory<HttpServletRequest>(gitblit));
 		super.init(config);
 	}
 }

--
Gitblit v1.9.1