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 1d114222018e6ce5c2012fa313374fee99f82520 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Oct 25 18:32:49 2016 +0200 Export altantos on a vessel --- .../service/atlantos/ExportAtlantosConfiguration.java | 12 ++++++++++++ .../service/atlantos/ExportAtlantosService.java | 11 ++++++++--- .../services/service/atlantos/xml/XmlBioticExport.java | 17 ++++++----------- .../service/atlantos/ExportAtlantosServiceTest.java | 1 + 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosConfiguration.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosConfiguration.java index edf8fa1..2d05408 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosConfiguration.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosConfiguration.java @@ -51,6 +51,10 @@ public class ExportAtlantosConfiguration extends AbstractEchobaseActionConfigura */ private String voyageId; + /** + * Id of vessel to export. + */ + private String vesselId; public ExportAtlantosConfiguration() { } @@ -83,6 +87,14 @@ public class ExportAtlantosConfiguration extends AbstractEchobaseActionConfigura this.voyageId = voyageId; } + public String getVesselId() { + return vesselId; + } + + public void setVesselId(String vesselId) { + this.vesselId = vesselId; + } + @Override public void destroy() throws IOException { if (workingDirectory != null) { 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 406fd2a..1ba76f0 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 @@ -23,6 +23,7 @@ package fr.ifremer.echobase.services.service.atlantos; import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.service.UserDbPersistenceService; import fr.ifremer.echobase.services.service.atlantos.xml.XmlAccousticExport; @@ -71,10 +72,14 @@ public class ExportAtlantosService extends EchoBaseServiceSupport { Voyage voyage = persistenceService.getVoyage(model.getVoyageId()); Preconditions.checkNotNull(voyage); + Vessel vessel = persistenceService.getVessel(model.getVesselId()); + Preconditions.checkNotNull(vessel); + File tempDirectory = model.getWorkingDirectory(); String basePath = tempDirectory.getAbsolutePath(); String name = voyage.getName(); + String vesselCode = vessel.getCode(); SimpleDateFormat formatter = new SimpleDateFormat("YYYY"); String year = formatter.format(voyage.getStartDate()); @@ -112,15 +117,15 @@ public class ExportAtlantosService extends EchoBaseServiceSupport { model.incrementsProgress(); // Export Biotic - Path outputBioticVoca = Paths.get(basePath, "Biotic_" + year + name + ".xml"); + Path outputBioticVoca = Paths.get(basePath, "Biotic_" + year + name + vesselCode + ".xml"); FileWriter fileBioticVoca = new FileWriter(outputBioticVoca.toFile()); XmlWriter xmlBioticVoca = new XmlWriter(fileBioticVoca); - Path outputBioticCruise = Paths.get(basePath, "Biotic_" + year + name + "-cruise.xml"); + Path outputBioticCruise = Paths.get(basePath, "Biotic_" + year + name + vesselCode + "-cruise.xml"); FileWriter fileBioticCruise = new FileWriter(outputBioticCruise.toFile()); XmlWriter xmlBioticCruise = new XmlWriter(fileBioticCruise); - xmlBioticExport.doExport(voyage, xmlBioticVoca, xmlBioticCruise); + xmlBioticExport.doExport(voyage, vessel, xmlBioticVoca, xmlBioticCruise); fileBioticVoca.close(); fileBioticCruise.close(); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java index 606e225..4122393 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java @@ -12,6 +12,7 @@ import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.SampleDataTypeImpl; import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.services.EchoBaseService; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import java.io.IOException; @@ -51,7 +52,7 @@ public class XmlBioticExport implements EchoBaseService { @Inject protected VocabularyExport vocabulary; - public void doExport(Voyage voyage, XmlWriter xmlVoca, XmlWriter xmlCruise) throws IOException { + public void doExport(Voyage voyage, Vessel vessel, XmlWriter xmlVoca, XmlWriter xmlCruise) throws IOException { vocabulary.init(xmlVoca); // EXPORT BIOTIC @@ -61,16 +62,10 @@ public class XmlBioticExport implements EchoBaseService { "xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); vocabulary.begin(); - Collection<Transit> transits = voyage.getTransit(); - Transit transit = transits.iterator().next(); - - Collection<Transect> transects = transit.getTransect(); - Transect transect = transects.iterator().next(); - - exportCruise(voyage, transect, xmlCruise); + exportCruise(voyage, vessel, xmlCruise); int index = 1; - Collection<Operation> operations = voyage.getAllOperations(); + Collection<Operation> operations = voyage.getOperations(vessel); for (Operation operation : operations) { // EXPORT HAUL @@ -142,7 +137,7 @@ public class XmlBioticExport implements EchoBaseService { vocabulary.end(); } - public void exportCruise(Voyage voyage, Transect transect, XmlWriter xml) throws IOException { + public void exportCruise(Voyage voyage, Vessel vessel, XmlWriter xml) throws IOException { xml.open("Cruise"); xml.create("Survey", @@ -150,7 +145,7 @@ public class XmlBioticExport implements EchoBaseService { xml.create("Country", "IDREF", vocabulary.getVocabularyCode(voyage.getMission().getCountry(), "ISO_3166_FR")); xml.create("Platform", - "IDREF", vocabulary.getVocabularyCode(transect.getVessel().getCode(), "SHIPC_35HT")); + "IDREF", vocabulary.getVocabularyCode(vessel.getCode(), "SHIPC_35HT")); xml.create("StartDate", EchoBaseCsvUtil.ISO8611_DATE_FORMATTER.format(voyage.getStartDate())); xml.create("EndDate", diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosServiceTest.java index 7a0708b..21a3b93 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/atlantos/ExportAtlantosServiceTest.java @@ -54,6 +54,7 @@ public class ExportAtlantosServiceTest extends EchoBaseTestServiceSupport { ExportAtlantosConfiguration model = new ExportAtlantosConfiguration(); model.setVoyageId(getVoyageId()); + model.setVesselId(fixtures.VESSEL_ID()); model.setWorkingDirectory(workingDirectory); exportService.doXmlExport(model); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.