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/DownloadZipServlet.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gitblit/DownloadZipServlet.java b/src/main/java/com/gitblit/DownloadZipServlet.java index c8da267..d629dcf 100644 --- a/src/main/java/com/gitblit/DownloadZipServlet.java +++ b/src/main/java/com/gitblit/DownloadZipServlet.java @@ -20,6 +20,8 @@ import java.text.ParseException; import java.util.Date; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletResponse; @@ -29,6 +31,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.utils.CompressionUtils; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.MarkdownUtils; @@ -41,11 +45,16 @@ * @author James Moger * */ +@Singleton public class DownloadZipServlet extends HttpServlet { private static final long serialVersionUID = 1L; private transient Logger logger = LoggerFactory.getLogger(DownloadZipServlet.class); + + private final IStoredSettings settings; + + private final IRepositoryManager repositoryManager; public static enum Format { zip(".zip"), tar(".tar"), gz(".tar.gz"), xz(".tar.xz"), bzip2(".tar.bzip2"); @@ -66,8 +75,14 @@ } } - public DownloadZipServlet() { + @Inject + public DownloadZipServlet( + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager) { + super(); + this.settings = runtimeManager.getSettings(); + this.repositoryManager = repositoryManager; } /** @@ -101,7 +116,7 @@ private void processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { - if (!GitBlit.getBoolean(Keys.web.allowZipDownloads, true)) { + if (!settings.getBoolean(Keys.web.allowZipDownloads, true)) { logger.warn("Zip downloads are disabled"); response.sendError(HttpServletResponse.SC_FORBIDDEN); return; @@ -130,9 +145,9 @@ name += "-" + objectId; } - Repository r = GitBlit.self().getRepository(repository); + Repository r = repositoryManager.getRepository(repository); if (r == null) { - if (GitBlit.self().isCollectingGarbage(repository)) { + if (repositoryManager.isCollectingGarbage(repository)) { error(response, MessageFormat.format("# Error\nGitblit is busy collecting garbage in {0}", repository)); return; } else { -- Gitblit v1.9.1