branch develop updated (d04ed31 -> ad3e130)
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 d04ed31 Permettre la MAJ du référentiel à partir d'un sql.gz (Fixes #6995) new a39d8d3 ajout nouveaux validateurs new 64965a9 improve dependencies new e3bdb5f Ajout des validateurs sur les coordonnées dans l'ui new ad3e130 [WIDGET POSITIONS] absence de message d'erreur quand horodatage erronné (certains cas) (Fixes #7878) Merge branch 'feature/7878' into develop The 4 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 ad3e130d7546e8d4dbc6ce6f3d9517df147bb450 Merge: d04ed31 e3bdb5f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:44 2016 +0100 [WIDGET POSITIONS] absence de message d'erreur quand horodatage erronné (certains cas) (Fixes #7878) Merge branch 'feature/7878' into develop commit e3bdb5f1682ff09379a6cf156f28a1285fea9e96 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:41 2016 +0100 Ajout des validateurs sur les coordonnées dans l'ui commit 64965a9e31ad9518bd9f054a3dd9442622b8043b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:01 2016 +0100 improve dependencies commit a39d8d3ca86ad6df56cd5c102f513faf91ee1113 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:15:46 2016 +0100 ajout nouveaux validateurs Summary of changes: application-swing-configuration/pom.xml | 10 ++ .../src/main/resources/validators.xml | 3 +- ...ivityLonglineDto-ui-create-error-validation.xml | 10 ++ ...ivityLonglineDto-ui-update-error-validation.xml | 10 ++ .../SetLonglineDto-ui-create-error-validation.xml | 91 ++++++--------- .../SetLonglineDto-ui-update-error-validation.xml | 36 ++++++ ...ActivitySeineDto-ui-create-error-validation.xml | 10 ++ ...ActivitySeineDto-ui-update-error-validation.xml | 10 ++ .../src/test/resources/validators.xml | 2 + application-swing-validators/pom.xml | 25 +++++ .../CoordinateLatitudeDtoFieldValidator.java | 121 ++++++++++++++++++++ .../CoordinateLongitudeDtoFieldValidator.java | 123 +++++++++++++++++++++ .../application-swing-validators_en_GB.properties | 6 + .../application-swing-validators_es_ES.properties | 6 + .../application-swing-validators_fr_FR.properties | 6 + .../impl/longline/SetLonglineUIHandler.java | 18 ++- .../impl/longline/ActivityLonglineUIHandler.java | 13 ++- .../open/impl/seine/ActivitySeineUIHandler.java | 10 ++ .../swing/validation/ValidationContext.java | 18 ++- application-web-configuration/pom.xml | 10 ++ .../src/main/resources/validators.xml | 2 + 21 files changed, 479 insertions(+), 61 deletions(-) create mode 100644 application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLatitudeDtoFieldValidator.java create mode 100644 application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLongitudeDtoFieldValidator.java create mode 100644 application-swing-validators/src/main/resources/i18n/application-swing-validators_en_GB.properties create mode 100644 application-swing-validators/src/main/resources/i18n/application-swing-validators_es_ES.properties create mode 100644 application-swing-validators/src/main/resources/i18n/application-swing-validators_fr_FR.properties -- 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 a39d8d3ca86ad6df56cd5c102f513faf91ee1113 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:15:46 2016 +0100 ajout nouveaux validateurs --- .../src/main/resources/validators.xml | 3 +- .../src/test/resources/validators.xml | 2 + application-swing-validators/pom.xml | 25 +++++ .../CoordinateLatitudeDtoFieldValidator.java | 121 ++++++++++++++++++++ .../CoordinateLongitudeDtoFieldValidator.java | 123 +++++++++++++++++++++ .../application-swing-validators_en_GB.properties | 6 + .../application-swing-validators_es_ES.properties | 6 + .../application-swing-validators_fr_FR.properties | 6 + .../src/main/resources/validators.xml | 2 + 9 files changed, 293 insertions(+), 1 deletion(-) diff --git a/application-swing-configuration/src/main/resources/validators.xml b/application-swing-configuration/src/main/resources/validators.xml index b98708f..f76e260 100644 --- a/application-swing-configuration/src/main/resources/validators.xml +++ b/application-swing-configuration/src/main/resources/validators.xml @@ -75,6 +75,7 @@ <validator name="setLonglineUniqueHomeIdDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueHomeIdDtoValidator"/> <validator name="setLonglineUniqueNumberDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueNumberDtoValidator"/> <validator name="quadrantDto" class="fr.ird.observe.application.swing.validators.QuadrantFieldDtoValidator"/> - + <validator name="coordinateLatitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLatitudeDtoFieldValidator"/> + <validator name="coordinateLongitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLongitudeDtoFieldValidator"/> </validators> diff --git a/application-swing-validation/src/test/resources/validators.xml b/application-swing-validation/src/test/resources/validators.xml index 07f0918..6940d60 100644 --- a/application-swing-validation/src/test/resources/validators.xml +++ b/application-swing-validation/src/test/resources/validators.xml @@ -63,5 +63,7 @@ <validator name="setLonglineUniqueHomeIdDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueHomeIdDtoValidator"/> <validator name="setLonglineUniqueNumberDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueNumberDtoValidator"/> <validator name="quadrantDto" class="fr.ird.observe.application.swing.validators.QuadrantFieldDtoValidator"/> + <validator name="coordinateLatitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLatitudeDtoFieldValidator"/> + <validator name="coordinateLongitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLongitudeDtoFieldValidator"/> </validators> diff --git a/application-swing-validators/pom.xml b/application-swing-validators/pom.xml index db46ade..2e9a8e7 100644 --- a/application-swing-validators/pom.xml +++ b/application-swing-validators/pom.xml @@ -73,6 +73,14 @@ <groupId>org.nuiton</groupId> <artifactId>nuiton-decorator</artifactId> </dependency> + <dependency> + <groupId>org.nuiton.i18n</groupId> + <artifactId>nuiton-i18n</artifactId> + </dependency> + <dependency> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>jaxx-widgets-gis</artifactId> + </dependency> <!-- XWork --> <dependency> @@ -119,6 +127,23 @@ </resource> </resources> + <plugins> + + <plugin> + <groupId>org.nuiton.i18n</groupId> + <artifactId>i18n-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>parserJava</goal> + <goal>gen</goal> + </goals> + </execution> + </executions> + </plugin> + + + </plugins> </build> </project> diff --git a/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLatitudeDtoFieldValidator.java b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLatitudeDtoFieldValidator.java new file mode 100644 index 0000000..ef879a0 --- /dev/null +++ b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLatitudeDtoFieldValidator.java @@ -0,0 +1,121 @@ +package fr.ird.observe.application.swing.validators; + +import com.opensymphony.xwork2.validator.ValidationException; +import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import org.apache.commons.lang3.StringUtils; +import org.nuiton.jaxx.widgets.gis.CoordinateFormat; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDdCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDdCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmdCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmdCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmsCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmsCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditor; + +import java.util.Map; +import java.util.Objects; + +import static org.nuiton.i18n.I18n.n; + +/** + * Created on 03/11/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class CoordinateLatitudeDtoFieldValidator extends FieldValidatorSupport { + + private String editorName; + + public void setEditorName(String editorName) { + this.editorName = editorName; + } + + @Override + public void validate(Object object) throws ValidationException { + + if (StringUtils.isEmpty(editorName)) { + throw new ValidationException("editorName is not defined"); + } + + Map<String, CoordinatesEditor> map = (Map<String, CoordinatesEditor>) getFieldValue("coordinatesEditors", object); + CoordinatesEditor coordinatesEditor = map.get(editorName); + Objects.requireNonNull(coordinatesEditor, "can't find editor named " + editorName); + + CoordinateFormat format = coordinatesEditor.getModel().getFormat(); + switch (format) { + + case dd: + validate(coordinatesEditor.getLatitudeDd()); + break; + case dms: + validate(coordinatesEditor.getLatitudeDms()); + break; + case dmd: + validate(coordinatesEditor.getLatitudeDmd()); + break; + } + + } + + @Override + public String getValidatorType() { + return "coordinate_latitude"; + } + + private void validate(AbsoluteDdCoordinateEditor editor) { + AbsoluteDdCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 90) { + setMessageKey(n("validator.ui.coordinate.degree.latitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + } + + private void validate(AbsoluteDmsCoordinateEditor editor) { + AbsoluteDmsCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 90) { + setMessageKey(n("validator.ui.coordinate.degree.latitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + Integer minute = model.getMinute(); + if (minute != null) { + + if (minute > 59) { + setMessageKey(n("validator.ui.coordinate.minute.latitude.outOfBound")); + addFieldError(getFieldName(), minute); + } + } + Integer second = model.getSecond(); + if (second != null) { + if (second > 59) { + setMessageKey(n("validator.ui.coordinate.second.latitude.outOfBound")); + addFieldError(getFieldName(), second); + } + } + } + + private void validate(AbsoluteDmdCoordinateEditor editor) { + AbsoluteDmdCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 90) { + setMessageKey(n("validator.ui.coordinate.degree.latitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + Integer minute = model.getMinute(); + if (minute != null) { + + if (minute > 59) { + setMessageKey(n("validator.ui.coordinate.minute.latitude.outOfBound")); + addFieldError(getFieldName(), minute); + } + } + } +} diff --git a/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLongitudeDtoFieldValidator.java b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLongitudeDtoFieldValidator.java new file mode 100644 index 0000000..9306154 --- /dev/null +++ b/application-swing-validators/src/main/java/fr/ird/observe/application/swing/validators/CoordinateLongitudeDtoFieldValidator.java @@ -0,0 +1,123 @@ +package fr.ird.observe.application.swing.validators; + +import com.opensymphony.xwork2.validator.ValidationException; +import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import org.apache.commons.lang3.StringUtils; +import org.nuiton.jaxx.widgets.gis.CoordinateFormat; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDdCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDdCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmdCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmdCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmsCoordinateEditor; +import org.nuiton.jaxx.widgets.gis.absolute.AbsoluteDmsCoordinateEditorModel; +import org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditor; + +import java.util.Map; +import java.util.Objects; + +import static org.nuiton.i18n.I18n.n; + +/** + * Created on 03/11/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class CoordinateLongitudeDtoFieldValidator extends FieldValidatorSupport { + + private String editorName; + + public void setEditorName(String editorName) { + this.editorName = editorName; + } + + @Override + public void validate(Object object) throws ValidationException { + + if (StringUtils.isEmpty(editorName)) { + throw new ValidationException("editorName is not defined"); + } + + Map<String, CoordinatesEditor> map = (Map<String, CoordinatesEditor>) getFieldValue("coordinatesEditors", object); + CoordinatesEditor coordinatesEditor = map.get(editorName); + Objects.requireNonNull(coordinatesEditor, "can't find editor named " + editorName); + + CoordinateFormat format = coordinatesEditor.getModel().getFormat(); + switch (format) { + + case dd: + validate(coordinatesEditor.getLongitudeDd()); + break; + case dms: + validate(coordinatesEditor.getLongitudeDms()); + break; + case dmd: + validate(coordinatesEditor.getLongitudeDmd()); + break; + } + + } + + @Override + public String getValidatorType() { + return "coordinate_longitude"; + } + + private void validate(AbsoluteDdCoordinateEditor editor) { + AbsoluteDdCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 180) { + setMessageKey(n("validator.ui.coordinate.degree.longitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + } + + private void validate(AbsoluteDmsCoordinateEditor editor) { + AbsoluteDmsCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 180) { + setMessageKey(n("validator.ui.coordinate.degree.longitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + Integer minute = model.getMinute(); + if (minute != null) { + + if (minute > 59) { + setMessageKey(n("validator.ui.coordinate.minute.longitude.outOfBound")); + addFieldError(getFieldName(), minute); + } + } + Integer second = model.getSecond(); + if (second != null) { + if (second > 59) { + setMessageKey(n("validator.ui.coordinate.second.longitude.outOfBound")); + addFieldError(getFieldName(), second); + } + } + } + + private void validate(AbsoluteDmdCoordinateEditor editor) { + + AbsoluteDmdCoordinateEditorModel model = editor.getModel(); + Integer degree = model.getDegree(); + if (degree != null) { + if (degree > 180) { + setMessageKey(n("validator.ui.coordinate.degree.longitude.outOfBound")); + addFieldError(getFieldName(), degree); + } + } + Integer minute = model.getMinute(); + if (minute != null) { + + if (minute > 59) { + setMessageKey(n("validator.ui.coordinate.minute.longitude.outOfBound")); + addFieldError(getFieldName(), minute); + } + } + + } +} diff --git a/application-swing-validators/src/main/resources/i18n/application-swing-validators_en_GB.properties b/application-swing-validators/src/main/resources/i18n/application-swing-validators_en_GB.properties new file mode 100644 index 0000000..6dcc3b8 --- /dev/null +++ b/application-swing-validators/src/main/resources/i18n/application-swing-validators_en_GB.properties @@ -0,0 +1,6 @@ +validator.ui.coordinate.degree.latitude.outOfBound=Degree is not valid. +validator.ui.coordinate.degree.longitude.outOfBound=Degree is not valid. +validator.ui.coordinate.minute.latitude.outOfBound=Minute is not valid. +validator.ui.coordinate.minute.longitude.outOfBound=Minute is not valid. +validator.ui.coordinate.second.latitude.outOfBound=Second is not valid. +validator.ui.coordinate.second.longitude.outOfBound=Second is not valid. diff --git a/application-swing-validators/src/main/resources/i18n/application-swing-validators_es_ES.properties b/application-swing-validators/src/main/resources/i18n/application-swing-validators_es_ES.properties new file mode 100644 index 0000000..9e7ca06 --- /dev/null +++ b/application-swing-validators/src/main/resources/i18n/application-swing-validators_es_ES.properties @@ -0,0 +1,6 @@ +validator.ui.coordinate.degree.latitude.outOfBound=Degré saisie non valide. \#TODO +validator.ui.coordinate.degree.longitude.outOfBound=Degré saisie non valide. \#TODO +validator.ui.coordinate.minute.latitude.outOfBound=Minute saisie non valide. \#TODO +validator.ui.coordinate.minute.longitude.outOfBound=Minute saisie non valide. \#TODO +validator.ui.coordinate.second.latitude.outOfBound=Seconde saisie non valide. \#TODO +validator.ui.coordinate.second.longitude.outOfBound=Seconde saisie non valide. \#TODO diff --git a/application-swing-validators/src/main/resources/i18n/application-swing-validators_fr_FR.properties b/application-swing-validators/src/main/resources/i18n/application-swing-validators_fr_FR.properties new file mode 100644 index 0000000..6737aa6 --- /dev/null +++ b/application-swing-validators/src/main/resources/i18n/application-swing-validators_fr_FR.properties @@ -0,0 +1,6 @@ +validator.ui.coordinate.degree.latitude.outOfBound=Degré saisie non valide. +validator.ui.coordinate.degree.longitude.outOfBound=Degré saisie non valide. +validator.ui.coordinate.minute.latitude.outOfBound=Minute saisie non valide. +validator.ui.coordinate.minute.longitude.outOfBound=Minute saisie non valide. +validator.ui.coordinate.second.latitude.outOfBound=Seconde saisie non valide. +validator.ui.coordinate.second.longitude.outOfBound=Seconde saisie non valide. diff --git a/application-web-configuration/src/main/resources/validators.xml b/application-web-configuration/src/main/resources/validators.xml index 367fc0c..99d4879 100644 --- a/application-web-configuration/src/main/resources/validators.xml +++ b/application-web-configuration/src/main/resources/validators.xml @@ -75,5 +75,7 @@ <validator name="setLonglineUniqueHomeIdDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueHomeIdDtoValidator"/> <validator name="setLonglineUniqueNumberDto" class="fr.ird.observe.application.swing.validators.SetLonglineUniqueNumberDtoValidator"/> <validator name="quadrantDto" class="fr.ird.observe.application.swing.validators.QuadrantFieldDtoValidator"/> + <validator name="coordinateLatitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLatitudeDtoFieldValidator"/> + <validator name="coordinateLongitudeDto" class="fr.ird.observe.application.swing.validators.CoordinateLongitudeDtoFieldValidator"/> </validators> -- 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 64965a9e31ad9518bd9f054a3dd9442622b8043b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:01 2016 +0100 improve dependencies --- application-swing-configuration/pom.xml | 10 ++++++++++ application-web-configuration/pom.xml | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/application-swing-configuration/pom.xml b/application-swing-configuration/pom.xml index bc087d1..e33e074 100644 --- a/application-swing-configuration/pom.xml +++ b/application-swing-configuration/pom.xml @@ -46,6 +46,16 @@ <artifactId>services-dto</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>services-topia-validators</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>application-swing-validators</artifactId> + <version>${project.version}</version> + </dependency> <!-- commons dependencies --> <dependency> diff --git a/application-web-configuration/pom.xml b/application-web-configuration/pom.xml index 9f59de7..ba5c2f4 100644 --- a/application-web-configuration/pom.xml +++ b/application-web-configuration/pom.xml @@ -42,6 +42,16 @@ <artifactId>services-dto</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>services-topia-validators</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>application-swing-validators</artifactId> + <version>${project.version}</version> + </dependency> <!-- commons dependencies --> <dependency> -- 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 e3bdb5f1682ff09379a6cf156f28a1285fea9e96 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:41 2016 +0100 Ajout des validateurs sur les coordonnées dans l'ui --- ...ivityLonglineDto-ui-create-error-validation.xml | 10 +++ ...ivityLonglineDto-ui-update-error-validation.xml | 10 +++ .../SetLonglineDto-ui-create-error-validation.xml | 91 +++++++++------------- .../SetLonglineDto-ui-update-error-validation.xml | 36 +++++++++ ...ActivitySeineDto-ui-create-error-validation.xml | 10 +++ ...ActivitySeineDto-ui-update-error-validation.xml | 10 +++ .../impl/longline/SetLonglineUIHandler.java | 18 ++++- .../impl/longline/ActivityLonglineUIHandler.java | 13 +++- .../open/impl/seine/ActivitySeineUIHandler.java | 10 +++ .../swing/validation/ValidationContext.java | 18 ++++- 10 files changed, 166 insertions(+), 60 deletions(-) diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-create-error-validation.xml index 50217d0..25c5eb5 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-create-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-create-error-validation.xml @@ -122,6 +122,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="longitude"> @@ -140,6 +145,11 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="comment"> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-update-error-validation.xml index 78878f2..1d9f7c0 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-update-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/ActivityLonglineDto-ui-update-error-validation.xml @@ -107,6 +107,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="longitude"> @@ -125,6 +130,11 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="comment"> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-create-error-validation.xml index 1526cef..b949508 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-create-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-create-error-validation.xml @@ -239,6 +239,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">settingStart</param> + <message/> + </field-validator> + </field> <field name="settingStartLongitude"> @@ -257,20 +262,10 @@ </message> </field-validator> - <!--<!– coherence quadrant par rapport a l'ocean de la maree –>--> - <!--<field-validator type="fieldexpression" short-circuit="true">--> - <!--<param name="expression"><![CDATA[--> - <!--currentTripLongline.ocean == null || settingStartLongitude == null || settingStartLatitude == null--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 3)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 1)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 2 && ( settingStartLongitude >= 0))--> - <!--]]>--> - <!--</param>--> - <!--<message>--> - <!--validator.ui.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")}--> - <!--</message>--> - <!--</field-validator>--> - + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">settingStart</param> + <message/> + </field-validator> </field> @@ -306,6 +301,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">settingEnd</param> + <message/> + </field-validator> + </field> <field name="settingEndLongitude"> @@ -324,19 +324,10 @@ </message> </field-validator> - <!--<!– coherence quadrant par rapport a l'ocean de la maree –>--> - <!--<field-validator type="fieldexpression" short-circuit="true">--> - <!--<param name="expression"><![CDATA[--> - <!--currentTripLongline.ocean == null || settingEndLongitude == null || settingEndLatitude == null--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 3)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 1)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 2 && ( settingEndLongitude >= 0))--> - <!--]]>--> - <!--</param>--> - <!--<message>--> - <!--validator.ui.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")}--> - <!--</message>--> - <!--</field-validator>--> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">settingEnd</param> + <message/> + </field-validator> </field> @@ -372,6 +363,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">haulingStart</param> + <message/> + </field-validator> + </field> <field name="haulingStartLongitude"> @@ -390,20 +386,10 @@ </message> </field-validator> - <!--<!– coherence quadrant par rapport a l'ocean de la maree –>--> - <!--<field-validator type="fieldexpression" short-circuit="true">--> - <!--<param name="expression"><![CDATA[--> - <!--currentTripLongline.ocean == null || haulingStartLongitude == null || haulingStartLatitude == null--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 3)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 1)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 2 && ( haulingStartLongitude >= 0))--> - <!--]]>--> - <!--</param>--> - <!--<message>--> - <!--validator.ui.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")}--> - <!--</message>--> - <!--</field-validator>--> - + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">haulingStart</param> + <message/> + </field-validator> </field> @@ -439,6 +425,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">haulingEnd</param> + <message/> + </field-validator> + </field> <field name="haulingEndLongitude"> @@ -457,20 +448,10 @@ </message> </field-validator> - <!-- coherence quadrant par rapport a l'ocean de la maree --> - <!--<field-validator type="fieldexpression" short-circuit="true">--> - <!--<param name="expression"><![CDATA[--> - <!--currentTripLongline.ocean == null || haulingEndLongitude == null || haulingEndLatitude == null--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 3)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 1)--> - <!--|| (currentTripLongline.ocean.getPropertyValue("code") == 2 && ( haulingEndLongitude >= 0))--> - <!--]]>--> - <!--</param>--> - <!--<message>--> - <!--validator.ui.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")}--> - <!--</message>--> - <!--</field-validator>--> - + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">haulingEnd</param> + <message/> + </field-validator> </field> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-update-error-validation.xml index ba0f57d..e47341a 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-update-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-ui-update-error-validation.xml @@ -223,6 +223,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">settingStart</param> + <message/> + </field-validator> + </field> <field name="settingStartLongitude"> @@ -255,6 +260,10 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">settingStart</param> + <message/> + </field-validator> </field> @@ -274,6 +283,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">settingEnd</param> + <message/> + </field-validator> + </field> <field name="settingEndLongitude"> @@ -306,6 +320,10 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">settingEnd</param> + <message/> + </field-validator> </field> @@ -325,6 +343,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">haulingStart</param> + <message/> + </field-validator> + </field> <field name="haulingStartLongitude"> @@ -357,6 +380,10 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">haulingStart</param> + <message/> + </field-validator> </field> @@ -377,6 +404,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">haulingEnd</param> + <message/> + </field-validator> + </field> <field name="haulingEndLongitude"> @@ -409,6 +441,10 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">haulingEnd</param> + <message/> + </field-validator> </field> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-create-error-validation.xml index 6e25980..4071782 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-create-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-create-error-validation.xml @@ -201,6 +201,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="longitude"> @@ -219,6 +224,11 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="vesselSpeed"> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-update-error-validation.xml index e0c86cf..6c56dc1 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-update-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/seine/ActivitySeineDto-ui-update-error-validation.xml @@ -59,6 +59,11 @@ </message> </field-validator> + <field-validator type="coordinateLatitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="longitude"> @@ -77,6 +82,11 @@ </message> </field-validator> + <field-validator type="coordinateLongitudeDto" short-circuit="true"> + <param name="editorName">coordinate</param> + <message/> + </field-validator> + </field> <field name="time"> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUIHandler.java index 0e68b83..e18a9e5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUIHandler.java @@ -29,8 +29,9 @@ import fr.ird.observe.application.swing.db.constants.DataContextType; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIHandler; import fr.ird.observe.application.swing.ui.content.ContentUIModel; -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.validation.ValidationContext; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -239,7 +240,7 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { } else { getUi().getHaulingEndCoordinates().setQuadrant(bean.getHaulingEndQuadrant()); } - + // utilisation du mode requis setContentMode(mode); @@ -398,6 +399,19 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { } + @Override + protected void prepareValidationContext() { + super.prepareValidationContext(); + + ValidationContext validationContext = ObserveSwingApplicationContext.get().getValidationContext(); + validationContext.setCoordinatesEditor("haulingStart", getUi().getHaulingStartCoordinates()); + validationContext.setCoordinatesEditor("haulingEnd", getUi().getHaulingEndCoordinates()); + validationContext.setCoordinatesEditor("settingStart", getUi().getSettingStartCoordinates()); + validationContext.setCoordinatesEditor("settingEnd", getUi().getSettingEndCoordinates()); + + } + + protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { Set<String> errorProperties = new HashSet<>(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 1931971..09a15a8 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIModel; import fr.ird.observe.application.swing.ui.content.open.ContentOpenableUIHandler; import fr.ird.observe.application.swing.ui.tree.loadors.ActivityLonglineNodeChildLoador; +import fr.ird.observe.application.swing.validation.ValidationContext; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineHelper; @@ -179,8 +180,7 @@ class ActivityLonglineUIHandler extends ContentOpenableUIHandler<ActivityLonglin ActivityLonglineHelper.copyActivityLonglineDto(form.getObject(), bean); if (log.isDebugEnabled()) { - log.debug(" long - lat = " + bean.getLongitude() + - " - " + bean.getLatitude()); + log.debug(" long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); } finalizeOpenUI(mode, create); @@ -234,6 +234,15 @@ class ActivityLonglineUIHandler extends ContentOpenableUIHandler<ActivityLonglin } @Override + protected void prepareValidationContext() { + super.prepareValidationContext(); + + ValidationContext validationContext = ObserveSwingApplicationContext.get().getValidationContext(); + validationContext.setCoordinatesEditor("coordinate", getUi().getCoordinatesEditor()); + + } + + @Override protected boolean doSave(ActivityLonglineDto bean) throws Exception { boolean notPersisted = bean.isNotPersisted(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 70caed8..5a924a5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -27,6 +27,7 @@ import fr.ird.observe.application.swing.db.constants.DataContextType; import fr.ird.observe.application.swing.ui.content.ContentMode; import fr.ird.observe.application.swing.ui.content.ContentUIModel; import fr.ird.observe.application.swing.ui.content.open.ContentOpenableUIHandler; +import fr.ird.observe.application.swing.validation.ValidationContext; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; @@ -81,6 +82,15 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto> } @Override + protected void prepareValidationContext() { + super.prepareValidationContext(); + + ValidationContext validationContext = ObserveSwingApplicationContext.get().getValidationContext(); + validationContext.setCoordinatesEditor("coordinate", getUi().getCoordinatesEditor()); + + } + + @Override protected boolean doOpenData() { boolean result = getOpenDataManager().canOpenActivitySeine(getSelectedParentId()); if (result) { 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 3d2f41a..cca7872 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 @@ -24,9 +24,9 @@ package fr.ird.observe.application.swing.validation; import fr.ird.observe.application.swing.ObserveOpenDataManager; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; +import fr.ird.observe.application.swing.decoration.DecoratorService; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; @@ -48,6 +48,7 @@ import fr.ird.observe.services.service.seine.SetSeineService; import fr.ird.observe.services.service.seine.TripSeineService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditor; import java.util.List; import java.util.Map; @@ -164,6 +165,7 @@ public class ValidationContext { public void cleanCache() { getCache().clear(); referentielList = null; + coordinatesEditors.clear(); } public ValidationContext(ObserveSwingApplicationConfig config, DataContext dataContext) { @@ -305,6 +307,20 @@ public class ValidationContext { return result; } + private Map<String, CoordinatesEditor> coordinatesEditors = new TreeMap<>(); + + public Map<String, CoordinatesEditor> getCoordinatesEditors() { + return coordinatesEditors; + } + + public CoordinatesEditor getCoordinatesEditor(String name) { + return coordinatesEditors.get(name); + } + + public void setCoordinatesEditor(String name, CoordinatesEditor editor) { + coordinatesEditors.put(name, editor); + } + protected static abstract class DtoSupplier<D extends IdDto> { public final D get(String id) { -- 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 ad3e130d7546e8d4dbc6ce6f3d9517df147bb450 Merge: d04ed31 e3bdb5f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 3 16:16:44 2016 +0100 [WIDGET POSITIONS] absence de message d'erreur quand horodatage erronné (certains cas) (Fixes #7878) Merge branch 'feature/7878' into develop application-swing-configuration/pom.xml | 10 ++ .../src/main/resources/validators.xml | 3 +- ...ivityLonglineDto-ui-create-error-validation.xml | 10 ++ ...ivityLonglineDto-ui-update-error-validation.xml | 10 ++ .../SetLonglineDto-ui-create-error-validation.xml | 91 ++++++--------- .../SetLonglineDto-ui-update-error-validation.xml | 36 ++++++ ...ActivitySeineDto-ui-create-error-validation.xml | 10 ++ ...ActivitySeineDto-ui-update-error-validation.xml | 10 ++ .../src/test/resources/validators.xml | 2 + application-swing-validators/pom.xml | 25 +++++ .../CoordinateLatitudeDtoFieldValidator.java | 121 ++++++++++++++++++++ .../CoordinateLongitudeDtoFieldValidator.java | 123 +++++++++++++++++++++ .../application-swing-validators_en_GB.properties | 6 + .../application-swing-validators_es_ES.properties | 6 + .../application-swing-validators_fr_FR.properties | 6 + .../impl/longline/SetLonglineUIHandler.java | 18 ++- .../impl/longline/ActivityLonglineUIHandler.java | 13 ++- .../open/impl/seine/ActivitySeineUIHandler.java | 10 ++ .../swing/validation/ValidationContext.java | 18 ++- application-web-configuration/pom.xml | 10 ++ .../src/main/resources/validators.xml | 2 + 21 files changed, 479 insertions(+), 61 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm