branch develop updated (10ee9e9 -> 6f970c0)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 10ee9e9 Réglage par défaut des proportions des volets de la fenêtre (Fixes #2841) Merge branch 'feature/2841' into develop new a910daa Ajout d'une option dans la configuration pour forcer la validation des bornes min/max sur les espèces new b58a525 Ajout des nouvelles dans l'écran de configuration new 95e8124 Mise en place du switch de validation selon la nouvelle option new 1b36d11 Amélioration code new 5eff1fa Bien recharger le context de validation dans les validateurs au redémarrage applicatif new 6f970c0 [PS] Améliorer le contrôle des tailles/poids min/max d'espèces (doubler le warning d'une erreur) (Fixes #7008) Merge branch 'feature/7008' into develop The 6 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 6f970c0665f9c90d35b6006f617e472a35545494 Merge: 10ee9e9 5eff1fa Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:25:10 2016 +0100 [PS] Améliorer le contrôle des tailles/poids min/max d'espèces (doubler le warning d'une erreur) (Fixes #7008) Merge branch 'feature/7008' into develop commit 5eff1fae5e37585274e30cf5540f418915364e80 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:25:07 2016 +0100 Bien recharger le context de validation dans les validateurs au redémarrage applicatif commit 1b36d11b7a6b1ff0a4354e898061b4592f995890 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:24:34 2016 +0100 Amélioration code commit 95e81243d4d9482f131824f1e58e10d42fb0ea8d Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:45 2016 +0100 Mise en place du switch de validation selon la nouvelle option commit b58a525bee357dd842aab5eb8e913ba9b68de3ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:32 2016 +0100 Ajout des nouvelles dans l'écran de configuration commit a910daabe134ec112bd44b655fba2cefdfa8fa97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:16 2016 +0100 Ajout d'une option dans la configuration pour forcer la validation des bornes min/max sur les espèces Summary of changes: .../src/main/config/ObserveSwingApplication.ini | 6 ++++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + ...nTargetLengthDto-ui-update-error-validation.xml | 17 +++++++++ ...argetLengthDto-ui-update-warning-validation.xml | 3 +- .../AbstractSpeciesFieldDtoValidator.java | 42 ++++++++++++++-------- .../observe/application/swing/ObserveRunner.java | 9 +++-- .../swing/ui/actions/ShowConfigAction.java | 2 ++ .../swing/validation/ObserveSwingValidator.java | 11 ++---- .../swing/validation/ValidationContext.java | 4 +++ 11 files changed, 71 insertions(+), 26 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit a910daabe134ec112bd44b655fba2cefdfa8fa97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:16 2016 +0100 Ajout d'une option dans la configuration pour forcer la validation des bornes min/max sur les espèces --- .../src/main/config/ObserveSwingApplication.ini | 6 ++++++ .../resources/i18n/application-swing-configuration_en_GB.properties | 1 + .../resources/i18n/application-swing-configuration_es_ES.properties | 1 + .../resources/i18n/application-swing-configuration_fr_FR.properties | 1 + 4 files changed, 9 insertions(+) diff --git a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini index 6cbfb31..53c2015 100644 --- a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini +++ b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini @@ -455,6 +455,12 @@ key = validation.speedEnable type = Boolean defaultValue = true +[option validationLengthWeightEnable] +description = observe.config.validation.lengthWeightEnable +key = validation.lengthWeightEnable +type = Boolean +defaultValue = true + [option validationSpeedMaxValue] description = observe.config.validation.speedMaxValue key = validation.speedMaxValue diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties index 08d7d90..5972f04 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -81,6 +81,7 @@ observe.config.ui.showNumberEditorButton=Flag sets to true to show button to inv observe.config.ui.showTimeEditorSlider=Show timer slider observe.config.ui.storeRemoteStorage=Flag sets to true to store in config a remote connexion (except passwords) observe.config.ui.treeOpenNodes=Opened data from last session +observe.config.validation.lengthWeightEnable=Force validation of species length max observe.config.validation.speedEnable=Force validation of activities speed observe.config.validation.speedMaxValue=Max speed value used in activities speed validation observe.message.save.configuration=Save configuration in file %1$s diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties index d331ece..d1f3d9c 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -81,6 +81,7 @@ observe.config.ui.showNumberEditorButton=Para mostrar el botón que permite usar observe.config.ui.showTimeEditorSlider=Para mostrar la regla de edición de las horas observe.config.ui.storeRemoteStorage=Para activar la copia de seguridad de la configuración de la fuente de datos remota observe.config.ui.treeOpenNodes=Nudos abiertos del arbol abiertos cuando se cerró la base por última vez +observe.config.validation.lengthWeightEnable=Forcer la validation des bormes min/max de taille d'espèce \#TODO observe.config.validation.speedEnable=Force validation of activities speedTODO observe.config.validation.speedMaxValue=Max speed value used in activities speed validationTODO observe.message.save.configuration=Guardar la configuración en el archivo %1$s diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index d334789..fedfa39 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -81,6 +81,7 @@ observe.config.ui.showNumberEditorButton=Pour afficher le bouton qui permet d'ut observe.config.ui.showTimeEditorSlider=Pour afficher la réglette d'édition des heures observe.config.ui.storeRemoteStorage=Pour activer la sauvegarde de la configuration de la source distante observe.config.ui.treeOpenNodes=Noeuds de l'arbre ouverts lors de la dernière fermeture de la base +observe.config.validation.lengthWeightEnable=Forcer la validation des bormes min/max de taille d'espèce observe.config.validation.speedEnable=Forcer la validation des vitesses d'activités observe.config.validation.speedMaxValue=Vitesse maximale autorisée dans le contrôle des vitesses d'activités observe.message.save.configuration=Sauvegarde de la configuration dans le fichier %1$s -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit b58a525bee357dd842aab5eb8e913ba9b68de3ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:32 2016 +0100 Ajout des nouvelles dans l'écran de configuration --- .../fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java index 1e0cf7d..964251c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java @@ -157,6 +157,7 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_ENABLE); helper.addOption(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_MAX_VALUE); + helper.addOption(ObserveSwingApplicationConfigOption.VALIDATION_LENGTH_WEIGHT_ENABLE); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_URL); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_LOGIN); @@ -262,6 +263,7 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.TMP_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.VALIDATION_REPORT_DIRECTORY); helper.addOption(ObserveSwingApplicationConfigOption.RESOURCES_DIRECTORY); + helper.addOption(ObserveSwingApplicationConfigOption.SWING_SESSION_FILE); helper.addOption(ObserveSwingApplicationConfigOption.H2_LOGIN); helper.addOption(ObserveSwingApplicationConfigOption.H2_PASSWORD); -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 95e81243d4d9482f131824f1e58e10d42fb0ea8d Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:07:45 2016 +0100 Mise en place du switch de validation selon la nouvelle option --- ...nTargetLengthDto-ui-update-error-validation.xml | 17 +++++++++ ...argetLengthDto-ui-update-warning-validation.xml | 3 +- .../AbstractSpeciesFieldDtoValidator.java | 42 ++++++++++++++-------- .../swing/validation/ValidationContext.java | 4 +++ 4 files changed, 50 insertions(+), 16 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 361b885..42e4b6f 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 @@ -103,6 +103,13 @@ <message>validator.ui.nonTargetSample.positive.length</message> </field-validator> + <!-- validation de la taille par borne --> + <field-validator type="species_lengthDto"> + <param name="enable">true</param> + <param name="ratio">1.0</param> + <message>validator.ui.nonTargetSample.bound.length##${min}##${max}</message> + </field-validator> + </field> <field name="weight"> @@ -123,6 +130,16 @@ <message>validator.ui.nonTargetSample.positive.weight</message> </field-validator> + <!-- validation du weight par borne (uniquement pour mode saisie par individus) --> + <field-validator type="species_weightDto"> + <param name="ratio">1.0</param> + <param name="enable">true</param> + <param name="expression"> + <![CDATA[ acquisitionMode == 1 ]]> + </param> + <message>validator.ui.nonTargetSample.bound.weight##${min}##${max}</message> + </field-validator> + </field> <field name="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 c0f4ba5..c22920c 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 @@ -39,7 +39,7 @@ <!-- validation de la taille par borne --> <field-validator type="species_lengthDto"> - <!--<param name="fieldName">length</param>--> + <param name="enable">false</param> <param name="ratio">1.0</param> <message>validator.ui.nonTargetSample.bound.length##${min}##${max}</message> </field-validator> @@ -51,6 +51,7 @@ <!-- validation du weight par borne (uniquement pour mode saisie par individus) --> <field-validator type="species_weightDto"> <param name="ratio">1.0</param> + <param name="enable">false</param> <param name="expression"> <![CDATA[ acquisitionMode == 1 ]]> </param> diff --git a/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/AbstractSpeciesFieldDtoValidator.java b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/AbstractSpeciesFieldDtoValidator.java index 61c6dff..fa33eb3 100644 --- a/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/AbstractSpeciesFieldDtoValidator.java +++ b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/AbstractSpeciesFieldDtoValidator.java @@ -61,6 +61,8 @@ public abstract class AbstractSpeciesFieldDtoValidator extends FieldValidatorSup /** Logger. */ private static final Log log = LogFactory.getLog(AbstractSpeciesFieldDtoValidator.class); + private boolean enable; + public static class Bound { private final Float min; @@ -127,34 +129,44 @@ public abstract class AbstractSpeciesFieldDtoValidator extends FieldValidatorSup this.expression = expression; } + public boolean isEnable() { + return enable; + } + + public void setEnable(boolean enable) { + this.enable = enable; + } + protected abstract Float getBoundMin(SpeciesDto referentiel); protected abstract Float getBoundMax(SpeciesDto referentiel); protected boolean shouldValidate(Object object) throws ValidationException { - Object obj = null; - Boolean answer; + + Boolean enable = (Boolean) getFieldValue("validationLengthWeightEnable", object); + if (enable != null) { + + if (this.enable != enable) { + + log.info("Skip speed validation"); + return false; + } + + } + + Boolean answer = true; if (StringUtils.isNotEmpty(expression)) { try { - obj = getFieldValue(expression, object); + answer = (Boolean) getFieldValue(expression, object); } catch (ValidationException e) { throw e; } catch (Exception e) { // let this pass, but it will be logged right below - } - - if (obj != null && obj instanceof Boolean) { - answer = (Boolean) obj; - } else { - answer = false; - if (log.isWarnEnabled()) { - log.warn("Got result of " + obj + " when trying to get Boolean with expression [" + expression + "]."); + if (log.isErrorEnabled()) { + log.error("Could not get expression: " + expression); } + answer = true; } - } else { - - // no pre-expression, always wants to validate - answer = true; } return answer; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ValidationContext.java b/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ValidationContext.java index a7f76c8..917fe00 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ValidationContext.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ValidationContext.java @@ -280,6 +280,10 @@ public class ValidationContext { return config.isValidationSpeedEnable(); } + public boolean isValidationLengthWeightEnable() { + return config.isValidationLengthWeightEnable(); + } + public float getValidationSpeedMaxValue() { return config.getValidationSpeedMaxValue(); } -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 1b36d11b7a6b1ff0a4354e898061b4592f995890 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:24:34 2016 +0100 Amélioration code --- .../application/swing/validation/ObserveSwingValidator.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ObserveSwingValidator.java b/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ObserveSwingValidator.java index 93a0b43..3387eff 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ObserveSwingValidator.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/validation/ObserveSwingValidator.java @@ -32,6 +32,8 @@ import org.nuiton.validator.NuitonValidatorProvider; import org.nuiton.validator.NuitonValidatorScope; import org.nuiton.validator.xwork2.XWork2ValidatorUtil; +import java.util.Objects; + /** * Une surcharge du validateur swing offert par jaxx pour pouvoir ajouter dans * la stack le DataContext (pour faire de la validation sur le context de @@ -110,14 +112,7 @@ public class ObserveSwingValidator<B> extends SwingValidator<B> { log.debug("No validation context registred, try in application context..."); } ObserveSwingApplicationContext rootContext = ObserveSwingApplicationContext.get(); - if (rootContext == null) { - throw new IllegalStateException( - "pas de context d'application enregistré... utiliser la " + - "methode " + - //FIXME -// DataSourceFactory.class.getName() + - "#setApplicationContext(context)"); - } + Objects.requireNonNull(rootContext, "Pas de context applicatif trouve."); dataContext = rootContext.getValidationContext(); } -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 5eff1fae5e37585274e30cf5540f418915364e80 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:25:07 2016 +0100 Bien recharger le context de validation dans les validateurs au redémarrage applicatif --- .../java/fr/ird/observe/application/swing/ObserveRunner.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java index eb68ea4..4bed2ac 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java @@ -28,6 +28,7 @@ import fr.ird.observe.application.swing.ui.ObserveMainUIHandler; import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.actions.StartServerModeAction; import fr.ird.observe.application.swing.ui.util.FloatConverter; +import fr.ird.observe.application.swing.validation.ObserveSwingValidator; import fr.ird.observe.util.ObserveUtil; import jaxx.runtime.swing.application.ApplicationRunner; import org.apache.commons.beanutils.ConvertUtils; @@ -288,7 +289,11 @@ public abstract class ObserveRunner extends ApplicationRunner { return; } - // 2 - init ui + // 2 - init validation + + ObserveSwingValidator.reloadDataContext(context.getValidationContext(), false); + + // 3 - init ui ObserveMainUI ui = startUI(context, config); @@ -318,7 +323,7 @@ public abstract class ObserveRunner extends ApplicationRunner { return; } - // 3 - init storage + // 4 - init storage runAction(t("observe.runner.load.database"), context.getDataSourcesManager(), "initStorage", config, ui, true); -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 6f970c0665f9c90d35b6006f617e472a35545494 Merge: 10ee9e9 5eff1fa Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 7 09:25:10 2016 +0100 [PS] Améliorer le contrôle des tailles/poids min/max d'espèces (doubler le warning d'une erreur) (Fixes #7008) Merge branch 'feature/7008' into develop .../src/main/config/ObserveSwingApplication.ini | 6 ++++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + ...nTargetLengthDto-ui-update-error-validation.xml | 17 +++++++++ ...argetLengthDto-ui-update-warning-validation.xml | 3 +- .../AbstractSpeciesFieldDtoValidator.java | 42 ++++++++++++++-------- .../observe/application/swing/ObserveRunner.java | 9 +++-- .../swing/ui/actions/ShowConfigAction.java | 2 ++ .../swing/validation/ObserveSwingValidator.java | 11 ++---- .../swing/validation/ValidationContext.java | 4 +++ 11 files changed, 71 insertions(+), 26 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm