Author: tchemit Date: 2014-02-07 11:53:20 +0100 (Fri, 07 Feb 2014) New Revision: 1575 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1575 Log: fixes #4366: [TRAIT] Pas de contr?\195?\180le du num?\195?\169ro de poche Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-edit-fatal-validation.xml trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-validate-fatal-validation.xml trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-02-06 17:34:03 UTC (rev 1574) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2014-02-07 10:53:20 UTC (rev 1575) @@ -870,6 +870,16 @@ return DateUtil.between(date, getCruise().getBeginDate(), getCruise().getEndDate()); } + public boolean isMutiRegNumberValid(String numberAsString) { + boolean result = false; + if (numberAsString.matches("\\d+")) { + int mutlirigNumber = Integer.valueOf(numberAsString); + Integer cruiseMultirigNumber = getCruise().getMultirigNumber(); + result = mutlirigNumber <= cruiseMultirigNumber; + } + return result; + } + public boolean isValidDuration(Date gearShootingStartDate, Date gearShootingEndDate) { boolean result = gearShootingStartDate == null || gearShootingEndDate == null; if (!result) { Modified: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-edit-fatal-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-edit-fatal-validation.xml 2014-02-06 17:34:03 UTC (rev 1574) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-edit-fatal-validation.xml 2014-02-07 10:53:20 UTC (rev 1575) @@ -80,6 +80,12 @@ </message> </field-validator> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ isMutiRegNumberValid(multirigAggregation) ]]> + </param> + <message>tutti.validator.error.fishingOperation.trawlNetNumber.invalid##${cruise.multirigNumber}</message> + </field-validator> </field> <field name="gearShootingStartDate"> Modified: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-validate-fatal-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-validate-fatal-validation.xml 2014-02-06 17:34:03 UTC (rev 1574) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/FishingOperation-validate-fatal-validation.xml 2014-02-07 10:53:20 UTC (rev 1575) @@ -79,6 +79,13 @@ </message> </field-validator> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ isMutiRegNumberValid(multirigAggregation) ]]> + </param> + <message>tutti.validator.error.fishingOperation.trawlNetNumber.invalid##${cruise.multirigNumber}</message> + </field-validator> + </field> <field name="gearShootingStartDate"> Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties =================================================================== --- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-02-06 17:34:03 UTC (rev 1574) +++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2014-02-07 10:53:20 UTC (rev 1575) @@ -214,6 +214,7 @@ tutti.validator.error.fishingOperation.strataLocation.required= tutti.validator.error.fishingOperation.trawlDistance.required= tutti.validator.error.fishingOperation.trawlDistance.tooLong= +tutti.validator.error.fishingOperation.trawlNetNumber.invalid= tutti.validator.error.fishingOperation.trawlNetNumber.required= tutti.validator.error.fishingOperation.vessel.required= tutti.validator.error.individualObservation.lengthStepCaracteristic.required= Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties =================================================================== --- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-02-06 17:34:03 UTC (rev 1574) +++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2014-02-07 10:53:20 UTC (rev 1575) @@ -213,6 +213,7 @@ tutti.validator.error.fishingOperation.strataLocation.required=La strate, sous-strate ou localité doit être renseignée tutti.validator.error.fishingOperation.trawlDistance.required=La distance est obligatoire tutti.validator.error.fishingOperation.trawlDistance.tooLong=La distance du trait dépasse 3 milles marin (5556 m), merci de vérifier les coordonnées +tutti.validator.error.fishingOperation.trawlNetNumber.invalid=Le numéro de poche doit être inférieur ou égal au nombre de poches déclarées dans la campagne (%s). tutti.validator.error.fishingOperation.trawlNetNumber.required=Le numéro de poche est obligatoire tutti.validator.error.fishingOperation.vessel.required=Le navire est obligatoire tutti.validator.error.individualObservation.lengthStepCaracteristic.required=La classe de taille est obligatoire