From 56619e42f0a1e555c004374e7f2b13f744ab23f5 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 16 Apr 2016 15:17:12 -0400
Subject: [PATCH] Merge pull request #1047 from yyjdelete/patch-1
---
src/main/java/com/gitblit/servlet/DownloadZipServlet.java | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
index 6a64778..319c4f9 100644
--- a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
+++ b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
@@ -20,7 +20,11 @@
import java.text.ParseException;
import java.util.Date;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jgit.lib.Repository;
@@ -31,14 +35,12 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.dagger.DaggerServlet;
+import com.gitblit.manager.IFilestoreManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.utils.CompressionUtils;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MarkdownUtils;
import com.gitblit.utils.StringUtils;
-
-import dagger.ObjectGraph;
/**
* Streams out a zip file from the specified repository for any tree path at any
@@ -47,7 +49,8 @@
* @author James Moger
*
*/
-public class DownloadZipServlet extends DaggerServlet {
+@Singleton
+public class DownloadZipServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@@ -56,6 +59,8 @@
private IStoredSettings settings;
private IRepositoryManager repositoryManager;
+
+ private IFilestoreManager filestoreManager;
public static enum Format {
zip(".zip"), tar(".tar"), gz(".tar.gz"), xz(".tar.xz"), bzip2(".tar.bzip2");
@@ -76,10 +81,11 @@
}
}
- @Override
- protected void inject(ObjectGraph dagger) {
- this.settings = dagger.get(IStoredSettings.class);
- this.repositoryManager = dagger.get(IRepositoryManager.class);
+ @Inject
+ public DownloadZipServlet(IStoredSettings settings, IRepositoryManager repositoryManager, IFilestoreManager filestoreManager) {
+ this.settings = settings;
+ this.repositoryManager = repositoryManager;
+ this.filestoreManager = filestoreManager;
}
/**
@@ -168,22 +174,23 @@
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
+
try {
switch (format) {
case zip:
- CompressionUtils.zip(r, basePath, objectId, response.getOutputStream());
+ CompressionUtils.zip(r, filestoreManager, basePath, objectId, response.getOutputStream());
break;
case tar:
- CompressionUtils.tar(r, basePath, objectId, response.getOutputStream());
+ CompressionUtils.tar(r, filestoreManager, basePath, objectId, response.getOutputStream());
break;
case gz:
- CompressionUtils.gz(r, basePath, objectId, response.getOutputStream());
+ CompressionUtils.gz(r, filestoreManager, basePath, objectId, response.getOutputStream());
break;
case xz:
- CompressionUtils.xz(r, basePath, objectId, response.getOutputStream());
+ CompressionUtils.xz(r, filestoreManager, basePath, objectId, response.getOutputStream());
break;
case bzip2:
- CompressionUtils.bzip2(r, basePath, objectId, response.getOutputStream());
+ CompressionUtils.bzip2(r, filestoreManager, basePath, objectId, response.getOutputStream());
break;
}
--
Gitblit v1.9.1