branch develop updated (919567b -> 9187b52)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 919567b fixes #8335 new 9187b52 Revert "fixes #8335" 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 9187b52937fec24963ae8c369647f82508ad504b Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Mon Jun 20 10:34:51 2016 +0200 Revert "fixes #8335" This reverts commit 919567bb552e259bc94180a16209b5d23a97b799. Summary of changes: .../GenericFormatImportOperationContext.java | 21 ++-------- .../GenericFormatImportOperationResult.java | 12 ++---- .../GenericformatImportPersistenceHelper.java | 3 +- .../ImportIndividualObservationAction.java | 45 ++++++++-------------- .../resources/ftl/genericFormatImportReport_fr.ftl | 7 +--- 5 files changed, 24 insertions(+), 64 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 https://gitlab.nuiton.org/codelutin/tutti.git commit 9187b52937fec24963ae8c369647f82508ad504b Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Mon Jun 20 10:34:51 2016 +0200 Revert "fixes #8335" This reverts commit 919567bb552e259bc94180a16209b5d23a97b799. --- .../GenericFormatImportOperationContext.java | 21 ++-------- .../GenericFormatImportOperationResult.java | 12 ++---- .../GenericformatImportPersistenceHelper.java | 3 +- .../ImportIndividualObservationAction.java | 45 ++++++++-------------- .../resources/ftl/genericFormatImportReport_fr.ftl | 7 +--- 5 files changed, 24 insertions(+), 64 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationContext.java index 0b23063..b262a20 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationContext.java @@ -39,19 +39,19 @@ import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchs; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.model.OperationDataModel; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; + import java.io.Closeable; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; /** * Created on 2/20/15. @@ -75,12 +75,8 @@ public class GenericFormatImportOperationContext implements Closeable { private final Map<Integer, AccidentalBatch> accidentalBatchesById; - /** all observation available in imported file */ private final Map<Integer, IndividualObservationBatch> individualObservationBatchesById; - /** valid observation realy imported in database */ - private List<IndividualObservationBatch> individualObservationBatchImported; - private final Map<Integer, SpeciesBatch> vracSpeciesBatches; private final Map<Integer, SpeciesBatch> horsVracSpeciesBatches; @@ -123,7 +119,6 @@ public class GenericFormatImportOperationContext implements Closeable { this.marineLitterBatches = new ArrayList<>(); this.accidentalBatchesById = new TreeMap<>(); this.individualObservationBatchesById = new TreeMap<>(); - this.individualObservationBatchImported = Collections.emptyList(); this.vracSpeciesBatches = new TreeMap<>(); this.horsVracSpeciesBatches = new TreeMap<>(); this.speciesFrequencies = ArrayListMultimap.create(); @@ -254,14 +249,6 @@ public class GenericFormatImportOperationContext implements Closeable { return ImmutableList.copyOf(individualObservationBatchesById.values()); } - public List<IndividualObservationBatch> getIndividualObservationBatchImported() { - return individualObservationBatchImported; - } - - public void setIndividualObservationBatchImported(List<IndividualObservationBatch> imported) { - individualObservationBatchImported = imported; - } - public int getNbSpeciesTaxon() { Set<Species> speciesSet = new HashSet<>(); SpeciesBatchs.grabSpeciesChildBatchs(vracSpeciesBatches.values(), speciesSet); @@ -319,7 +306,6 @@ public class GenericFormatImportOperationContext implements Closeable { vesselUseFeatures.clear(); marineLitterBatches.clear(); individualObservationBatchesById.clear(); - individualObservationBatchImported.clear(); accidentalBatchesById.clear(); benthosFrequencies.clear(); vracBenthosBatches.clear(); @@ -358,6 +344,5 @@ public class GenericFormatImportOperationContext implements Closeable { public boolean isWeightsDeleted() { return weightsDeleted; } - } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationResult.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationResult.java index c1ad783..034c8c6 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationResult.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportOperationResult.java @@ -26,11 +26,12 @@ package fr.ifremer.tutti.service.genericformat; import fr.ifremer.tutti.persistence.entities.data.CatchBatch; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; -import java.io.Serializable; -import java.util.Set; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.BooleanUtils; +import java.io.Serializable; +import java.util.Set; + /** * Created on 2/22/15. * @@ -61,8 +62,6 @@ public class GenericFormatImportOperationResult implements Serializable { private int nbIndividualObservations; - private int nbIndividualObservationsImported; - private int nbSpeciesTaxon; private int nbBenthosTaxon; @@ -158,10 +157,6 @@ public class GenericFormatImportOperationResult implements Serializable { return nbIndividualObservations; } - public int getNbIndividualObservationsImported() { - return nbIndividualObservationsImported; - } - public int getNbSpeciesTaxon() { return nbSpeciesTaxon; } @@ -187,7 +182,6 @@ public class GenericFormatImportOperationResult implements Serializable { } if (operationContext.withIndividualObservationBatches()) { nbIndividualObservations = operationContext.getIndividualObservationBatches().size(); - nbIndividualObservationsImported = operationContext.getIndividualObservationBatchImported().size(); } if (operationContext.withSpeciesBatches(true)) { 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 44ecb2f..507ec87 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 @@ -24,6 +24,7 @@ package fr.ifremer.tutti.service.genericformat; * #L% */ +import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode; import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch; @@ -291,7 +292,7 @@ public class GenericformatImportPersistenceHelper { persistenceService.deleteAllIndividualObservationsForFishingOperation(fishingOperationId); } - public List<IndividualObservationBatch> createIndividualObservationBatch(FishingOperation fishingOperation, List<IndividualObservationBatch> individualObservationBatch) { + public List<IndividualObservationBatch> createIndividualObservationBatch(FishingOperation fishingOperation, ImmutableList<IndividualObservationBatch> individualObservationBatch) { return persistenceService.createIndividualObservationBatches(fishingOperation, individualObservationBatch); } 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 4d84aee..5d4a3ec 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 @@ -37,16 +37,17 @@ import fr.ifremer.tutti.service.genericformat.GenericformatImportPersistenceHelp import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForIndividualObservation; import fr.ifremer.tutti.service.genericformat.csv.AttachmentRow; import fr.ifremer.tutti.service.genericformat.csv.IndividualObservationRow; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.ImportRow; import org.nuiton.csv.ImportRuntimeException; import org.nuiton.jaxx.application.ApplicationTechnicalException; +import java.io.IOException; +import java.util.Collection; +import java.util.List; +import java.util.Objects; + import static org.nuiton.i18n.I18n.t; /** @@ -152,8 +153,8 @@ public class ImportIndividualObservationAction extends ImportActionSupport { if (log.isInfoEnabled()) { log.info("Persist " + individualObservationBatches.size() + " individual observation(s) of " + operationStr + " for cruise: " + cruiseStr); } - List<IndividualObservationBatch> imported = persistIndividualObservationBatches(fishingOperationContext, individualObservationBatches); - fishingOperationContext.setIndividualObservationBatchImported(imported); + persistIndividualObservationBatches(fishingOperationContext, individualObservationBatches); + } } @@ -167,45 +168,29 @@ public class ImportIndividualObservationAction extends ImportActionSupport { } - private List<IndividualObservationBatch> persistIndividualObservationBatches(GenericFormatImportOperationContext fishingOperationContext, ImmutableList<IndividualObservationBatch> batches) { - - // https://forge.codelutin.com/issues/8335 - // Certain observation individuelle ne sont pas retrouvee dans - // le fichier "catch" importer, cela est du a un autre bug - // qui fait que certaine observation reste dans le system - // au lieu d'etre effacee (?) - // On ne peut donc pas les importer, on les ignores simplement - // (car pour pouvoir les importer il faut absolument un speciesBatchId - // valide) au lieu de lever une exception. - List<IndividualObservationBatch> goodBatches = new ArrayList<IndividualObservationBatch>(batches.size()); + private void persistIndividualObservationBatches(GenericFormatImportOperationContext fishingOperationContext, ImmutableList<IndividualObservationBatch> batches) { for (IndividualObservationBatch individualObservation : batches) { Integer batchId = individualObservation.getBatchId(); Integer speciesBatchId = fishingOperationContext.getSpeciesBatchId(batchId); - if (speciesBatchId == null) { - if (log.isErrorEnabled()) { - log.error("Persisted Species batch id not found for import species batch id: " + batchId); - } - } else { - // Objects.requireNonNull(speciesBatchId, "Persisted Species batch id not found for import species batch id: " + batchId); - individualObservation.setBatchId(speciesBatchId); - goodBatches.add(individualObservation); - } + Objects.requireNonNull(speciesBatchId, "Persisted Species batch id not found for import species batch id: " + batchId); + individualObservation.setBatchId(speciesBatchId); + } // On conserve l'ordre des ids d'imports qui vont servir ensuite pour persister les pièces jointes ImmutableList.Builder<Integer> idsBuilder = ImmutableList.builder(); - goodBatches.forEach(batch -> idsBuilder.add(batch.getIdAsInt())); + batches.forEach(batch -> idsBuilder.add(batch.getIdAsInt())); ImmutableList<Integer> importIds = idsBuilder.build(); // on enlève les ids pour la persistence - goodBatches.forEach(batch -> batch.setId((String) null)); + batches.forEach(batch -> batch.setId((String) null)); FishingOperation fishingOperation = fishingOperationContext.getFishingOperation(); - List<IndividualObservationBatch> savedBatches = persistenceHelper.createIndividualObservationBatch(fishingOperation, goodBatches); + List<IndividualObservationBatch> savedBatches = persistenceHelper.createIndividualObservationBatch(fishingOperation, batches); // Persistence des pièces-jointes associées aux observations individuelles int index = 0; @@ -215,7 +200,7 @@ public class ImportIndividualObservationAction extends ImportActionSupport { Collection<AttachmentRow> attachmentRows = importContext.popAttachmentRows(ObjectTypeCode.SAMPLE, importId); persistenceHelper.persistAttachments(savedBatch.getIdAsInt(), attachmentRows); } - return goodBatches; + } }); diff --git a/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl b/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl index 224c503..9c3e628 100644 --- a/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl +++ b/tutti-service/src/main/resources/ftl/genericFormatImportReport_fr.ftl @@ -532,12 +532,7 @@ <td class="small"><#if importBenthos> ${operationResult.benthosTotalSortedWeight!'NA'}<#else> - </#if></td> <td class="small"><#if importSpecies> ${operationResult.nbSpeciesTaxon}<#else> - </#if></td> <td class="small"><#if importBenthos> ${operationResult.nbBenthosTaxon}<#else> - </#if></td> - <td class="small"> - <#if importIndividualObservation> - <#if operationResult.nbIndividualObservations == operationResult.nbIndividualObservationsImported> ${operationResult.nbIndividualObservations} - <#else> ${operationResult.nbIndividualObservationsImported}/${operationResult.nbIndividualObservations} </#if> - <#else> - </#if> - </td> + <td class="small"><#if importIndividualObservation> ${operationResult.nbIndividualObservations}<#else> - </#if></td> <td class="small"><#if importAccidentalCatch> ${operationResult.withAccidentalCatches?string('Oui', 'Non')}<#else> - </#if></td> <td class="small"><#if importMarineLitter> ${operationResult.withMarineLitter?string('Oui', 'Non')}<#else> - </#if></td> </tr> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm