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>.