Author: chatellier Date: 2009-05-03 18:18:42 +0000 (Sun, 03 May 2009) New Revision: 2164 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java Log: Add log. Compress simulation in tbz2. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-05-03 08:58:08 UTC (rev 2163) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-05-03 18:18:42 UTC (rev 2164) @@ -23,12 +23,12 @@ import java.io.File; import java.io.FileInputStream; -import java.util.Collections; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.util.FileUtil; +import org.codelutin.util.Tbz2Util; import org.codelutin.util.ZipUtil; import org.codelutin.util.ApplicationConfig.Action.Step; @@ -136,15 +136,19 @@ * @param simulationId id de simulation * @param simulationZip zip de la simulation * @param simulationPrescript simulation prescript (can be null, empty) - * @param simulationResultZip simulation result zip + * @param simulationResultArchive simulation result archive (tbz2 or zip) * @throws Exception */ @Step(IsisConfig.STEP_AFTER_INIT_VCS) - public static void simulateRemotellyWithPreScript(String simulationId, File simulationZip, File simulationResultZip, File simulationPrescript) + public static void simulateRemotellyWithPreScript(String simulationId, File simulationZip, File simulationResultArchive, File simulationPrescript) throws Exception { if (log.isInfoEnabled()) { - log.info("Command line action : simulateRemotelly (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")"); + log.info("Command line action : simulateRemotelly"); + log.info(" simulation id : " + simulationId); + log.info(" simulation zip : " + simulationZip); + log.info(" result archive : " + simulationResultArchive); + log.info(" prescript file : " + simulationPrescript); } String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date()); @@ -175,11 +179,27 @@ // FIXME more performant than simulationStorage.createZip //ZipUtil.compressFiles(simulationResultZip, simulationStorage.getFile(), // Collections.singletonList(new File(simulationStorage.getFile(), simulationStorage.getName())), true); - ZipUtil.compress(simulationResultZip, simulationStorage.getFile(), null, true); + // if .tbz2 or .tar.bz2 + if (simulationResultArchive.getName().endsWith("bz2")) { + if (log.isInfoEnabled()) { + log.info("Compressing simulation as tar/bzip2 : " + simulationResultArchive); + } + Tbz2Util.compress(simulationResultArchive, simulationStorage.getFile(), null, true); + } + else { + if (log.isInfoEnabled()) { + log.info("Compressing simulation as zip : " + simulationResultArchive); + } + ZipUtil.compress(simulationResultArchive, simulationStorage.getFile(), null, true); + } + simulationStorage.getStorage().closeContext(); // remove simulation + if (log.isInfoEnabled()) { + log.info("Deleting simulation : " + simulationStorage.getRoot()); + } simulationStorage.delete(false); // FIXME integrer ca dans le process normal d'init