From a43956e15407e2a6e8c3c8ddea4c020cf5b45644 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Tue, 27 Apr 2010 15:44:32 +0000
Subject: [PATCH] zip results up optionally

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@13757 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/j2ssh/SshPSUClient.java | 22 ++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java b/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
index 5bd510588..a686369ec 100644
--- a/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
+++ b/uk/ac/sanger/artemis/j2ssh/SshPSUClient.java
@@ -24,6 +24,7 @@
 
 package uk.ac.sanger.artemis.j2ssh;
 
+import uk.ac.sanger.artemis.Options;
 import uk.ac.sanger.artemis.components.MessageDialog;
 
 import javax.swing.JFileChooser;
@@ -68,6 +69,7 @@ public class SshPSUClient extends Thread
   private SshClient ssh;
   private String user;
   private boolean keep = false;
+  private boolean zipResults = false;
   
   //
   StdoutStdErrHandler stdouth;
@@ -273,6 +275,14 @@ public class SshPSUClient extends Thread
         db = "%uniprot";
     } 
 
+    if(settings.getProperty("zip") != null)
+    {
+      String zipValue = settings.getProperty("zip");
+      zipResults = Boolean.parseBoolean(zipValue);
+      
+      logger4j.debug("zip results :: "+zipResults);
+    }
+    
     if(wdir == null && settings.getProperty("wdir") != null)
       wdir = settings.getProperty("wdir");
 
@@ -494,11 +504,19 @@ public class SshPSUClient extends Thread
       }
 
       logger4j.debug("GET SUCCESS "+filepath+".out");
-
+      sftp.rm(wdir+filename);
+      
       if(!keep)
       {
         sftp.rm(outputfile);
-        sftp.rm(wdir+filename);
+      }
+      else if(zipResults)
+      {
+        cmd = "gzip "+outputfile+"; zip -j "+wdir+program+".zip "+
+                                    outputfile+".gz; rm -f "+outputfile+".gz";
+        logger4j.debug(cmd);
+        SshPSUClient sshClient = new SshPSUClient(cmd);
+        sshClient.start();
       }
       sftp = getSftpClient();
       sftp.rm(outputfile+".err");
-- 
GitLab