This is an automated email from the git hooks/post-receive script. New commit to branch feature/8013 in repository tutti. See http://git.codelutin.com/tutti.git commit a19b1d087e4327dfa0930f6c43f7b3b92a0c95e2 Author: Kevin Morin <morin@codelutin.com> Date: Mon Feb 22 19:27:01 2016 +0100 4. ajouter colonne « maturité » et pour chaque taxon proposer liste psfm pour pointer sur l'échelle de maturité adaptée au taxon refs #8013 --- .../src/main/xmi/tutti-persistence.zargo | Bin 62109 -> 62183 bytes .../protocol/EditProtocolSpeciesRowModel.java | 23 +++++++++++ .../protocol/EditProtocolSpeciesTableModel.java | 5 +++ .../content/protocol/EditProtocolUIHandler.java | 45 +++++++++++++++++++-- .../protocol/actions/SaveProtocolAction.java | 19 --------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 2 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 2 + 7 files changed, 73 insertions(+), 23 deletions(-) diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.zargo b/tutti-persistence/src/main/xmi/tutti-persistence.zargo index 350d894..d725495 100644 Binary files a/tutti-persistence/src/main/xmi/tutti-persistence.zargo and b/tutti-persistence/src/main/xmi/tutti-persistence.zargo differ diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java index f53149f..6c9f6d0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java @@ -57,6 +57,8 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie public static final String PROPERTY_CALCIFY_SAMPLE_ENABLED = "calcifySampleEnabled"; + public static final String PROPERTY_MATURITY_PMFM = "maturityPmfm"; + public static final String PROPERTY_USE_RTP = "useRtp"; protected Species species; @@ -75,6 +77,8 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie protected boolean individualObservationEnabled; + protected Caracteristic maturityPmfm; + protected Rtp rtpMale; protected Rtp rtpFemale; @@ -277,6 +281,25 @@ public class EditProtocolSpeciesRowModel extends AbstractTuttiBeanUIModel<Specie firePropertyChange(PROPERTY_INDIVIDUAL_OBSERVATION_ENABLED, oldValue, individualObservationEnabled); } + @Override + public String getMaturityPmfmId() { + return maturityPmfm != null ? maturityPmfm.getId() : null; + } + + @Override + public void setMaturityPmfmId(String maturityPmfmId) { + } + + public Caracteristic getMaturityPmfm() { + return maturityPmfm; + } + + public void setMaturityPmfm(Caracteristic maturityPmfm) { + Object oldValue = getMaturityPmfm(); + this.maturityPmfm = maturityPmfm; + firePropertyChange(PROPERTY_MATURITY_PMFM, oldValue, maturityPmfm); + } + public boolean isUseRtp() { return withRtpFemale() && withRtpMale() && withRtpUndefined(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java index daefffa..eceb7c7 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java @@ -76,6 +76,11 @@ public class EditProtocolSpeciesTableModel extends AbstractApplicationTableModel n("tutti.editProtocol.table.header.individualObservation"), n("tutti.editProtocol.table.header.individualObservation.tip")); + public static final ColumnIdentifier<EditProtocolSpeciesRowModel> MATURITY_PMFM_ID = ColumnIdentifier.newId( + EditProtocolSpeciesRowModel.PROPERTY_MATURITY_PMFM, + n("tutti.editProtocol.table.header.maturity"), + n("tutti.editProtocol.table.header.maturity.tip")); + public static final ColumnIdentifier<EditProtocolSpeciesRowModel> USE_RTP = ColumnIdentifier.newId( EditProtocolSpeciesRowModel.PROPERTY_USE_RTP, n("tutti.editProtocol.table.header.useRtp"), diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 2e41a1e..bb7640b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -404,7 +404,9 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); - addIndividualObservationColumnToModel(table, columnModel); + addMaturityColumnToModel(columnModel, table); + + addIndividualObservationColumnToModel(columnModel, table); addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), @@ -468,7 +470,9 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI addBooleanColumnToModel(columnModel, EditProtocolSpeciesTableModel.CALCIFY_SAMPLE_ENABLED, table); - addIndividualObservationColumnToModel(table, columnModel); + addMaturityColumnToModel(columnModel, table); + + addIndividualObservationColumnToModel(columnModel, table); addColumnToModel(columnModel, RtpCellEditor.newEditor(ui), @@ -687,7 +691,7 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI } - protected void addIndividualObservationColumnToModel(JXTable table, DefaultTableColumnModelExt columnModel) { + protected void addIndividualObservationColumnToModel(DefaultTableColumnModelExt columnModel, JXTable table) { TableCellRenderer renderer = new TableCellRenderer() { TableCellRenderer delegate = table.getDefaultRenderer(Boolean.class); @@ -806,8 +810,8 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI EditProtocolSpeciesRowModel row = EditProtocolSpeciesTableModel.newRow(sampleCategoryModel); row.setSpecies(species); - String lengthStepPmfmId = speciesProtocol.getLengthStepPmfmId(); + String lengthStepPmfmId = speciesProtocol.getLengthStepPmfmId(); Caracteristic lengthStepPmfm = allCaracteristic.get(lengthStepPmfmId); if (lengthStepPmfmId != null && !lengthClassesPmfmId.contains(lengthStepPmfm) && @@ -818,6 +822,11 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI lengthClassesPmfmId.add(lengthStepPmfm); } row.setLengthStepPmfm(lengthStepPmfm); + + String maturityPmfmId = speciesProtocol.getMaturityPmfmId(); + Caracteristic maturityPmfm = allCaracteristic.get(maturityPmfmId); + row.setMaturityPmfm(maturityPmfm); + row.fromEntity(speciesProtocol); // make sure to get a clean copy of the list @@ -1114,6 +1123,34 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI EditProtocolSpeciesTableModel.LENGTH_STEP_PMFM_ID); } + protected void addMaturityColumnToModel(TableColumnModel model, + JTable table) { + + Decorator<Caracteristic> decorator = + getDecorator(Caracteristic.class, null); + + final JComboBox comboBox = new JComboBox(); + + comboBox.setRenderer(newListCellRender(decorator)); + + List<Caracteristic> dataToList = Lists.newArrayList(getModel().getCaracteristics()); + + // add a null value at first position + if (!dataToList.isEmpty() && dataToList.get(0) != null) { + dataToList.add(0, null); + } + SwingUtil.fillComboBox(comboBox, dataToList, null); + + ObjectToStringConverter converter = BeanUIUtil.newDecoratedObjectToStringConverter(decorator); + BeanUIUtil.decorate(comboBox, converter); + ComboBoxCellEditor editor = new ComboBoxCellEditor(comboBox); + + addColumnToModel(model, + editor, + newTableCellRender(decorator), + EditProtocolSpeciesTableModel.MATURITY_PMFM_ID); + } + protected void initTable(final JXTable table, DefaultTableColumnModelExt columnModel, TableColumnExt speciesColumn, diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/SaveProtocolAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/SaveProtocolAction.java index 4be6b8f..583ab54 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/SaveProtocolAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/SaveProtocolAction.java @@ -22,33 +22,17 @@ package fr.ifremer.tutti.ui.swing.content.protocol.actions; * #L% */ -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; import fr.ifremer.tutti.persistence.entities.TuttiEntities; -import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; -import fr.ifremer.tutti.persistence.entities.protocol.OperationFieldMappingRow; -import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.TuttiUIContext; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolCaracteristicsRowModel; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolOperationFieldsRowModel; -import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIModel; -import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorRowModel; import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; - import static org.nuiton.i18n.I18n.t; /** @@ -79,9 +63,6 @@ public class SaveProtocolAction extends LongActionSupport<EditProtocolUIModel, E TuttiProtocol bean = model.toEntity(); - - - if (log.isInfoEnabled()) { log.info("bean zones " + bean.getZone()); log.info("bean zones " + bean.getZone()); diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 95fe468..9a53100 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1170,6 +1170,8 @@ tutti.editProtocol.table.header.individualObservation= tutti.editProtocol.table.header.individualObservation.tip= tutti.editProtocol.table.header.lengthStep= tutti.editProtocol.table.header.lengthStep.tip= +tutti.editProtocol.table.header.maturity= +tutti.editProtocol.table.header.maturity.tip= tutti.editProtocol.table.header.operationFields.field= tutti.editProtocol.table.header.operationFields.field.tip= tutti.editProtocol.table.header.operationFields.importFileColumn= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 0d2c2ec..48c069d 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1117,6 +1117,8 @@ tutti.editProtocol.table.header.individualObservation=Obs. indiv. tutti.editProtocol.table.header.individualObservation.tip=L'espèce accepte-t-elle des observations individuelles ? tutti.editProtocol.table.header.lengthStep=Mode de mensuration tutti.editProtocol.table.header.lengthStep.tip=Comment mesurer les classes de taille ? (si vide alors pas de mesure) +tutti.editProtocol.table.header.maturity=Maturité +tutti.editProtocol.table.header.maturity.tip=Psfm de la maturité de l'espèce tutti.editProtocol.table.header.operationFields.field=Champ tutti.editProtocol.table.header.operationFields.field.tip=Champ du formulaire de trait tutti.editProtocol.table.header.operationFields.importFileColumn=Colonne du fichier d'import -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.