Author: echatellier Date: 2017-05-09 09:54:30 +0200 (Tue, 09 May 2017) New Revision: 54 Url: http://forge.codelutin.com/projects/isis-fish-community/repository/revisions... Log: Fix compilation Modified: trunk/scripts/RunExportOnManySimulationResult.java Modified: trunk/scripts/RunExportOnManySimulationResult.java =================================================================== --- trunk/scripts/RunExportOnManySimulationResult.java 2016-08-01 09:10:37 UTC (rev 53) +++ trunk/scripts/RunExportOnManySimulationResult.java 2017-05-09 07:54:30 UTC (rev 54) @@ -32,7 +32,8 @@ import exports.Biomasses; import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.simulator.*; -import fr.ifremer.isisfish.export.Export; +import fr.ifremer.isisfish.export.ExportInfo; +import fr.ifremer.isisfish.export.ExportStep; import fr.ifremer.isisfish.export.ExportHelper; /** @@ -46,12 +47,12 @@ public class RunExportOnManySimulationResult { // nom des exports a rejouer (à modifier selon le besoin) - protected List<Export> exports = Arrays.asList( + protected List<? extends ExportInfo> exports = Arrays.asList( new Abundances(), new Biomasses() ); - public void doAllExports() throws TopiaException { + public void doAllExports() throws Exception { // prefix des noms de simulations (à configurer) String simulationPrefix = "as_test_"; int simulationCount = 2000; @@ -67,9 +68,7 @@ SimulationContext.get().setSimulationStorage(currentSimulation); // run each export for this simulation - File rootDirectory = currentSimulation.getDirectory(); - File exportDir = SimulationStorage.getResultExportDirectory(rootDirectory); - ExportHelper.doExport(currentSimulation, exportDir, exports, rootDirectory); + runExports(currentSimulation, exports); System.out.println("Exports done on simulation " + currentSimulationName); // close all @@ -77,7 +76,32 @@ } } - public static void main(String[] args) throws TopiaException { + protected void runExports(SimulationStorage currentSimulation, List<? extends ExportInfo> exports) throws Exception { + File rootDirectory = currentSimulation.getDirectory(); + File exportDir = SimulationStorage.getResultExportDirectory(rootDirectory); + + for (ExportInfo export : exports) { + File file = getExport(exportDir, export); + ExportHelper.exportToFile(currentSimulation, export.getClass().getSimpleName(), file); + } + } + + protected File getExport(File destdir, ExportInfo exportInfo) { + String filename = exportInfo.getExportFilename(); + String extension = exportInfo.getExtensionFilename(); + + File file = new File(destdir, filename + extension); + // prevent two export with same name + // name MyExport.csv become MyExport_1.csv + int val = 0; + while (file.exists()) { + val++; + file = new File(destdir, filename + extension + "_" + val); + } + return file; + } + + public static void main(String[] args) throws Exception { RunExportOnManySimulationResult runExportJob = new RunExportOnManySimulationResult(); runExportJob.doAllExports(); }