This is an automated email from the git hooks/post-receive script. New commit to branch feature/7613 in repository observe. See http://git.codelutin.com/observe.git commit 29974d97d30036dad0a159203b8035b54d8406ce Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Oct 22 13:58:40 2015 +0200 ajout des validateurs (refs #7613) --- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 2 +- .../dto/SetLonglineUniqueNumberDtoValidator.java | 2 +- .../SetLonglineDto-n1-create-error-validation.xml | 585 +++++++++++++++++++++ ...SetLonglineDto-n1-create-warning-validation.xml | 38 ++ .../SetLonglineDto-n1-update-error-validation.xml | 585 +++++++++++++++++++++ ...SetLonglineDto-n1-update-warning-validation.xml | 38 ++ 6 files changed, 1248 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java index 16b1bd4..ff167d3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java @@ -56,7 +56,7 @@ public class SetLonglineUniqueHomeIdDtoValidator extends FieldValidatorSupport { String setLonglineTopiaId = setLongline.getId(); - TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("TripEntity"); + TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("currentTripLongline"); Set<TripLonglineActivityDto> activityLonglines = tripLongline.getActivityLongline(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java index 2debb46..fb59e56 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java @@ -52,7 +52,7 @@ public class SetLonglineUniqueNumberDtoValidator extends FieldValidatorSupport { String setLonglineTopiaId = setLongline.getId(); - TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("tripEntity"); + TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("currentTripLongline"); boolean notValid = false; diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-error-validation.xml new file mode 100644 index 0000000..e0c8683 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-error-validation.xml @@ -0,0 +1,585 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="homeId"> + + <!-- homeId duplique --> + <field-validator type="setLonglineUniqueHomeIdDto" short-circuit="true"> + <message>validator.setLongline.duplicated.homeId##${duplicatedActivity}</message> + </field-validator> + + </field> + + <field name="number"> + + <!-- number duplique --> + <field-validator type="setLonglineUniqueNumberDto" short-circuit="true"> + <message>validator.setLongline.duplicated.number##${duplicatedActivity}</message> + </field-validator> + + </field> + + <field name="haulingDirectionSameAsSetting"> + + <!-- haulingDirectionSameAsSetting non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingDirectionSameAsSetting</message> + </field-validator> + + </field> + + <field name="settingStartTimeStamp"> + + <!-- settingStartTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartTimeStamp</message> + </field-validator> + + </field> + + <field name="settingEndTimeStamp"> + + <!-- settingEndTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndTimeStamp</message> + </field-validator> + + <!-- settingStartTimeStamp < settingEndTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingStartTimeStamp == null || settingStartTimeStamp.time < settingEndTimeStamp.time ]]> + </param> + <message>validator.setLongline.settingStartTimeStamp.before.settingEndTimeStamp</message> + </field-validator> + + </field> + + <field name="settingVesselSpeed"> + + <!-- 0.0 <= settingVesselSpeed <= 30.0 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:30.0</param> + <param name="expression"><![CDATA[ + settingVesselSpeed == null || (doubles.min <= settingVesselSpeed && settingVesselSpeed <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.settingVesselSpeed##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="shooterSpeed"> + + <!-- 0.0 <= shooterSpeed <= 15.0 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:15.0</param> + <param name="expression"><![CDATA[ + shooterSpeed == null || (doubles.min <= shooterSpeed && shooterSpeed <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.shooterSpeed##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="swivelWeight"> + + <!-- 0.0 <= swivelWeight <= 0.2 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:0.2</param> + <param name="expression"><![CDATA[ + swivelWeight == null || (doubles.min <= swivelWeight && swivelWeight <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="snapWeight"> + + <!-- 0.0 <= snapWeight <= 0.2 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:0.2</param> + <param name="expression"><![CDATA[ + snapWeight == null || (doubles.min <= snapWeight && snapWeight <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.snapWeight##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="maxDepthTargeted"> + + <!-- 0 <= maxDepthTargeted <= 1000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:1000</param> + <param name="expression"><![CDATA[ + maxDepthTargeted == null || (ints.min <= maxDepthTargeted && maxDepthTargeted <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.shooterSpeed##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="timeBetweenHooks"> + + <!-- 0 <= timeBetweenHooks <= 60 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="longParams">min:0|max:60</param> + <param name="expression"><![CDATA[ + timeBetweenHooks == null || (longs.min <= timeBetweenHooks && timeBetweenHooks <= longs.max) + ]]> + </param> + <message> + validator.setLongline.bound.timeBetweenHooks##${longs.min}##${longs.max} + </message> + </field-validator> + + </field> + + <field name="haulingStartTimeStamp"> + + <!-- haulingStartTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartTimeStamp</message> + </field-validator> + + <!-- settingEndTimeStamp < haulingStartTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingEndTimeStamp == null || settingEndTimeStamp.time < haulingStartTimeStamp.time ]]> + </param> + <message>validator.setLongline.settingEndTimeStamp.before.haulingStartTimeStamp</message> + </field-validator> + + </field> + + <field name="haulingEndTimeStamp"> + + <!-- haulingEndTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndTimeStamp</message> + </field-validator> + + <!-- haulingStartTimeStamp < haulingEndTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ haulingStartTimeStamp == null || haulingStartTimeStamp.time < haulingEndTimeStamp.time ]]> + </param> + <message>validator.setLongline.haulingStartTimeStamp.before.haulingEndTimeStamp</message> + </field-validator> + + </field> + + <field name="haulingBreaks"> + + <!-- haulingBreaks non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingBreaks</message> + </field-validator> + + </field> + + <field name="settingStartLatitude"> + + <!-- settingStartLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartLatitude</message> + </field-validator> + + <!-- 0 <= settingStartLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.settingStartLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="settingStartLongitude"> + + <!-- settingStartLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartLongitude</message> + </field-validator> + + <!-- 0 <= settingStartLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.settingStartLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="settingEndLatitude"> + + <!-- settingEndLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndLatitude</message> + </field-validator> + + <!-- 0 <= settingEndLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.settingEndLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="settingEndLongitude"> + + <!-- settingEndLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndLongitude</message> + </field-validator> + + <!-- 0 <= settingEndLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.settingEndLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="haulingStartLatitude"> + + <!-- haulingStartLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartLatitude</message> + </field-validator> + + <!-- 0 <= haulingStartLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.haulingStartLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="haulingStartLongitude"> + + <!-- haulingStartLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartLongitude</message> + </field-validator> + + <!-- 0 <= haulingStartLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.haulingStartLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + + <field name="haulingEndLatitude"> + + <!-- haulingEndLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndLatitude</message> + </field-validator> + + <!-- 0 <= haulingEndLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.haulingEndLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="haulingEndLongitude"> + + <!-- haulingEndLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndLongitude</message> + </field-validator> + + <!-- 0 <= haulingEndLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.haulingEndLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="settingShape"> + + <!-- settingShape desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingShape == null || settingShape.enabled ]]> + </param> + <message>validator.setLongline.desactivated.settingShape</message> + </field-validator> + + </field> + + <field name="lineType"> + + <!-- lineType desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lineType == null || lineType.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lineType</message> + </field-validator> + + </field> + + <field name="lightsticksType"> + + <!-- lightsticksType desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lightsticksType == null || lightsticksType.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lightsticksType</message> + </field-validator> + + </field> + + <field name="lightsticksColor"> + + <!-- lightsticksColor desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lightsticksColor == null || lightsticksColor.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lightsticksColor</message> + </field-validator> + + </field> + + <field name="totalSectionsCount"> + + <!-- totalSectionsCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.totalSectionsCount</message> + </field-validator> + + <!-- 0 <= totalSectionsCount <= 100 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:100</param> + <param name="expression"><![CDATA[ + totalSectionsCount == null || (ints.min <= totalSectionsCount && totalSectionsCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalSectionsCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="basketsPerSectionCount"> + + <!-- basketsPerSectionCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.basketsPerSectionCount</message> + </field-validator> + + <!-- 0 <= basketsPerSectionCount <= 100 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:100</param> + <param name="expression"><![CDATA[ + (ints.min <= basketsPerSectionCount && basketsPerSectionCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.basketsPerSectionCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="branchlinesPerBasketCount"> + + <!-- branchlinesPerBasketCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.branchlinesPerBasketCount</message> + </field-validator> + + <!-- 0 <= branchlinesPerBasketCount <= 50 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:50</param> + <param name="expression"><![CDATA[ + (ints.min <= branchlinesPerBasketCount && branchlinesPerBasketCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.branchlinesPerBasketCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="totalBasketsCount"> + + <!-- 0 <= totalBasketsCount <= 1000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:1000</param> + <param name="expression"><![CDATA[ + totalBasketsCount == null || (ints.min <= totalBasketsCount && totalBasketsCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalBasketsCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="totalHooksCount"> + + <!-- 0 <= totalHooksCount <= 5000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:5000</param> + <param name="expression"><![CDATA[ + totalHooksCount == null || (ints.min <= totalHooksCount && totalHooksCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalHooksCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="lightsticksPerBasketCount"> + + <!-- 0 <= lightsticksPerBasketCount <= 50 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:50</param> + <param name="expression"><![CDATA[ + lightsticksPerBasketCount == null || (ints.min <= lightsticksPerBasketCount && lightsticksPerBasketCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.lightsticksPerBasketCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-warning-validation.xml new file mode 100644 index 0000000..f7c51a3 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-create-warning-validation.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="homeId"> + + <!-- homeId non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.null.homeId</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-error-validation.xml new file mode 100644 index 0000000..d609ab4 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-error-validation.xml @@ -0,0 +1,585 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="homeId"> + + <!-- homeId duplique --> + <field-validator type="setLonglineUniqueHomeIdDto" short-circuit="true"> + <message>validator.setLongline.duplicated.homeId##${duplicatedActivity}</message> + </field-validator> + + </field> + + <field name="number"> + + <!-- number duplique --> + <field-validator type="setLonglineUniqueNumberDto" short-circuit="true"> + <message>validator.setLongline.duplicated.number##${duplicatedActivity}</message> + </field-validator> + + </field> + + <field name="haulingDirectionSameAsSetting"> + + <!-- haulingDirectionSameAsSetting non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingDirectionSameAsSetting</message> + </field-validator> + + </field> + + <field name="settingStartTimeStamp"> + + <!-- settingStartTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartTimeStamp</message> + </field-validator> + + </field> + + <field name="settingEndTimeStamp"> + + <!-- settingEndTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndTimeStamp</message> + </field-validator> + + <!-- settingStartTimeStamp < settingEndTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingStartTimeStamp == null || settingStartTimeStamp.time < settingEndTimeStamp.time ]]> + </param> + <message>validator.setLongline.settingStartTimeStamp.before.settingEndTimeStamp</message> + </field-validator> + + </field> + + <field name="haulingStartTimeStamp"> + + <!-- haulingStartTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartTimeStamp</message> + </field-validator> + + <!-- settingEndTimeStamp < haulingStartTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingEndTimeStamp == null || settingEndTimeStamp.time < haulingStartTimeStamp.time ]]> + </param> + <message>validator.setLongline.settingEndTimeStamp.before.haulingStartTimeStamp</message> + </field-validator> + + </field> + + <field name="haulingEndTimeStamp"> + + <!-- haulingEndTimeStamp non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndTimeStamp</message> + </field-validator> + + <!-- haulingStartTimeStamp < haulingEndTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ haulingStartTimeStamp == null || haulingStartTimeStamp.time < haulingEndTimeStamp.time ]]> + </param> + <message>validator.setLongline.haulingStartTimeStamp.before.haulingEndTimeStamp</message> + </field-validator> + + </field> + + <field name="settingVesselSpeed"> + + <!-- 0.0 <= settingVesselSpeed <= 30.0 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:30.0</param> + <param name="expression"><![CDATA[ + settingVesselSpeed == null || (doubles.min <= settingVesselSpeed && settingVesselSpeed <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.settingVesselSpeed##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="shooterSpeed"> + + <!-- 0.0 <= shooterSpeed <= 15.0 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:15.0</param> + <param name="expression"><![CDATA[ + shooterSpeed == null || (doubles.min <= shooterSpeed && shooterSpeed <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.shooterSpeed##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="swivelWeight"> + + <!-- 0.0 <= swivelWeight <= 0.2 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:0.2</param> + <param name="expression"><![CDATA[ + swivelWeight == null || (doubles.min <= swivelWeight && swivelWeight <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.swivelWeight##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="snapWeight"> + + <!-- 0.0 <= snapWeight <= 0.2 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="doubleParams">min:0.0|max:0.2</param> + <param name="expression"><![CDATA[ + snapWeight == null || (doubles.min <= snapWeight && snapWeight <= doubles.max) + ]]> + </param> + <message> + validator.setLongline.bound.snapWeight##${doubles.min}##${doubles.max} + </message> + </field-validator> + + </field> + + <field name="maxDepthTargeted"> + + <!-- 0 <= maxDepthTargeted <= 1000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:1000</param> + <param name="expression"><![CDATA[ + maxDepthTargeted == null || (ints.min <= maxDepthTargeted && maxDepthTargeted <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.shooterSpeed##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="timeBetweenHooks"> + + <!-- 0 <= timeBetweenHooks <= 60 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="longParams">min:0|max:60</param> + <param name="expression"><![CDATA[ + timeBetweenHooks == null || (longs.min <= timeBetweenHooks && timeBetweenHooks <= longs.max) + ]]> + </param> + <message> + validator.setLongline.bound.timeBetweenHooks##${longs.min}##${longs.max} + </message> + </field-validator> + + </field> + + <field name="haulingBreaks"> + + <!-- haulingBreaks non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingBreaks</message> + </field-validator> + + </field> + + <field name="settingStartLatitude"> + + <!-- settingStartLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartLatitude</message> + </field-validator> + + <!-- 0 <= settingStartLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.settingStartLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="settingStartLongitude"> + + <!-- settingStartLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingStartLongitude</message> + </field-validator> + + <!-- 0 <= settingStartLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.settingStartLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="settingEndLatitude"> + + <!-- settingEndLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndLatitude</message> + </field-validator> + + <!-- 0 <= settingEndLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.settingEndLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="settingEndLongitude"> + + <!-- settingEndLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.settingEndLongitude</message> + </field-validator> + + <!-- 0 <= settingEndLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.settingEndLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="haulingStartLatitude"> + + <!-- haulingStartLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartLatitude</message> + </field-validator> + + <!-- 0 <= haulingStartLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.haulingStartLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="haulingStartLongitude"> + + <!-- haulingStartLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingStartLongitude</message> + </field-validator> + + <!-- 0 <= haulingStartLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.haulingStartLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + + <field name="haulingEndLatitude"> + + <!-- haulingEndLatitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndLatitude</message> + </field-validator> + + <!-- 0 <= haulingEndLatitude <= 90 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-90.0</param> + <param name="maxInclusive">90.0</param> + <message> + validator.setLongline.bound.haulingEndLatitude##${0.0}##${maxInclusive} + </message> + </field-validator> + + </field> + + <field name="haulingEndLongitude"> + + <!-- haulingEndLongitude obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.haulingEndLongitude</message> + </field-validator> + + <!-- 0 <= haulingEndLongitude <= 180 --> + <field-validator type="double" short-circuit="true"> + <param name="minInclusive">-180.0</param> + <param name="maxInclusive">180.0</param> + <message> + validator.setLongline.bound.haulingEndLongitude##${0.0}##${maxInclusive} + </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.activity.invalid.quadrant##${currentTripSeine.ocean.getPropertyValue("label")} + </message> + </field-validator> + + + </field> + + <field name="settingShape"> + + <!-- settingShape desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ settingShape == null || settingShape.enabled ]]> + </param> + <message>validator.setLongline.desactivated.settingShape</message> + </field-validator> + + </field> + + <field name="lineType"> + + <!-- lineType desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lineType == null || lineType.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lineType</message> + </field-validator> + + </field> + + <field name="lightsticksType"> + + <!-- lightsticksType desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lightsticksType == null || lightsticksType.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lightsticksType</message> + </field-validator> + + </field> + + <field name="lightsticksColor"> + + <!-- lightsticksColor desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ lightsticksColor == null || lightsticksColor.enabled ]]> + </param> + <message>validator.setLongline.desactivated.lightsticksColor</message> + </field-validator> + + </field> + + <field name="totalSectionsCount"> + + <!-- totalSectionsCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.totalSectionsCount</message> + </field-validator> + + <!-- 0 <= totalSectionsCount <= 100 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:100</param> + <param name="expression"><![CDATA[ + totalSectionsCount == null || (ints.min <= totalSectionsCount && totalSectionsCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalSectionsCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="basketsPerSectionCount"> + + <!-- basketsPerSectionCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.basketsPerSectionCount</message> + </field-validator> + + <!-- 0 <= basketsPerSectionCount <= 100 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:100</param> + <param name="expression"><![CDATA[ + (ints.min <= basketsPerSectionCount && basketsPerSectionCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.basketsPerSectionCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="branchlinesPerBasketCount"> + + <!-- branchlinesPerBasketCount obligatoire --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.required.branchlinesPerBasketCount</message> + </field-validator> + + <!-- 0 <= branchlinesPerBasketCount <= 50 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:50</param> + <param name="expression"><![CDATA[ + (ints.min <= branchlinesPerBasketCount && branchlinesPerBasketCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.branchlinesPerBasketCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="totalBasketsCount"> + + <!-- 0 <= totalBasketsCount <= 1000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:1000</param> + <param name="expression"><![CDATA[ + totalBasketsCount == null || (ints.min <= totalBasketsCount && totalBasketsCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalBasketsCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="totalHooksCount"> + + <!-- 0 <= totalHooksCount <= 5000 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:5000</param> + <param name="expression"><![CDATA[ + totalHooksCount == null || (ints.min <= totalHooksCount && totalHooksCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.totalHooksCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + + <field name="lightsticksPerBasketCount"> + + <!-- 0 <= lightsticksPerBasketCount <= 50 --> + <field-validator type="fieldexpressionwithparams" short-circuit="true"> + <param name="intParams">min:0|max:50</param> + <param name="expression"><![CDATA[ + lightsticksPerBasketCount == null || (ints.min <= lightsticksPerBasketCount && lightsticksPerBasketCount <= ints.max) + ]]> + </param> + <message> + validator.setLongline.bound.lightsticksPerBasketCount##${ints.min}##${ints.max} + </message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-warning-validation.xml new file mode 100644 index 0000000..f7c51a3 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/longline/SetLonglineDto-n1-update-warning-validation.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="homeId"> + + <!-- homeId non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.setLongline.null.homeId</message> + </field-validator> + + </field> + +</validators> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.