From 252dc07d7f85cc344b5919bb7c6166ef84b2102e Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gmail.com>
Date: Mon, 25 Jan 2016 11:55:58 -0500
Subject: [PATCH] Merge pull request #988 from gitblit/976-raw-download-filestore-item

---
 src/main/java/com/gitblit/servlet/DownloadZipServlet.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
index 0756256..319c4f9 100644
--- a/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
+++ b/src/main/java/com/gitblit/servlet/DownloadZipServlet.java
@@ -22,6 +22,7 @@
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
+
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletResponse;
@@ -34,6 +35,7 @@
 import com.gitblit.Constants;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
+import com.gitblit.manager.IFilestoreManager;
 import com.gitblit.manager.IRepositoryManager;
 import com.gitblit.utils.CompressionUtils;
 import com.gitblit.utils.JGitUtils;
@@ -57,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");
@@ -78,9 +82,10 @@
 	}
 
 	@Inject
-	public DownloadZipServlet(IStoredSettings settings, IRepositoryManager repositoryManager) {
+	public DownloadZipServlet(IStoredSettings settings, IRepositoryManager repositoryManager, IFilestoreManager filestoreManager) {
 		this.settings = settings;
 		this.repositoryManager = repositoryManager;
+		this.filestoreManager = filestoreManager;
 	}
 
 	/**
@@ -169,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