This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 1a3f7941c70aafbac50aab68f69439cbd8d66f27 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Oct 25 16:48:44 2016 +0200 Concat files --- .../service/atlantos/ExportAtlantosService.java | 40 +++++++++++++++++----- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosService.java index 802d7a9..406fd2a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosService.java @@ -29,16 +29,18 @@ import fr.ifremer.echobase.services.service.atlantos.xml.XmlAccousticExport; import fr.ifremer.echobase.services.service.atlantos.xml.XmlBioticExport; import fr.ifremer.echobase.services.service.atlantos.xml.XmlWriter; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.inject.Inject; import java.io.FileWriter; import java.io.IOException; +import java.nio.channels.FileChannel; import java.nio.file.Path; import java.nio.file.Paths; import java.text.SimpleDateFormat; -import org.apache.commons.io.IOUtils; /** * @author Julien Ruchaud - ruchaud@codelutin.com @@ -77,7 +79,7 @@ public class ExportAtlantosService extends EchoBaseServiceSupport { String year = formatter.format(voyage.getStartDate()); // Export Accoustic - Path outputAccousticHead = Paths.get(basePath, "Acoustic_" + year + name + "-head.xml"); + Path outputAccousticHead = Paths.get(basePath, "Acoustic_" + year + name + ".xml"); FileWriter fileAccousticHead = new FileWriter(outputAccousticHead.toFile()); XmlWriter xmlAccousticHead = new XmlWriter(fileAccousticHead); @@ -90,14 +92,27 @@ public class ExportAtlantosService extends EchoBaseServiceSupport { XmlWriter xmlAccousticCruise = new XmlWriter(fileAccousticCruise); xmlAccousticExport.doExport(voyage, xmlAccousticHead, xmlAccousticVoca, xmlAccousticCruise); - fileAccousticHead.flush(); - fileAccousticVoca.flush(); - fileAccousticCruise.flush(); + fileAccousticHead.close(); + fileAccousticVoca.close(); + fileAccousticCruise.close(); + + FileChannel outAccoustic = new FileOutputStream(outputAccousticHead.toFile(), true).getChannel(); + FileChannel inAccousticVoca = new FileInputStream(outputAccousticVoca.toFile()).getChannel(); + FileChannel inAccousticCruise = new FileInputStream(outputAccousticCruise.toFile()).getChannel(); + outAccoustic.transferFrom(inAccousticVoca, 0, inAccousticVoca.size()); + outAccoustic.transferFrom(inAccousticCruise, 0, inAccousticCruise.size()); + + outAccoustic.close(); + inAccousticVoca.close(); + inAccousticCruise.close(); + + outputAccousticVoca.toFile().delete(); + outputAccousticCruise.toFile().delete(); model.incrementsProgress(); // Export Biotic - Path outputBioticVoca = Paths.get(basePath, "Biotic_" + year + name + "-voca.xml"); + Path outputBioticVoca = Paths.get(basePath, "Biotic_" + year + name + ".xml"); FileWriter fileBioticVoca = new FileWriter(outputBioticVoca.toFile()); XmlWriter xmlBioticVoca = new XmlWriter(fileBioticVoca); @@ -106,8 +121,17 @@ public class ExportAtlantosService extends EchoBaseServiceSupport { XmlWriter xmlBioticCruise = new XmlWriter(fileBioticCruise); xmlBioticExport.doExport(voyage, xmlBioticVoca, xmlBioticCruise); - fileBioticVoca.flush(); - fileBioticCruise.flush(); + fileBioticVoca.close(); + fileBioticCruise.close(); + + FileChannel outBiotic = new FileOutputStream(outputBioticVoca.toFile(), true).getChannel(); + FileChannel inBioticCruise = new FileInputStream(outputBioticCruise.toFile()).getChannel(); + outBiotic.transferFrom(inBioticCruise, 0, inBioticCruise.size()); + + outBiotic.close(); + inBioticCruise.close(); + + outputBioticCruise.toFile().delete(); model.incrementsProgress(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.