Author: kmorin Date: 2013-03-01 18:26:39 +0100 (Fri, 01 Mar 2013) New Revision: 511 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/511 Log: refs #2014 [TRAIT] Cr?\195?\169ation du trait - bug controle "la date de fin doit ?\195?\170tre apr?\195?\168s la date de d?\195?\169but" Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-03-01 17:12:08 UTC (rev 510) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-03-01 17:26:39 UTC (rev 511) @@ -9,15 +9,15 @@ %% 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 + 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 + + 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% @@ -41,7 +41,7 @@ tutti.validator.error.fishingOperation.stationNumber.too.long##${maxLength} </message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -59,7 +59,7 @@ tutti.validator.error.fishingOperation.fishingOperationNumber.required </message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -85,7 +85,7 @@ <field-validator type="required" short-circuit="true"> <message>tutti.validator.error.fishingOperation.date.start.required</message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -93,21 +93,21 @@ <param name="nullValueSkipped">true</param> <message>tutti.validator.error.fishingOperation.existingKey</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingEndDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]> + <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message> </field-validator> </field> - + <field name="gearShootingEndDate"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || !gearShootingStartDate.after(gearShootingEndDate) ]]> + <![CDATA[ gearShootingEndDate == null || gearShootingStartDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message> </field-validator> Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml =================================================================== --- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-01 17:12:08 UTC (rev 510) +++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-03-01 17:26:39 UTC (rev 511) @@ -9,15 +9,15 @@ %% 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 + 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 + + 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% @@ -41,7 +41,7 @@ tutti.validator.error.fishingOperation.stationNumber.too.long##${maxLength} </message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -59,7 +59,7 @@ tutti.validator.error.fishingOperation.fishingOperationNumber.required </message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -79,7 +79,7 @@ </field-validator> </field> - + <field name='strata'> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> @@ -88,7 +88,7 @@ <message>tutti.validator.error.fishingOperation.strataLocation.required</message> </field-validator> </field> - + <field name='subStrata'> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> @@ -97,7 +97,7 @@ <message>tutti.validator.error.fishingOperation.strataLocation.required</message> </field-validator> </field> - + <field name='location'> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> @@ -112,7 +112,7 @@ <field-validator type="required" short-circuit="true"> <message>tutti.validator.error.fishingOperation.date.start.required</message> </field-validator> - + <field-validator type="collectionUniqueKey" short-circuit="true"> <param name="collectionFieldName">existingOperations</param> <param name="keys">stationNumber, fishingOperationNumber, gearShootingStartDate</param> @@ -120,68 +120,68 @@ <param name="nullValueSkipped">true</param> <message>tutti.validator.error.fishingOperation.existingKey</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.compareTo(gearShootingEndDate) < 0 ]]> + <![CDATA[ gearShootingEndDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ isDateInCruise(gearShootingStartDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message> </field-validator> - + </field> <field name="gearShootingEndDate"> - + <field-validator type="required" short-circuit="true"> <message>tutti.validator.error.fishingOperation.date.end.required</message> </field-validator> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ gearShootingStartDate == null || gearShootingStartDate.compareTo(gearShootingEndDate) < 0 ]]> + <![CDATA[ gearShootingStartDate == null || gearShootingStartDate.before(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.endBeforeStart</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ gearShootingEndDate == null || isDateInCruise(gearShootingEndDate) ]]> </param> <message>tutti.validator.error.fishingOperation.dates.startOutOfCruiseDates</message> </field-validator> - + </field> <!--gear shooting start latitude validation --> <field name="gearShootingStartLatitude"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> <![CDATA[ - !"DD".equals(coordinateEditorType.toString()) || - ( gearShootingStartLatitude != null - && -doubles.min <= gearShootingStartLatitude + !"DD".equals(coordinateEditorType.toString()) || + ( gearShootingStartLatitude != null + && -doubles.min <= gearShootingStartLatitude && gearShootingStartLatitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> @@ -196,20 +196,20 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeDecimalDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( getGearShootingStartLatitudeDecimalDegree() != null && (( -ints.min < getGearShootingStartLatitudeDecimalDegree() && getGearShootingStartLatitudeDecimalDegree() < ints.max ) || ( @@ -219,97 +219,97 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || - ( getGearShootingStartLatitudeMinute() != null - && ints.min <= getGearShootingStartLatitudeMinute() + ( getGearShootingStartLatitudeMinute() != null + && ints.min <= getGearShootingStartLatitudeMinute() && getGearShootingStartLatitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeDecimalMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> <![CDATA[ !"DMD".equals(coordinateEditorType.toString()) || ( getGearShootingStartLatitudeDecimalMinute() != null - && doubles.min <= getGearShootingStartLatitudeDecimalMinute() + && doubles.min <= getGearShootingStartLatitudeDecimalMinute() && getGearShootingStartLatitudeDecimalMinute() < doubles.max ) ]]> </param> <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLatitudeSecond"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || + !"DMS".equals(coordinateEditorType.toString()) || ( getGearShootingStartLatitudeSecond() != null - && ints.min <= getGearShootingStartLatitudeSecond() + && ints.min <= getGearShootingStartLatitudeSecond() && getGearShootingStartLatitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting start longitude validation --> <field name="gearShootingStartLongitude"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> <![CDATA[ !"DD".equals(coordinateEditorType.toString()) || - ( gearShootingStartLongitude != null + ( gearShootingStartLongitude != null && -doubles.min <= gearShootingStartLongitude && gearShootingStartLongitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || ( + !"DMS".equals(coordinateEditorType.toString()) || ( getGearShootingStartLongitudeDegree() != null && ((-ints.min < getGearShootingStartLongitudeDegree() && getGearShootingStartLongitudeDegree() < ints.max) || ( @@ -319,20 +319,20 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDecimalDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( getGearShootingStartLongitudeDecimalDegree() != null && (( -ints.min < getGearShootingStartLongitudeDecimalDegree() && getGearShootingStartLongitudeDecimalDegree() < ints.max) || ( @@ -342,34 +342,34 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || - ( getGearShootingStartLongitudeMinute() != null - && ints.min <= getGearShootingStartLongitudeMinute() + ( getGearShootingStartLongitudeMinute() != null + && ints.min <= getGearShootingStartLongitudeMinute() && getGearShootingStartLongitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeDecimalMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -383,57 +383,57 @@ <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingStartLongitudeSecond"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || ( getGearShootingStartLongitudeSecond() != null - && ints.min <= getGearShootingStartLongitudeSecond() + && ints.min <= getGearShootingStartLongitudeSecond() && getGearShootingStartLongitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting end latitude validation --> - + <field name="gearShootingEndLatitude"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:90.0|max:90.0</param> <param name="expression"> <![CDATA[ !"DD".equals(coordinateEditorType.toString()) || - ( gearShootingEndLatitude != null - && -doubles.min <= gearShootingEndLatitude + ( gearShootingEndLatitude != null + && -doubles.min <= gearShootingEndLatitude && gearShootingEndLatitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.outOfBounds</message> </field-validator> - + </field> - - + + <field name="gearShootingEndLatitudeDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMS".equals(coordinateEditorType.toString()) || ( + !"DMS".equals(coordinateEditorType.toString()) || ( getGearShootingEndLatitudeDegree() != null && (( -ints.min < getGearShootingEndLatitudeDegree() && getGearShootingEndLatitudeDegree() < ints.max) || ( @@ -443,20 +443,20 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeDecimalDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:90|max:90</param> <param name="expression"> <![CDATA[ - !"DMD".equals(coordinateEditorType.toString()) || ( + !"DMD".equals(coordinateEditorType.toString()) || ( getGearShootingEndLatitudeDecimalDegree() != null && (( -ints.min < getGearShootingEndLatitudeDecimalDegree() && getGearShootingEndLatitudeDecimalDegree() < ints.max) || ( @@ -466,98 +466,98 @@ ) ]]> </param> - + <message>tutti.validator.warning.latitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || - ( getGearShootingEndLatitudeMinute() != null - && ints.min <= getGearShootingEndLatitudeMinute() + ( getGearShootingEndLatitudeMinute() != null + && ints.min <= getGearShootingEndLatitudeMinute() && getGearShootingEndLatitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeDecimalMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> <![CDATA[ !"DMD".equals(coordinateEditorType.toString()) || - ( getGearShootingEndLatitudeDecimalMinute() != null - && doubles.min <= getGearShootingEndLatitudeDecimalMinute() + ( getGearShootingEndLatitudeDecimalMinute() != null + && doubles.min <= getGearShootingEndLatitudeDecimalMinute() && getGearShootingEndLatitudeDecimalMinute() < doubles.max ) ]]> </param> <message>tutti.validator.warning.latitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLatitudeSecond"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || - ( getGearShootingEndLatitudeSecond() != null + ( getGearShootingEndLatitudeSecond() != null && ints.min <= getGearShootingEndLatitudeSecond() && getGearShootingEndLatitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.latitude.second.outOfBounds</message> </field-validator> - + </field> - + <!--gear shooting end longitude validation --> - + <field name="gearShootingEndLongitude"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:180.0|max:180.0</param> <param name="expression"> <![CDATA[ !"DD".equals(coordinateEditorType.toString()) || - ( gearShootingEndLongitude != null - && -doubles.min <= gearShootingEndLongitude + ( gearShootingEndLongitude != null + && -doubles.min <= gearShootingEndLongitude && gearShootingEndLongitude <= doubles.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || ( - getGearShootingEndLongitudeDegree() != null && + getGearShootingEndLongitudeDegree() != null && ((-ints.min < getGearShootingEndLongitudeDegree() && getGearShootingEndLongitudeDegree() < ints.max) || ( ( getGearShootingEndLongitudeDegree() == ints.max || getGearShootingEndLongitudeDegree() == -ints.min ) @@ -566,15 +566,15 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDecimalDegree"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:180|max:180</param> <param name="expression"> @@ -589,34 +589,34 @@ ) ]]> </param> - + <message>tutti.validator.warning.longitude.degree.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || - ( getGearShootingEndLongitudeMinute() != null + ( getGearShootingEndLongitudeMinute() != null && ints.min <= getGearShootingEndLongitudeMinute() && getGearShootingEndLongitudeMinute() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeDecimalMinute"> - + <field-validator type="fieldexpressionwithparams"> <param name="doubleParams">min:0.0|max:60.0</param> <param name="expression"> @@ -630,26 +630,26 @@ <message>tutti.validator.warning.longitude.minute.outOfBounds</message> </field-validator> - + </field> - + <field name="gearShootingEndLongitudeSecond"> - + <field-validator type="fieldexpressionwithparams"> <param name="intParams">min:0|max:60</param> <param name="expression"> <![CDATA[ !"DMS".equals(coordinateEditorType.toString()) || ( getGearShootingEndLongitudeSecond() != null - && ints.min <= getGearShootingEndLongitudeSecond() + && ints.min <= getGearShootingEndLongitudeSecond() && getGearShootingEndLongitudeSecond() < ints.max ) ]]> </param> - + <message>tutti.validator.warning.longitude.second.outOfBounds</message> </field-validator> - + </field> <field name="trawlDistance"> @@ -659,7 +659,7 @@ </field-validator> </field> - + <field name="fishingOperationValid"> <field-validator type="required" short-circuit="true"> @@ -667,7 +667,7 @@ </field-validator> </field> - + <field name="saisisseur"> <field-validator type="fieldexpression" short-circuit="true"> @@ -676,9 +676,9 @@ </param> <message>tutti.validator.error.fishingOperation.catcher.required</message> </field-validator> - + </field> - + <field name="vessel"> <field-validator type="required" short-circuit="true"> @@ -694,21 +694,21 @@ </field-validator> </field> - + <field name="comment"> - + <field-validator type="stringlength" short-circuit="true"> <param name="maxLength">2000</param> <message>tutti.validator.error.comment.too.long##${maxLength}</message> </field-validator> - + <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ fishingOperationValid == null || fishingOperationValid || (comment != null && !comment.isEmpty()) ]]> </param> <message>tutti.validator.error.fishingOperation.comment.required</message> </field-validator> - + </field> </validators>