This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 64f7ce5a9e8edf0896b5148fdeaf2a320a9a4205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 10:57:52 2016 +0100 Ajout NonTargetLength.speciesFate (ui) --- .../NonTargetLengthDto-ui-update-error-validation.xml | 12 ++++++++++++ .../NonTargetLengthDto-ui-update-warning-validation.xml | 9 +++++++++ .../i18n/application-swing-validation_en_GB.properties | 2 ++ .../i18n/application-swing-validation_es_ES.properties | 2 ++ .../i18n/application-swing-validation_fr_FR.properties | 2 ++ .../application/swing/ui/content/ContentUIHandler.java | 4 ++-- .../ui/content/table/impl/seine/NonTargetCatchUI.jaxx | 2 +- .../ui/content/table/impl/seine/NonTargetSampleUI.jaxx | 12 ++++++++++++ .../ui/content/table/impl/seine/NonTargetSampleUI.jcss | 10 ++++++++++ .../table/impl/seine/NonTargetSampleUIHandler.java | 16 +++++++++++++++- .../content/table/impl/seine/NonTargetSampleUIModel.java | 1 + 11 files changed, 68 insertions(+), 4 deletions(-) diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-error-validation.xml index 00ebbc9..4434faa 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-error-validation.xml @@ -43,6 +43,18 @@ </field> + <field name="speciesFate"> + + <!-- speciesFate desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ speciesFate == null || speciesFate.enabled ]]> + </param> + <message>validator.ui.nonTargetLength.desactivated.speciesFate</message> + </field-validator> + + </field> + <field name="length"> <!-- taille obligatoire en mode par count --> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-warning-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-warning-validation.xml index 23ce5f8..fd26782 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-warning-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/NonTargetLengthDto-ui-update-warning-validation.xml @@ -26,6 +26,15 @@ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> + <field name="speciesFate"> + + <!-- pas de speciesFate selectionnee --> + <field-validator type="required" short-circuit="true"> + <message>validator.ui.nonTargetLength.required.speciesFate</message> + </field-validator> + + </field> + <field name="length"> <!-- validation de la taille par borne --> diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties index e13198a..bd95896 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties @@ -357,6 +357,8 @@ validator.ui.nonTargetCatch.required.speciesFate=Species fate must be filled. validator.ui.nonTargetCatch.required.weightOrNombreEstime=Weight or estimated count must be filled. validator.ui.nonTargetCatch.required.weightOrTailleMoyen=Weight or mean size must be filled. validator.ui.nonTargetCatch.uniqueKey=Tuple (speces - objectFate) muste be unique. +validator.ui.nonTargetLength.desactivated.speciesFate=Selected species fate is disabled. +validator.ui.nonTargetLength.required.speciesFate=Species fate must be filled. validator.ui.nonTargetSample.bound.length=Length must be bound between %s and %s. validator.ui.nonTargetSample.bound.weight=Weight must be bound between %s and %s. validator.ui.nonTargetSample.comment.tobig=Comment size can not exceed 1024 characters. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties index a136d1b..0c96771 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties @@ -357,6 +357,8 @@ validator.ui.nonTargetCatch.required.speciesFate=Es obligatoiro seleccionar un f validator.ui.nonTargetCatch.required.weightOrNombreEstime=Debe seleccionar uno de los dos valores (peso estimado, número estimado). validator.ui.nonTargetCatch.required.weightOrTailleMoyen=Debe seleccionar uno de los dos valores (peso medio o talla media). validator.ui.nonTargetCatch.uniqueKey=El par (especie - objectFate) debe ser único. +validator.ui.nonTargetLength.desactivated.speciesFate=El objectFate de fauna seleccionado está desactivado. +validator.ui.nonTargetLength.required.speciesFate=Es obligatoiro seleccionar un futuro de fauna. validator.ui.nonTargetSample.bound.length=La talla para esta especie debe estar comprendida entre %1$s y %2$s. validator.ui.nonTargetSample.bound.weight=La peso para esta especie debe estar comprendida entre %1$s y %2$s. validator.ui.nonTargetSample.comment.tobig=La longitud del campo comentarios está limitada a 1024 carácteres. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties index a34f2d1..4dbebdf 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties @@ -357,6 +357,8 @@ validator.ui.nonTargetCatch.required.speciesFate=La sélection d'un devenir faun validator.ui.nonTargetCatch.required.weightOrNombreEstime=Une des deux valeurs (poids estimé, nombre estimé) doit être renseignée. validator.ui.nonTargetCatch.required.weightOrTailleMoyen=Une des deux valeurs (poids moyen ou taille moyenne) devrait être renseignée. validator.ui.nonTargetCatch.uniqueKey=Le couple (espèce - objectFate) doit être unique. +validator.ui.nonTargetLength.desactivated.speciesFate=Le devenir faune sélectionné est désactivé. +validator.ui.nonTargetLength.required.speciesFate=La sélection d'un devenir faune est obligatoire. validator.ui.nonTargetSample.bound.length=La taille pour cette espèce doit être comprise entre %1$s et %2$s. validator.ui.nonTargetSample.bound.weight=Le poids pour cette espèce doit être compris entre %1$s et %2$s. validator.ui.nonTargetSample.comment.tobig=La taille du commentaire est limitée à 1024 caractères. diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java index 624f997..fac0e17 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ContentUIHandler.java @@ -37,9 +37,9 @@ import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferen import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.actions.shared.AbstractUIAction; import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUIHandler; -import fr.ird.observe.application.swing.ui.tree.renderer.AbstractObserveTreeCellRenderer; -import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; import fr.ird.observe.application.swing.ui.tree.ObserveTreeHelper; +import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; +import fr.ird.observe.application.swing.ui.tree.renderer.AbstractObserveTreeCellRenderer; import fr.ird.observe.application.swing.ui.util.SpringUtilities; import fr.ird.observe.application.swing.validation.ValidationContext; import fr.ird.observe.services.dto.AbstractObserveDto; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index 4dc0585..f8ed3bd 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -94,7 +94,7 @@ </cell> </row> - <!-- objectFate faune --> + <!-- speciesFate --> <row> <cell> <JLabel id='speciesFateLabel'/> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index ac03944..6bbce3e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -34,6 +34,7 @@ fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.ReferentialReference + fr.ird.observe.services.dto.referential.seine.SpeciesFateDto fr.ird.observe.services.dto.seine.NonTargetLengthDto fr.ird.observe.services.dto.seine.NonTargetSampleDto fr.ird.observe.application.swing.ui.content.table.impl.seine.ModeSaisieEchantillonEnum @@ -188,6 +189,17 @@ public String getSpeciesFauneTypeTaille(ReferentialReference<SpeciesDto> species </cell> </row> + <!-- speciesFate --> + <row> + <cell> + <JLabel id='speciesFateLabel'/> + </cell> + <cell weightx='1' anchor='east' columns="2"> + <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReference<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> + </cell> + </row> + + <!-- reference pĥoto --> <row> <cell> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jcss index 6a54aaf..74897b1 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUI.jcss @@ -24,6 +24,16 @@ text:"observe.common.speciesFaune"; } +#speciesFateLabel { + text:"observe.common.speciesFate"; + labelFor:{speciesFate}; +} + +#speciesFate { + property:{NonTargetLengthDto.PROPERTY_SPECIES_FATE}; + selectedItem:{tableEditBean.getSpeciesFate()}; +} + #acquisitionModeGroup { selectedValue:{ModeSaisieEchantillonEnum.valueOf(tableEditBean.getAcquisitionMode())}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index 5aa7646..f8358bf 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; @@ -273,8 +274,8 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS @Override protected void loadEditBean(String beanId) { Form<NonTargetSampleDto> form = getNonTargetSampleService().loadForm(beanId); - loadReferentialReferenceSetsInModel(form); getModel().setForm(form); + loadReferentialReferenceSetsInModel(form); NonTargetSampleHelper.copyNonTargetSampleDto(form.getObject(), getBean()); } @@ -296,6 +297,19 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS break; + case NonTargetLengthDto.PROPERTY_SPECIES_FATE: { + + // on conserve uniquement les devenir utilisés dans les captures + Collection<ReferentialReference<SpeciesFateDto>> speciesFate = getModel().getForm().getObject().getSpeciesFate(); + result = (Collection) speciesFate; + + if (log.isDebugEnabled()) { + log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size())); + } + } + + break; + } return result; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIModel.java index 495344b..78c0ca5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/seine/NonTargetSampleUIModel.java @@ -59,6 +59,7 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD NonTargetLengthDto.PROPERTY_IS_WEIGHT_COMPUTED, NonTargetLengthDto.PROPERTY_SEX, NonTargetLengthDto.PROPERTY_COUNT, + NonTargetLengthDto.PROPERTY_SPECIES_FATE, NonTargetLengthDto.PROPERTY_ACQUISITION_MODE, NonTargetLengthDto.PROPERTY_PICTURES_REFERENCES }); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.