From 8f1c9fd7e0f7ea3d7d0b87788eb92ba2f0f09d59 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 UserManager from GitBlit singleton

---
 src/main/java/com/gitblit/LogoServlet.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/gitblit/LogoServlet.java b/src/main/java/com/gitblit/LogoServlet.java
index 823e464..17b05cf 100644
--- a/src/main/java/com/gitblit/LogoServlet.java
+++ b/src/main/java/com/gitblit/LogoServlet.java
@@ -21,45 +21,54 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 
+import javax.inject.Inject;
+import javax.inject.Singleton;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.gitblit.manager.IRuntimeManager;
+
 /**
  * Handles requests for logo.png
- * 
+ *
  * @author James Moger
- * 
+ *
  */
+@Singleton
 public class LogoServlet extends HttpServlet {
-	
+
 	private static final long serialVersionUID = 1L;
-	
+
 	private static final long lastModified = System.currentTimeMillis();
 
-	public LogoServlet() {
+	private final IRuntimeManager runtimeManager;
+
+	@Inject
+	public LogoServlet(IRuntimeManager runtimeManager) {
 		super();
+		this.runtimeManager = runtimeManager;
 	}
-	
+
 	@Override
 	protected long getLastModified(HttpServletRequest req) {
-		File file = GitBlit.getFileOrFolder(Keys.web.headerLogo, "${baseFolder}/logo.png");
+		File file = runtimeManager.getFileOrFolder(Keys.web.headerLogo, "${baseFolder}/logo.png");
 		if (file.exists()) {
 			return Math.max(lastModified, file.lastModified());
 		} else {
 			return lastModified;
 		}
 	}
-	
+
 	@Override
 	protected void doGet(HttpServletRequest request, HttpServletResponse response)
 			throws ServletException, IOException {
 		InputStream is = null;
 		try {
 			String contentType = null;
-			File file = GitBlit.getFileOrFolder(Keys.web.headerLogo, "${baseFolder}/logo.png");
+			File file = runtimeManager.getFileOrFolder(Keys.web.headerLogo, "${baseFolder}/logo.png");
 			if (file.exists()) {
 				// custom logo
 				ServletContext context = request.getSession().getServletContext();
@@ -71,7 +80,7 @@
 				// default logo
 				response.setDateHeader("Last-Modified", lastModified);
 				is = getClass().getResourceAsStream("/logo.png");
-			}			
+			}
 			if (contentType == null) {
 				contentType = "image/png";
 			}
@@ -88,7 +97,7 @@
 		} catch (Exception e) {
 			e.printStackTrace();
 		} finally {
-			if(is != null) {
+			if (is != null) {
 				is.close();
 			}
 		}

--
Gitblit v1.9.1