branch develop updated (367cec8 -> 9924782)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 367cec8 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new 9924782 fixes #6789: [EXPORT GENERIQUE] Les fichiers exportés peuvent être vides The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 99247825e8502a332df3960d41bc7cc1637c2b8a Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Mar 4 19:30:56 2015 +0100 fixes #6789: [EXPORT GENERIQUE] Les fichiers exportés peuvent être vides Summary of changes: .../fr/ifremer/tutti/service/csv/CsvProducer.java | 5 ++ .../genericformat/GenericFormatExportContext.java | 82 ++++++++++++++++++---- .../genericformat/GenericFormatExportService.java | 4 ++ 3 files changed, 77 insertions(+), 14 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 99247825e8502a332df3960d41bc7cc1637c2b8a Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Mar 4 19:30:56 2015 +0100 fixes #6789: [EXPORT GENERIQUE] Les fichiers exportés peuvent être vides --- .../fr/ifremer/tutti/service/csv/CsvProducer.java | 5 ++ .../genericformat/GenericFormatExportContext.java | 82 ++++++++++++++++++---- .../genericformat/GenericFormatExportService.java | 4 ++ 3 files changed, 77 insertions(+), 14 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/csv/CsvProducer.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/csv/CsvProducer.java index ee66703..751d459 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/csv/CsvProducer.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/csv/CsvProducer.java @@ -35,6 +35,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -81,4 +82,8 @@ public abstract class CsvProducer<O, M extends AbstractTuttiImportExportModel<O> } } + public void writeEmpty() throws Exception { + export.write(Collections.<O>emptyList(), writer); + } + } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportContext.java index 55d603a..2c2510a 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportContext.java @@ -60,6 +60,7 @@ import fr.ifremer.tutti.service.referential.producer.CsvProducerForTemporarySpec import fr.ifremer.tutti.service.referential.producer.CsvProducerForTemporaryVessel; import org.apache.commons.io.IOUtils; import org.nuiton.decorator.Decorator; +import org.nuiton.jaxx.application.ApplicationTechnicalException; import java.io.Closeable; import java.io.File; @@ -67,6 +68,8 @@ import java.io.IOException; import java.util.List; import java.util.Map; +import static org.nuiton.i18n.I18n.t; + /** * Created on 2/5/15. * @@ -127,6 +130,10 @@ public class GenericFormatExportContext implements Closeable { protected String checkError; + private boolean cruiseExported; + + private boolean operationExported; + GenericFormatExportContext(ProgressionModel progressionModel, GenericFormatArchive archive, char csvSeparator, @@ -217,20 +224,51 @@ public class GenericFormatExportContext implements Closeable { @Override public void close() throws IOException { - IOUtils.closeQuietly(producerForSurvey); - IOUtils.closeQuietly(producerForSpecies); - IOUtils.closeQuietly(producerForGearCaracteristics); - IOUtils.closeQuietly(producerForOperation); - IOUtils.closeQuietly(producerForParameter); - IOUtils.closeQuietly(producerForAccidentalCatch); - IOUtils.closeQuietly(producerForIndividualObservation); - IOUtils.closeQuietly(producerForCatch); - IOUtils.closeQuietly(producerForMarineLitter); - IOUtils.closeQuietly(producerForTemporaryGear); - IOUtils.closeQuietly(producerForTemporaryPerson); - IOUtils.closeQuietly(producerForTemporarySpecies); - IOUtils.closeQuietly(producerForTemporaryVessel); - IOUtils.closeQuietly(producerForSampleCategory); + try { + if (!isCruiseExported()) { + + try { + producerForSurvey.writeEmpty(); + producerForGearCaracteristics.writeEmpty(); + } catch (Exception e) { + throw new ApplicationTechnicalException(t("tutti.service.genericFormat.export.survey.error"), e); + } + + } + + if (!isOperationExported()) { + + try { + producerForOperation.writeEmpty(); + producerForParameter.writeEmpty(); + producerForAccidentalCatch.writeEmpty(); + producerForIndividualObservation.writeEmpty(); + producerForCatch.writeEmpty(); + producerForMarineLitter.writeEmpty(); + + } catch (Exception e) { + throw new ApplicationTechnicalException(t("tutti.service.genericFormat.export.operations.error"), e); + } + + } + } finally { + + IOUtils.closeQuietly(producerForSurvey); + IOUtils.closeQuietly(producerForSpecies); + IOUtils.closeQuietly(producerForGearCaracteristics); + IOUtils.closeQuietly(producerForOperation); + IOUtils.closeQuietly(producerForParameter); + IOUtils.closeQuietly(producerForAccidentalCatch); + IOUtils.closeQuietly(producerForIndividualObservation); + IOUtils.closeQuietly(producerForCatch); + IOUtils.closeQuietly(producerForMarineLitter); + IOUtils.closeQuietly(producerForTemporaryGear); + IOUtils.closeQuietly(producerForTemporaryPerson); + IOUtils.closeQuietly(producerForTemporarySpecies); + IOUtils.closeQuietly(producerForTemporaryVessel); + IOUtils.closeQuietly(producerForSampleCategory); + + } } @@ -309,4 +347,20 @@ public class GenericFormatExportContext implements Closeable { public void increments(String message) { progressionModel.increments(message); } + + public void setCruiseExported(boolean cruiseExported) { + this.cruiseExported = cruiseExported; + } + + public boolean isCruiseExported() { + return cruiseExported; + } + + public void setOperationExported(boolean operationExported) { + this.operationExported = operationExported; + } + + public boolean isOperationExported() { + return operationExported; + } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java index 7a08184..59b9b63 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java @@ -487,6 +487,8 @@ public class GenericFormatExportService extends GenericFormatServiceSupport { } protected void exportCruise(GenericFormatExportContext exportContext, Cruise cruise, List<FishingOperation> operations) { + + exportContext.setCruiseExported(true); exportSurvey(exportContext, cruise); @@ -552,6 +554,8 @@ public class GenericFormatExportService extends GenericFormatServiceSupport { protected void exportOperation(GenericFormatExportContext exportContext, Cruise cruise, FishingOperation operation) { + exportContext.setOperationExported(true); + GenericFormatExportOperationContext operationContext = exportContext.newOperationContext(cruise, operation); exportContext.increments(t("tutti.service.genericFormat.exportCruise.exportOperation", cruise.getName(), operationContext.getOperationLabel())); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm