branch develop updated (c585946 -> 17b3b9c)
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 c585946 refs #6698: ajout au rapport de l'import des résultats des opérations de suppresions des poids en doubles et élévation des poids new 17b3b9c refs #6822 , mieux gérer les fichiers non importés 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 17b3b9cf5b4d1b046b7c3dec2885dc77baa6ab66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 2 19:49:36 2015 +0200 refs #6822 , mieux gérer les fichiers non importés Summary of changes: .../genericformat/GenericFormatFileResult.java | 12 ++++- .../GenericformatImportPersistenceHelper.java | 11 ++-- .../importactions/ImportAccidentalCatchAction.java | 7 +++ .../importactions/ImportCatchAction.java | 8 +++ .../ImportIndividualObservationAction.java | 7 +++ .../importactions/ImportMarineLitterAction.java | 7 +++ .../importactions/ImportOperationAction.java | 59 ++++++++++++++++++++-- .../importactions/LoadAttachmentsAction.java | 7 +++ .../resources/ftl/genericFormatImportReport_fr.ftl | 17 +++++-- .../resources/i18n/tutti-service_fr_FR.properties | 15 +++--- 10 files changed, 127 insertions(+), 23 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 17b3b9cf5b4d1b046b7c3dec2885dc77baa6ab66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 2 19:49:36 2015 +0200 refs #6822 , mieux gérer les fichiers non importés --- .../genericformat/GenericFormatFileResult.java | 12 ++++- .../GenericformatImportPersistenceHelper.java | 11 ++-- .../importactions/ImportAccidentalCatchAction.java | 7 +++ .../importactions/ImportCatchAction.java | 8 +++ .../ImportIndividualObservationAction.java | 7 +++ .../importactions/ImportMarineLitterAction.java | 7 +++ .../importactions/ImportOperationAction.java | 59 ++++++++++++++++++++-- .../importactions/LoadAttachmentsAction.java | 7 +++ .../resources/ftl/genericFormatImportReport_fr.ftl | 17 +++++-- .../resources/i18n/tutti-service_fr_FR.properties | 15 +++--- 10 files changed, 127 insertions(+), 23 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatFileResult.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatFileResult.java index 614710d..759db08 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatFileResult.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatFileResult.java @@ -50,6 +50,8 @@ public class GenericFormatFileResult implements Serializable { private boolean imported; + private boolean skipped; + public GenericFormatFileResult(String filename, boolean mandatory, boolean found) { this.filename = filename; this.mandatory = mandatory; @@ -76,7 +78,7 @@ public class GenericFormatFileResult implements Serializable { } else { // must be imported and with no errors please - result = isImported() && errors.isEmpty(); + result = isSkipped() || (isImported() && errors.isEmpty()); } @@ -101,6 +103,14 @@ public class GenericFormatFileResult implements Serializable { this.imported = imported; } + public boolean isSkipped() { + return skipped; + } + + public void setSkipped(boolean skipped) { + this.skipped = skipped; + } + public boolean isFound() { return found; } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java index afe9ee4..d8b38be 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java @@ -146,16 +146,15 @@ public class GenericformatImportPersistenceHelper { return saveFishingOperation; } - public String getCatchBatchId(String operationId) { + public CatchBatch getExistingCatchBatch(String operationId) { boolean withCatchBatch = isWithCatchBatch(operationId); - String catchBatchId; + CatchBatch catchBatch; if (withCatchBatch) { - CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operationId); - catchBatchId = catchBatch.getId(); + catchBatch = persistenceService.getCatchBatchFromFishingOperation(operationId); } else { - catchBatchId = null; + catchBatch= null; } - return catchBatchId; + return catchBatch; } public boolean isWithCatchBatch(String operationId) { diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportAccidentalCatchAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportAccidentalCatchAction.java index 33623c3..c89ccba 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportAccidentalCatchAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportAccidentalCatchAction.java @@ -75,7 +75,14 @@ public class ImportAccidentalCatchAction extends ImportActionSupport { @Override protected void skipExecute() { + importContext.increments(t("tutti.service.genericFormat.skip.import.accidentalCatches")); + + if (!importContext.getImportRequest().isImportAccidentalCatch()) { + GenericFormatCsvFileResult importFileResult = importContext.getAccidentalCatchFileResult(); + importFileResult.setSkipped(true); + } + } @Override diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportCatchAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportCatchAction.java index e99659d..61bb3e9 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportCatchAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportCatchAction.java @@ -81,7 +81,15 @@ public class ImportCatchAction extends ImportActionSupport { @Override protected void skipExecute() { + importContext.increments(t("tutti.service.genericFormat.skip.import.catches")); + + if (!(importContext.getImportRequest().isImportSpecies() || + importContext.getImportRequest().isImportBenthos())) { + GenericFormatCsvFileResult importFileResult = importContext.getCatchFileResult(); + importFileResult.setSkipped(true); + } + } @Override diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportIndividualObservationAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportIndividualObservationAction.java index 70c3a6d..e62813d 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportIndividualObservationAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportIndividualObservationAction.java @@ -75,7 +75,14 @@ public class ImportIndividualObservationAction extends ImportActionSupport { @Override protected void skipExecute() { + importContext.increments(t("tutti.service.genericFormat.skip.import.individualObservations")); + + if (!importContext.getImportRequest().isImportIndividualObservation()) { + GenericFormatCsvFileResult importFileResult = importContext.getIndividualObservationFileResult(); + importFileResult.setSkipped(true); + } + } @Override diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportMarineLitterAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportMarineLitterAction.java index 887cb2b..ca254be 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportMarineLitterAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportMarineLitterAction.java @@ -75,7 +75,14 @@ public class ImportMarineLitterAction extends ImportActionSupport { @Override protected void skipExecute() { + importContext.increments(t("tutti.service.genericFormat.skip.import.marineLitters")); + + if (!importContext.getImportRequest().isImportMarineLitter()) { + GenericFormatCsvFileResult importFileResult = importContext.getMarineLitterFileResult(); + importFileResult.setSkipped(true); + } + } @Override diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportOperationAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportOperationAction.java index d6c38f4..11d02fd 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportOperationAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportOperationAction.java @@ -28,6 +28,7 @@ import com.google.common.base.Preconditions; import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.CatchBatch; +import fr.ifremer.tutti.persistence.entities.data.CatchBatchs; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.model.OperationDataModel; import fr.ifremer.tutti.service.genericformat.GenericFormatImportContext; @@ -226,11 +227,36 @@ public class ImportOperationAction extends ImportActionSupport { if (persistenceHelper.isWithCatchBatch(updatedFishingOperation.getId())) { - String existingCatchBatchId = persistenceHelper.getCatchBatchId(updatedFishingOperation.getId()); - catchBatch.setId(existingCatchBatchId); + CatchBatch existingCatchBatch = persistenceHelper.getExistingCatchBatch(updatedFishingOperation.getId()); + catchBatch.setId(existingCatchBatch.getId()); + + if (!importContext.getImportRequest().isImportSpecies()) { + + // use back existing species weights + catchBatch.setSpeciesTotalSortedWeight(existingCatchBatch.getSpeciesTotalSortedWeight()); + catchBatch.setSpeciesTotalInertWeight(existingCatchBatch.getSpeciesTotalInertWeight()); + catchBatch.setSpeciesTotalLivingNotItemizedWeight(existingCatchBatch.getSpeciesTotalLivingNotItemizedWeight()); + + } + + if (!importContext.getImportRequest().isImportBenthos()) { + + // use back existing benthos weights + catchBatch.setBenthosTotalSortedWeight(existingCatchBatch.getBenthosTotalSortedWeight()); + catchBatch.setBenthosTotalInertWeight(existingCatchBatch.getBenthosTotalInertWeight()); + catchBatch.setBenthosTotalLivingNotItemizedWeight(existingCatchBatch.getBenthosTotalLivingNotItemizedWeight()); + + } + + if (!importContext.getImportRequest().isImportMarineLitter()) { + + // use back existing marine litters weights + catchBatch.setMarineLitterTotalWeight(existingCatchBatch.getMarineLitterTotalWeight()); + + } if (log.isInfoEnabled()) { - log.info("Update catch batch (" + operationStr + "): " + existingCatchBatchId); + log.info("Update catch batch (" + operationStr + "): " + existingCatchBatch.getId()); } updatedCatchBatch = persistenceHelper.saveCatchBatch(catchBatch); @@ -260,4 +286,31 @@ public class ImportOperationAction extends ImportActionSupport { } + + private Pair<FishingOperation, CatchBatch> loadFishingOperation(FishingOperation fishingOperation) { + + String operationStr = importContext.decorate(fishingOperation); + + boolean createFishingOperation = TuttiEntities.isNew(fishingOperation); + Preconditions.checkState(!createFishingOperation, "In loadFishingOperation method, can't create new operation: " + operationStr); + Preconditions.checkState(!importContext.getImportRequest().isUpdateOperations(), "In loadFishingOperation method, must not be allowed to update operation: " + operationStr); + + if (log.isInfoEnabled()) { + log.info("Loading fishing Operation: " + operationStr); + } + + FishingOperation loadedFishingOperation = persistenceHelper.saveFishingOperation(fishingOperation); + + CatchBatch loadedCatchBatch = persistenceHelper.getExistingCatchBatch(loadedFishingOperation.getId()); + + if (loadedCatchBatch == null) { + + loadedCatchBatch = CatchBatchs.newCatchBatch(); + + } + + return Pair.of(loadedFishingOperation, loadedCatchBatch); + + } + } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/LoadAttachmentsAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/LoadAttachmentsAction.java index 48b444c..392a63a 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/LoadAttachmentsAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/LoadAttachmentsAction.java @@ -38,7 +38,14 @@ public class LoadAttachmentsAction extends ImportActionSupport { @Override protected void skipExecute() { + importContext.increments(t("tutti.service.genericFormat.skip.load.attachments")); + + if (!importContext.getImportRequest().isImportAttachments()) { + GenericFormatCsvFileResult importFileResult = importContext.getAttachmentFileResult(); + importFileResult.setSkipped(true); + } + } @Override diff --git a/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl b/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl index a3f26fb..a794e4b 100644 --- a/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl +++ b/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl @@ -212,7 +212,6 @@ <#macro renderImportFileResult fileResult anchorName showDetail> <tr> <td>${fileResult.filename}</td> - <td>${fileResult.mandatory?string('Oui', 'Non')}</td> <#if fileResult.found> <td class="valid"></td> <#if fileResult.imported> @@ -379,7 +378,6 @@ <thead> <tr> <th>Fichier</th> - <th>Obligatoire</th> <th>Présent</th> <th>Importé</th> <th>Valide</th> @@ -400,7 +398,6 @@ <thead> <tr> <th>Fichier</th> - <th>Obligatoire</th> <th>Présent</th> <th>Importé</th> <th>Valide</th> @@ -412,11 +409,21 @@ <@renderImportFileResult fileResult=gearCaracteristicFileResult anchorName="gearCaracteristicFileResult" showDetail=false/> <@renderImportFileResult fileResult=operationFileResult anchorName="operationFileResult" showDetail=false/> <@renderImportFileResult fileResult=parameterFileResult anchorName="parameterFileResult" showDetail=false/> +<#if importConfiguration.importSpecies || importConfiguration.importBenthos> <@renderImportFileResult fileResult=catchFileResult anchorName="catchFileResult" showDetail=false/> +</#if> +<#if importConfiguration.importMarineLitter> <@renderImportFileResult fileResult=marineLitterFileResult anchorName="marineLitterFileResult" showDetail=false/> +</#if> +<#if importConfiguration.importAccidentalCatch> <@renderImportFileResult fileResult=accidentalCatchFileResult anchorName="accidentalCatchFileResult" showDetail=false/> +</#if> +<#if importConfiguration.importIndividualObservation> <@renderImportFileResult fileResult=individualObservationFileResult anchorName="individualObservationFileResult" showDetail=false/> +</#if> +<#if importConfiguration.importAttachments> <@renderImportFileResult fileResult=attachmentsFileResult anchorName="attachmentsFileResult" showDetail=false/> +</#if> </tbody> </table> @@ -462,8 +469,8 @@ <ul class="small"> <li>Date de début : ${cruiseResult.cruise.beginDate?date?string.full}</li> <li>Date de fin : ${cruiseResult.cruise.endDate?date?string.full}</li> - <li>Nombre de taits créés : ${cruiseResult.nbOperationsCreated}</li> - <li>Nombre de taits mis à jour : ${cruiseResult.nbOperationsUpdated}</li> + <li>Nombre de traits créés : ${cruiseResult.nbOperationsCreated}</li> + <li>Nombre de traits mis à jour : ${cruiseResult.nbOperationsUpdated}</li> <li>Navire : ${cruiseResult.vesselName!'Inconnu'} </li> <li>Engins : <ul> diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 75c16c1..9a1805f 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -100,8 +100,7 @@ tutti.service.genericFormat.checkCruiseFishingOperation=Vérification de la camp tutti.service.genericFormat.checkWeights.fishingOperation=Vérification des poids du trait <strong>%s</strong> - <strong>%s</strong> tutti.service.genericFormat.cleanWeights.fishingOperation=Suppression des poids en double du trait <strong>%s</strong> - <strong>%s</strong> tutti.service.genericFormat.export.accidentalCatch.error=Erreur lors de l'export des captures accidentelles -tutti.service.genericFormat.export.attachment.error= -tutti.service.genericFormat.export.attachments.error= +tutti.service.genericFormat.export.attachment.error=Erreur lors de l'export des pièces-jointes tutti.service.genericFormat.export.buildZip=Création de l'archive de l'export (fichier %s) tutti.service.genericFormat.export.catches.error=Erreur lors de l'export des captures tutti.service.genericFormat.export.closeContext.error=Erreur lors de la fermeture du contexte d'export @@ -195,14 +194,14 @@ tutti.service.genericFormat.persist.update.cruise=Mise à jour de la campagne <s tutti.service.genericFormat.persist.update.operation=Mise à jour du trait <strong>%s</strong> - <strong>%s</strong> tutti.service.genericFormat.remove.existingCruise.fishingOperation=Suppression du trait <strong>%s</strong> - <strong>%s</strong> tutti.service.genericFormat.reuse.protocol=Réutilisation du protocol existant %s -tutti.service.genericFormat.skip.import.accidentalCatches= +tutti.service.genericFormat.skip.import.accidentalCatches=Ne pas importer les captures accidentelles tutti.service.genericFormat.skip.import.catches=Ne pas importer les captures tutti.service.genericFormat.skip.import.cruises=Ne pas importer les caractéristiques de campagne -tutti.service.genericFormat.skip.import.gearCaracteristics= -tutti.service.genericFormat.skip.import.individualObservations= -tutti.service.genericFormat.skip.import.marineLitters= -tutti.service.genericFormat.skip.import.operations= -tutti.service.genericFormat.skip.import.parameters= +tutti.service.genericFormat.skip.import.gearCaracteristics=Ne pas importer les caractéristiques d'engin +tutti.service.genericFormat.skip.import.individualObservations=Ne pas importer les observations individuelles +tutti.service.genericFormat.skip.import.marineLitters=Ne pas importer les macro déchets +tutti.service.genericFormat.skip.import.operations=Ne pas importer les opérations +tutti.service.genericFormat.skip.import.parameters=Ne pas importer les caractéristiques d'opération tutti.service.genericFormat.skip.import.protocol=Pas de protocole à importer tutti.service.genericFormat.skip.import.temporaryGears=Pas d'engin temporaire à importer tutti.service.genericFormat.skip.import.temporaryPersons=Pas de personne temporaire à importer -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm