This is an automated email from the git hooks/post-receive script. New commit to branch feature/8130 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 0b453b48cf1c6fa7b8a7be73e3500543a00d3860 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Mar 16 05:38:41 2016 +0100 Ajout du mode de recopie au niveau des observations individuelles (See #8130) --- .../tutti/persistence/TuttiPersistenceImpl.java | 5 ++++ .../persistence/TuttiPersistenceNoDbImpl.java | 5 ++++ .../data/CopyIndividualObservationMode.java | 28 ++++++++++++++++++ .../CaracteristicPersistenceService.java | 9 ++++++ .../CaracteristicPersistenceServiceImpl.java | 18 ++++++++++-- .../ifremer/tutti/service/PersistenceService.java | 5 ++++ .../catches/multipost/MultiPostImportService.java | 6 ++-- .../CopyIndividualObservationMode.java | 34 ---------------------- .../IndividualObservationBatchRowModel.java | 11 +++++++ .../frequency/SpeciesFrequencyTableModel.java | 2 +- .../species/frequency/SpeciesFrequencyUI.jaxx | 2 +- .../frequency/SpeciesFrequencyUIHandler.java | 2 +- .../species/frequency/SpeciesFrequencyUIModel.java | 2 +- 13 files changed, 85 insertions(+), 44 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index 088d456..4a06981 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -451,6 +451,11 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override + public Caracteristic getCopyIndividualObservationModeCaracteristic() { + return getCaracteristicService().getCopyIndividualObservationModeCaracteristic(); + } + + @Override public Caracteristic getCaracteristic(Integer pmfmId) { return getCaracteristicService().getCaracteristic(pmfmId); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index 0c9b52a..b703b50 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -325,6 +325,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public Caracteristic getCopyIndividualObservationModeCaracteristic() { + throw notImplemented(); + } + + @Override public Caracteristic getCaracteristic(Integer pmfmId) { throw notImplemented(); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/CopyIndividualObservationMode.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/CopyIndividualObservationMode.java new file mode 100644 index 0000000..a3e1341 --- /dev/null +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/CopyIndividualObservationMode.java @@ -0,0 +1,28 @@ +package fr.ifremer.tutti.persistence.entities.data; + +/** + * @author Kevin Morin (Code Lutin) + * @since 4.5 + */ +public enum CopyIndividualObservationMode { + + ALL(2558), NOTHING(2559), SIZE(2560); + + private final int qualitativeValueId; + + CopyIndividualObservationMode(int qualitativeValueId) { + + this.qualitativeValueId = qualitativeValueId; + } + + public static CopyIndividualObservationMode valueOf(int qualitativeValueId) { + + for (CopyIndividualObservationMode copyIndividualObservationMode : values()) { + if (qualitativeValueId == copyIndividualObservationMode.qualitativeValueId) { + return copyIndividualObservationMode; + } + } + + throw new IllegalStateException("Could not find CopyIndividualObservationMode for qualitativeValueId: " + qualitativeValueId); + } +} diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceService.java index 7fd0987..e727fad 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceService.java @@ -43,6 +43,13 @@ import java.util.List; @Transactional(readOnly = true) public interface CaracteristicPersistenceService extends TuttiPersistenceServiceImplementor { + //FIXME A remplacer par celui que l'Ifremer doit fournir + //FIXME A déplacer dand adagio + Integer CPS_TYPE_PMFM_ID = 6; + + //FIXME A déplacer dand adagio + Integer COPY_INDIVIDUAL_OBSERVATION_MODE_PMFM_ID = 1762; + /** * @return all caracteristics of the system. * @since 1.0 @@ -97,6 +104,8 @@ public interface CaracteristicPersistenceService extends TuttiPersistenceService Caracteristic getWeightMeasuredCaracteristic(); + Caracteristic getCopyIndividualObservationModeCaracteristic(); + @Cacheable(value = "pmfmById", key = "#pmfmId") Caracteristic getCaracteristic(Integer pmfmId); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceServiceImpl.java index 7ec511f..0c233ee 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/CaracteristicPersistenceServiceImpl.java @@ -38,6 +38,8 @@ import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativ import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValues; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicType; import fr.ifremer.tutti.persistence.entities.referential.Caracteristics; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.type.IntegerType; import org.springframework.cache.Cache; import org.springframework.stereotype.Service; @@ -57,6 +59,9 @@ import java.util.Set; @Service("caracteristicPersistenceService") public class CaracteristicPersistenceServiceImpl extends ReferentialPersistenceServiceSupport implements CaracteristicPersistenceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(CaracteristicPersistenceServiceImpl.class); + //TODO-TC We should prefer AOP thant Proxy stuff to avoid this. @Resource(name = "caracteristicPersistenceService") protected CaracteristicPersistenceService thisService; @@ -65,8 +70,6 @@ public class CaracteristicPersistenceServiceImpl extends ReferentialPersistenceS protected Predicate<SpeciesAbleBatch> batchVracPredicate; - public static final Integer CPS_TYPE_PMFM_ID = 6; - @Override public void init() { super.init(); @@ -85,7 +88,8 @@ public class CaracteristicPersistenceServiceImpl extends ReferentialPersistenceS PmfmId.TRAWL_DISTANCE.getValue(), PmfmId.SURVEY_PART.getValue(), PmfmId.SORTED_UNSORTED.getValue(), - PmfmId.ID_PMFM.getValue() + PmfmId.ID_PMFM.getValue(), + COPY_INDIVIDUAL_OBSERVATION_MODE_PMFM_ID ); } @@ -239,7 +243,15 @@ public class CaracteristicPersistenceServiceImpl extends ReferentialPersistenceS } @Override + public Caracteristic getCopyIndividualObservationModeCaracteristic() { + return thisService.getCaracteristic(COPY_INDIVIDUAL_OBSERVATION_MODE_PMFM_ID); + } + + @Override public Caracteristic getCaracteristic(Integer pmfmId) { + if (log.isInfoEnabled()) { + log.info("Loading caracteristic: " + pmfmId); + } Object[] source = queryUniqueWithStatus("pmfmById", "pmfmId", IntegerType.INSTANCE, pmfmId, "unitIdNone", IntegerType.INSTANCE, UnitId.NONE.getValue()); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index 054ae3b..568e881 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -883,6 +883,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public Caracteristic getCopyIndividualObservationModeCaracteristic() { + return driver.getCopyIndividualObservationModeCaracteristic(); + } + + @Override public Caracteristic getCaracteristic(Integer pmfmId) { return driver.getCaracteristic(pmfmId); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java index a2402b3..cf5ea23 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java @@ -38,7 +38,7 @@ import fr.ifremer.tutti.persistence.entities.data.BenthosBatch; import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequency; import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequencys; import fr.ifremer.tutti.persistence.entities.data.BenthosBatchs; -import fr.ifremer.tutti.persistence.entities.data.CaracteristicsAware; +import fr.ifremer.tutti.persistence.entities.data.SampleAware; import fr.ifremer.tutti.persistence.entities.data.CatchBatch; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; @@ -1183,8 +1183,8 @@ public class MultiPostImportService extends AbstractTuttiService implements Mult } - protected <B extends CaracteristicsAware> void importCaracteristics(MultiPostImportContext importContext, - Map<String, B> batches) throws IOException { + protected <B extends SampleAware> void importCaracteristics(MultiPostImportContext importContext, + Map<String, B> batches) throws IOException { try (Reader reader = importContext.newFileReader(CARACTERISTIC_FILE)) { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/CopyIndividualObservationMode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/CopyIndividualObservationMode.java deleted file mode 100644 index 7755e03..0000000 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/CopyIndividualObservationMode.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation; - -/* - * #%L - * Tutti :: UI - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2016 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * @author Kevin Morin (Code Lutin) - * @since 4.5 - */ -public enum CopyIndividualObservationMode { - - ALL, NOTHING, SIZE -} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java index 31e8432..d17af57 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java @@ -26,6 +26,7 @@ import com.google.common.collect.Lists; import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode; import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.Attachment; +import fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatchs; @@ -338,6 +339,16 @@ public class IndividualObservationBatchRowModel extends AbstractTuttiBeanUIModel firePropertyChange(PROPERTY_SYNCHRONIZATION_STATUS, oldValue, synchronizationStatus); } + @Override + public CopyIndividualObservationMode getCopyIndividualObservationMode() { + return editObject.getCopyIndividualObservationMode(); + } + + @Override + public void setCopyIndividualObservationMode(CopyIndividualObservationMode copyIndividualObservationMode) { + editObject.setCopyIndividualObservationMode(copyIndividualObservationMode); + } + //------------------------------------------------------------------------// //-- AttachmentModelAware --// //------------------------------------------------------------------------// diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java index 33da65b..956b852 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java @@ -23,7 +23,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency; */ import fr.ifremer.tutti.type.WeightUnit; -import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.CopyIndividualObservationMode; +import fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode; import org.jdesktop.swingx.table.TableColumnModelExt; import org.jfree.data.xy.XYSeries; import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx index 22db753..7398b80 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx @@ -23,11 +23,11 @@ implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<SpeciesFrequencyUIModel, SpeciesFrequencyUIHandler>'> <import> + fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode fr.ifremer.tutti.persistence.entities.referential.Caracteristic fr.ifremer.tutti.ui.swing.TuttiHelpBroker fr.ifremer.tutti.ui.swing.content.operation.catches.FrequencyConfigurationMode - fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.CopyIndividualObservationMode fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.AddSpeciesFrequencyLengthStepCaracteristicAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.CancelEditSpeciesFrequencyAction fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.GenerateSpeciesFrequencyLengthStepsAction diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index 24169f6..08deb13 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -47,7 +47,7 @@ import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.FrequencyConfigurationMode; -import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.CopyIndividualObservationMode; +import fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchTableModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java index 5e33bb3..bc64ca0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java @@ -29,7 +29,7 @@ import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.content.operation.catches.FrequencyConfigurationMode; -import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.CopyIndividualObservationMode; +import fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel; import fr.ifremer.tutti.ui.swing.util.computable.ComputableData; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.