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 d465cedc7b4abcd9d80b93ec80e28ffb9b7538be Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 29 16:04:51 2014 +0200 fixes #5698: [CAPTURE] ne garde plus le poids sous échantillon après élévation des poids --- .../SpeciesBatchPersistenceServiceImpl.java | 42 +++++++++++++++++----- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java index 413c312..32b095e 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java @@ -24,6 +24,7 @@ package fr.ifremer.tutti.persistence.service; import com.google.common.base.Preconditions; import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import fr.ifremer.adagio.core.dao.data.batch.Batch; @@ -128,7 +129,7 @@ public class SpeciesBatchPersistenceServiceImpl extends AbstractPersistenceServi Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId()); if (species == null) { FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId); - String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df .format(fishingOperation.getGearShootingStartDate()); + String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df.format(fishingOperation.getGearShootingStartDate()); throw new InvalidBatchModelException(t("tutti.persistence.speciesBatch.validation.unkonwn.taxon", fishingOperationName, source.getId(), referenceTaxon.getId())); } SpeciesBatch target = SpeciesBatchs.newSpeciesBatch(); @@ -158,7 +159,7 @@ public class SpeciesBatchPersistenceServiceImpl extends AbstractPersistenceServi if (species == null) { FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId); String fishingOperationName = fishingOperation.getStationNumber() + " - " + fishingOperation.getFishingOperationNumber() + " - " + df.format(fishingOperation.getGearShootingStartDate()); - throw new InvalidBatchModelException(t("tutti.persistence.speciesBatch.validation.unkonwn.taxon", fishingOperationName , source.getId(), referenceTaxon.getId())); + throw new InvalidBatchModelException(t("tutti.persistence.speciesBatch.validation.unkonwn.taxon", fishingOperationName, source.getId(), referenceTaxon.getId())); } SpeciesBatch target = SpeciesBatchs.newSpeciesBatch(); target.setSpecies(species); @@ -414,13 +415,13 @@ public class SpeciesBatchPersistenceServiceImpl extends AbstractPersistenceServi target.setSampleCategoryWeight(source.getWeightBeforeSampling()); } - if (CollectionUtils.isNotEmpty(source.getChildBatchs()) && target.getWeight() != null) { - - // can't use this sample weight on a node - // the weight comes from sampleRatioText, but must NOT be used here - target.setWeight(null); - - } +// if (CollectionUtils.isNotEmpty(source.getChildBatchs()) && target.getWeight() != null) { +// +// // can't use this sample weight on a node +// // the weight comes from sampleRatioText, but must NOT be used here +// target.setWeight(null); +// +// } // Comments @@ -469,6 +470,29 @@ public class SpeciesBatchPersistenceServiceImpl extends AbstractPersistenceServi target.setChildBatchs(targetChilds); } + //FIXME tchemit-2014-08-29 We can only do this if not an a leaf node (means with no frequencies...) + //FIXME tchemit-2014-08-29 But need to see if this is really need to do that . + // see https://forge.codelutin.com/issues/5698 + + if (CollectionUtils.isNotEmpty(source.getChildBatchs()) && target.getWeight() != null) { + + SortingBatch childBatch = (SortingBatch) Iterables.get(source.getChildBatchs(), 0); + + boolean isFrequency = batchHelper.isFrequencyBatch(sampleCategoryModel, childBatch); + + if (!isFrequency) { + + // can't use this sample weight on a node + // the weight comes from sampleRatioText, but must NOT be used here + // but we can only do this if childs are not frequencies + + target.setWeight(null); + + } + + } + + QualityFlag qualityFlag = source.getQualityFlag(); target.setSpeciesToConfirm(qualityFlag != null && QualityFlagCode.DOUBTFUL.getValue().equals(qualityFlag.getCode())); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.