diff --git a/src/main/java/com/metaweb/gridworks/commands/edit/ExportProjectCommand.java b/src/main/java/com/metaweb/gridworks/commands/edit/ExportProjectCommand.java
index e96bdb622..641547e30 100644
--- a/src/main/java/com/metaweb/gridworks/commands/edit/ExportProjectCommand.java
+++ b/src/main/java/com/metaweb/gridworks/commands/edit/ExportProjectCommand.java
@@ -4,6 +4,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.zip.GZIPOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -26,11 +27,11 @@ public class ExportProjectCommand extends Command {
Project project = getProject(request);
ProjectManager.singleton.ensureProjectSaved(project.id);
- response.setHeader("Content-Type", "application/x-tar");
+ response.setHeader("Content-Type", "application/x-gzip");
OutputStream os = response.getOutputStream();
try {
- tarToOutputStream(
+ gzipTarToOutputStream(
ProjectManager.singleton.getProjectDir(project.id),
os
);
@@ -42,6 +43,15 @@ public class ExportProjectCommand extends Command {
}
}
+ protected void gzipTarToOutputStream(File dir, OutputStream os) throws IOException {
+ GZIPOutputStream gos = new GZIPOutputStream(os);
+ try {
+ tarToOutputStream(dir, gos);
+ } finally {
+ gos.close();
+ }
+ }
+
protected void tarToOutputStream(File dir, OutputStream os) throws IOException {
TarOutputStream tos = new TarOutputStream(os);
try {
diff --git a/src/main/java/com/metaweb/gridworks/commands/edit/ImportProjectCommand.java b/src/main/java/com/metaweb/gridworks/commands/edit/ImportProjectCommand.java
index 2a1afe109..518ed1781 100644
--- a/src/main/java/com/metaweb/gridworks/commands/edit/ImportProjectCommand.java
+++ b/src/main/java/com/metaweb/gridworks/commands/edit/ImportProjectCommand.java
@@ -7,6 +7,7 @@ import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
+import java.util.zip.GZIPInputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -71,7 +72,11 @@ public class ImportProjectCommand extends Command {
FilePart filePart = (FilePart) part;
InputStream inputStream = filePart.getInputStream();
try {
- internalImportInputStream(projectID, inputStream);
+ internalImportInputStream(
+ projectID,
+ inputStream,
+ !filePart.getFileName().endsWith(".tar")
+ );
} finally {
inputStream.close();
}
@@ -117,17 +122,22 @@ public class ImportProjectCommand extends Command {
}
try {
- internalImportInputStream(projectID, inputStream);
+ internalImportInputStream(projectID, inputStream, !urlString.endsWith(".tar"));
} finally {
inputStream.close();
}
}
- protected void internalImportInputStream(long projectID, InputStream inputStream) throws IOException {
+ protected void internalImportInputStream(long projectID, InputStream inputStream, boolean gziped) throws IOException {
File destDir = ProjectManager.singleton.getProjectDir(projectID);
destDir.mkdirs();
- untar(destDir, inputStream);
+ if (gziped) {
+ GZIPInputStream gis = new GZIPInputStream(inputStream);
+ untar(destDir, gis);
+ } else {
+ untar(destDir, inputStream);
+ }
}
protected void untar(File destDir, InputStream inputStream) throws IOException {
diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html
index c5d737726..a0437aa8a 100644
--- a/src/main/webapp/index.html
+++ b/src/main/webapp/index.html
@@ -1 +1 @@
-
Freebase Gridworks
Gridworks |
|
Gridworks |
|
|
Upload Data File
Import Existing Project
\ No newline at end of file
+
Freebase Gridworks
Gridworks |
|
Gridworks |
|
|
Upload Data File
Import Existing Project
\ No newline at end of file
diff --git a/src/main/webapp/scripts/project/menu-bar.js b/src/main/webapp/scripts/project/menu-bar.js
index 9d323d2e6..6b29a4886 100644
--- a/src/main/webapp/scripts/project/menu-bar.js
+++ b/src/main/webapp/scripts/project/menu-bar.js
@@ -195,7 +195,7 @@ MenuBar.prototype._exportProject = function() {
$(form)
.css("display", "none")
.attr("method", "post")
- .attr("action", "/command/export-project/" + name + ".gridworks.tar")
+ .attr("action", "/command/export-project/" + name + ".gridworks.tar.gz")
.attr("target", "gridworks-export");
$('')
.attr("name", "project")
diff --git a/src/main/webapp/styles/index.css b/src/main/webapp/styles/index.css
index aab401287..6946ac40f 100644
--- a/src/main/webapp/styles/index.css
+++ b/src/main/webapp/styles/index.css
@@ -40,7 +40,11 @@
#create-project-panel h1 {
font-size: 120%;
- margin: 1em 0;
+ margin: 2em 0 1em 0;
+}
+
+#import-project-panel-layout {
+ white-space: pre;
}
#projects {