r862 - in trunk: tutti-service/src/main/java/fr/ifremer/tutti/service/catches tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data tutti-service/src/main/resources/i18n tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter tutti-ui-swing/
Author: kmorin Date: 2013-04-23 10:09:40 +0200 (Tue, 23 Apr 2013) New Revision: 862 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/862 Log: put the validation in the validation service Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/AccidentalBatch-error-validation.xml trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/IndividualObservationBatch-error-validation.xml trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-error-validation.xml trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-warning-validation.xml Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-error-validation.xml trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-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 trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java 2013-04-23 08:09:40 UTC (rev 862) @@ -45,6 +45,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorResult; +import org.nuiton.validator.NuitonValidatorScope; import java.util.List; import java.util.Map; @@ -251,7 +252,7 @@ catchBatch.setSpeciesTotalSortedComputedWeight(speciesTotalSortedWeight); } else if (speciesTotalSortedWeight < speciesTotalComputedSortedWeight) { - throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.species.error.incoherentTotalSorted")); + throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.error.species.incoherentTotalSorted")); } catchBatch.setSpeciesTotalUnsortedComputedWeight(speciesTotalComputedUnsortedWeight); @@ -307,7 +308,7 @@ catchBatch.setBenthosTotalSortedComputedWeight(benthosTotalSortedWeight); } else if (benthosTotalSortedWeight < benthosTotalComputedSortedWeight) { - throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.benthos.error.incoherentTotalSorted")); + throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.error.benthos.incoherentTotalSorted")); } catchBatch.setBenthosTotalUnsortedComputedWeight(benthosTotalComputedUnsortedWeight); @@ -338,7 +339,7 @@ marineLitterTotalWeight = marineLitterTotalComputedWeight; } else if (marineLitterTotalComputedWeight != null && marineLitterTotalWeight < marineLitterTotalComputedWeight) { - throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.marineLitter.error.incoherentTotal")); + throw new TuttiBusinessException(_("tutti.service.operations.computeWeights.error.marineLitter.incoherentTotal")); } // nothing to do with the marine litter weight, it is an isolated weight @@ -430,7 +431,7 @@ } else if (categoryWeight < sum) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.species.error.incoherentParentCategoryWeight"), + _("tutti.service.operations.computeWeights.error.species.incoherentParentCategoryWeight"), TuttiWeightComputingException.CatchType.SPECIES, thisIndex); @@ -479,7 +480,7 @@ // if the weight of the frequencies is different from the category // weight, then set the weight of the sample if (frequencyWeight > categoryWeight) { - throw new TuttiWeightComputingException(_("tutti.service.operations.computeWeights.species.error.incoherentCategoryWeight"), + throw new TuttiWeightComputingException(_("tutti.service.operations.computeWeights.error.species.incoherentCategoryWeight"), TuttiWeightComputingException.CatchType.SPECIES, thisIndex); @@ -488,7 +489,7 @@ } else if (!rowWeight.equals(frequencyWeight)) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.species.error.incoherentRowWeightFrequency"), + _("tutti.service.operations.computeWeights.error.species.incoherentRowWeightFrequency"), TuttiWeightComputingException.CatchType.SPECIES, thisIndex); } @@ -504,7 +505,7 @@ } if (result == null && batch.getParentBatch() == null) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.species.error.noWeight"), + _("tutti.service.operations.computeWeights.error.species.noWeight"), TuttiWeightComputingException.CatchType.SPECIES, thisIndex); } @@ -563,7 +564,7 @@ } else if (categoryWeight < sum) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight"), + _("tutti.service.operations.computeWeights.error.benthos.incoherentParentCategoryWeight"), TuttiWeightComputingException.CatchType.BENTHOS, thisIndex); @@ -614,7 +615,7 @@ // weight, then set the weight of the sample if (frequencyWeight > categoryWeight) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight"), + _("tutti.service.operations.computeWeights.error.benthos.incoherentCategoryWeight"), TuttiWeightComputingException.CatchType.BENTHOS, thisIndex); @@ -623,7 +624,7 @@ } else if (!rowWeight.equals(frequencyWeight)) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency"), + _("tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightFrequency"), TuttiWeightComputingException.CatchType.BENTHOS, thisIndex); } @@ -640,7 +641,7 @@ if (result == null && batch.getParentBatch() == null) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.benthos.error.noWeight"), + _("tutti.service.operations.computeWeights.error.benthos.noWeight"), TuttiWeightComputingException.CatchType.BENTHOS, thisIndex); } @@ -657,9 +658,10 @@ List<MarineLitterBatch> children = rootMarineLitterBatch.getChildren(); for (int i = 0; i < children.size(); i++) { MarineLitterBatch batch = children.get(i); - if (batch.getWeight() == null) { + NuitonValidatorResult validator = validationService.validateMarineLitterBatch(batch); + if (validator.hasWarningMessages()) { throw new TuttiWeightComputingException( - _("tutti.service.operations.computeWeights.marineLitter.error.noWeight"), + _(validator.getMessagesForScope(NuitonValidatorScope.WARNING).get(0)), TuttiWeightComputingException.CatchType.MARINE_LITTER, i); } Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/AccidentalBatch-error-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/AccidentalBatch-error-validation.xml (rev 0) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/AccidentalBatch-error-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!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="species"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.service.operations.accidental.error.species.required + </message> + </field-validator> + </field> + +</validators> \ No newline at end of file Modified: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-error-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-error-validation.xml 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-error-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -33,14 +33,14 @@ <param name="expression"> <![CDATA[ !(sampleCategoryWeight == null && weight != null) ]]> </param> - <message>tutti.service.catches.computeWeights.error.incoherentRowWeightCategory</message> + <message>tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightCategory</message> </field-validator> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ weight == null || sampleCategoryWeight == null || weight <= sampleCategoryWeight ]]> </param> - <message>tutti.service.catches.computeWeights.benthos.error.incoherentSampleWeight</message> + <message>tutti.service.operations.computeWeights.error.benthos.incoherentSampleWeight</message> </field-validator> </field> Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/IndividualObservationBatch-error-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/IndividualObservationBatch-error-validation.xml (rev 0) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/IndividualObservationBatch-error-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!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="species"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.service.operations.individualObservation.error.species.required + </message> + </field-validator> + </field> + + <field name="weight"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.service.operations.individualObservation.error.weight.required + </message> + </field-validator> + </field> + + <field name="size"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.service.operations.individualObservation.error.size.required + </message> + </field-validator> + </field> + + <field name="lengthStepCaracteristic"> + <field-validator type="required" short-circuit="true"> + <message> + tutti.service.operations.individualObservation.error.lengthStepCaracteristic.required + </message> + </field-validator> + </field> + +</validators> \ No newline at end of file Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-error-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-error-validation.xml (rev 0) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-error-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!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="marineLitterCategory"> + <field-validator type="required" short-circuit="true"> + <message>tutti.service.operations.marineLitter.error.marineLitterCategory.required</message> + </field-validator> + </field> + + <field name="marineLitterSizeCategory"> + <field-validator type="required" short-circuit="true"> + <message>tutti.service.operations.marineLitter.error.marineLitterSizeCategory.required</message> + </field-validator> + </field> + + <field name="number"> + <field-validator type="required" short-circuit="true"> + <message>tutti.service.operations.marineLitter.error.number.required</message> + </field-validator> + </field> + + +</validators> \ No newline at end of file Added: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-warning-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-warning-validation.xml (rev 0) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/MarineLitterBatch-warning-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!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="weight"> + <field-validator type="required" short-circuit="true"> + <message>tutti.service.operations.marineLitter.warning.weight.required</message> + </field-validator> + </field> + +</validators> \ No newline at end of file Modified: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml =================================================================== --- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml 2013-04-23 08:09:40 UTC (rev 862) @@ -33,14 +33,14 @@ <param name="expression"> <![CDATA[ !(sampleCategoryWeight == null && weight != null) ]]> </param> - <message>tutti.service.catches.computeWeights.error.incoherentRowWeightCategory</message> + <message>tutti.service.operations.computeWeights.error.species.incoherentRowWeightCategory</message> </field-validator> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> <![CDATA[ weight == null || sampleCategoryWeight == null || weight <= sampleCategoryWeight ]]> </param> - <message>tutti.service.catches.computeWeights.species.error.incoherentSampleWeight</message> + <message>tutti.service.operations.computeWeights.error.species.incoherentSampleWeight</message> </field-validator> </field> 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 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-23 08:09:40 UTC (rev 862) @@ -62,13 +62,29 @@ tutti.service.exportSumatra.header.species= tutti.service.exportSumatra.header.station= tutti.service.exportSumatra.header.weight= +tutti.service.operations.accidental.error.species.required= tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight= tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight= tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency= tutti.service.operations.computeWeights.benthos.error.incoherentTotalSorted= tutti.service.operations.computeWeights.benthos.error.noWeight= +tutti.service.operations.computeWeights.error.benthos.incoherentCategoryWeight= +tutti.service.operations.computeWeights.error.benthos.incoherentParentCategoryWeight= +tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightCategory= +tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightFrequency= +tutti.service.operations.computeWeights.error.benthos.incoherentSampleWeight= +tutti.service.operations.computeWeights.error.benthos.incoherentTotalSorted= +tutti.service.operations.computeWeights.error.benthos.noWeight= tutti.service.operations.computeWeights.error.incoherentRowWeightCategory= tutti.service.operations.computeWeights.error.incoherentTotal= +tutti.service.operations.computeWeights.error.marineLitter.incoherentTotal= +tutti.service.operations.computeWeights.error.species.incoherentCategoryWeight= +tutti.service.operations.computeWeights.error.species.incoherentParentCategoryWeight= +tutti.service.operations.computeWeights.error.species.incoherentRowWeightCategory= +tutti.service.operations.computeWeights.error.species.incoherentRowWeightFrequency= +tutti.service.operations.computeWeights.error.species.incoherentSampleWeight= +tutti.service.operations.computeWeights.error.species.incoherentTotalSorted= +tutti.service.operations.computeWeights.error.species.noWeight= tutti.service.operations.computeWeights.marineLitter.error.incoherentTotal= tutti.service.operations.computeWeights.marineLitter.error.noWeight= tutti.service.operations.computeWeights.species.error.incoherentCategoryWeight= @@ -77,6 +93,18 @@ tutti.service.operations.computeWeights.species.error.incoherentTotalSorted= tutti.service.operations.computeWeights.species.error.noWeight= tutti.service.operations.exportCatchesReport.error= +tutti.service.operations.individualObservation.error.lengthStepCaracteristic.required= +tutti.service.operations.individualObservation.error.size.required= +tutti.service.operations.individualObservation.error.species.required= +tutti.service.operations.individualObservation.error.weight.required= +tutti.service.operations.marineLitter.error.marineLitterCategory.required= +tutti.service.operations.marineLitter.error.marineLitterSizeCategory.required= +tutti.service.operations.marineLitter.error.number.required= +tutti.service.operations.marineLitter.warning.weight.required= +tutti.service.operations.validate.marineLitter.error.marineLitterCategory.required= +tutti.service.operations.validate.marineLitter.error.marineLitterSizeCategory.required= +tutti.service.operations.validate.marineLitter.error.number.required= +tutti.service.operations.validate.marineLitter.warning.weight.required= tutti.validator.error.comment.too.long= tutti.validator.error.cruise.beginDate.required= tutti.validator.error.cruise.dates.endBeforeStart= 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 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-23 08:09:40 UTC (rev 862) @@ -62,21 +62,33 @@ tutti.service.exportSumatra.header.species=Espèce tutti.service.exportSumatra.header.station=Station tutti.service.exportSumatra.header.weight=Total -tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight=Le poids total des mensurations d'un lot du benthos est supérieur au poids de la catégorie -tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight=Le poids de la catégorie d'un lot du benthos est différent de la somme des poids de ses sous-catégories -tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot du benthos est différent du poids du sous-échantillon -tutti.service.operations.computeWeights.benthos.error.incoherentTotalSorted=Le poids total Vrac du benthos est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié -tutti.service.operations.computeWeights.benthos.error.noWeight=Un lot du benthos n'a pas de poids +tutti.service.operations.accidental.error.species.required=L'espèce est obligatoire +tutti.service.operations.computeWeights.error.benthos.incoherentCategoryWeight=Le poids total des mensurations d'un lot du benthos est supérieur au poids de la catégorie +tutti.service.operations.computeWeights.error.benthos.incoherentParentCategoryWeight=Le poids de la catégorie d'un lot du benthos est différent de la somme des poids de ses sous-catégories +tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids. +tutti.service.operations.computeWeights.error.benthos.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot du benthos est différent du poids du sous-échantillon +tutti.service.operations.computeWeights.error.benthos.incoherentSampleWeight=Le poids de sous-échantillon est supérieur au poids du lot. +tutti.service.operations.computeWeights.error.benthos.incoherentTotalSorted=Le poids total Vrac du benthos est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié +tutti.service.operations.computeWeights.error.benthos.noWeight=Un lot du benthos n'a pas de poids tutti.service.operations.computeWeights.error.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids. tutti.service.operations.computeWeights.error.incoherentTotal=Le poids total de la capture ne correspond pas à la somme des poids totaux Vrac, Hors Vrac et non triés -tutti.service.operations.computeWeights.marineLitter.error.incoherentTotal=Le poids total des macro-déchets est inférieur à la somme des poids des macro-déchets saisis -tutti.service.operations.computeWeights.marineLitter.error.noWeight=Un lot de macro-déchets n'a pas de poids -tutti.service.operations.computeWeights.species.error.incoherentCategoryWeight= -tutti.service.operations.computeWeights.species.error.incoherentParentCategoryWeight=Le poids de la catégorie d'un lot des espèces est différent de la somme des poids de ses sous-catégories -tutti.service.operations.computeWeights.species.error.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot des espèces est différent du poids du sous-échantillon -tutti.service.operations.computeWeights.species.error.incoherentTotalSorted=Le poids total Vrac des espèces est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié -tutti.service.operations.computeWeights.species.error.noWeight=Un lot des espèces n'a pas de poids +tutti.service.operations.computeWeights.error.marineLitter.incoherentTotal=Le poids total des macro-déchets est inférieur à la somme des poids des macro-déchets saisis +tutti.service.operations.computeWeights.error.species.incoherentCategoryWeight=Le poids total des mensurations d'un lot des espèces est supérieur au poids de la catégorie +tutti.service.operations.computeWeights.error.species.incoherentParentCategoryWeight=Le poids de la catégorie d'un lot des espèces est différent de la somme des poids de ses sous-catégories +tutti.service.operations.computeWeights.error.species.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids. +tutti.service.operations.computeWeights.error.species.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot des espèces est différent du poids du sous-échantillon +tutti.service.operations.computeWeights.error.species.incoherentSampleWeight=Le poids de sous-échantillon est supérieur au poids du lot. +tutti.service.operations.computeWeights.error.species.incoherentTotalSorted=Le poids total Vrac des espèces est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié +tutti.service.operations.computeWeights.error.species.noWeight=Un lot des espèces n'a pas de poids tutti.service.operations.exportCatchesReport.error=Erreur lors de la génération du rapport des captures +tutti.service.operations.individualObservation.error.lengthStepCaracteristic.required=La classe de taille est obligatoire +tutti.service.operations.individualObservation.error.size.required=La taille est obligatoire +tutti.service.operations.individualObservation.error.species.required=L'espèce est obligatoire +tutti.service.operations.individualObservation.error.weight.required=Le poids est obligatoire +tutti.service.operations.marineLitter.error.marineLitterCategory.required=La catégorie du lot de macro-déchet est obligatoire +tutti.service.operations.marineLitter.error.marineLitterSizeCategory.required=La catégorie de taille du lot de macro-déchet est obligatoire +tutti.service.operations.marineLitter.error.number.required=Le nombre du lot de macro-déchet est obligatoire +tutti.service.operations.marineLitter.warning.weight.required=Un lot de macro-déchets n'a pas de poids tutti.validator.error.comment.too.long=Taille de commentaire trop longue (limitée à %s caractères) tutti.validator.error.cruise.beginDate.required=La date de début est obligatoire tutti.validator.error.cruise.dates.endBeforeStart=La date de fin doit être après la date de début Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-04-23 08:09:40 UTC (rev 862) @@ -31,6 +31,7 @@ import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.DecoratorService; +import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; @@ -61,6 +62,7 @@ import org.jdesktop.swingx.decorator.Highlighter; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; import org.nuiton.util.decorator.Decorator; +import org.nuiton.validator.NuitonValidatorResult; import javax.swing.JComponent; import java.awt.Color; @@ -80,6 +82,8 @@ private static final Log log = LogFactory.getLog(AccidentalBatchUIHandler.class); + protected ValidationService validationService = getContext().getValidationService(); + public AccidentalBatchUIHandler(TuttiUI<?, ?> parentUi, AccidentalBatchUI ui) { super(parentUi, ui, @@ -162,7 +166,9 @@ @Override protected boolean isRowValid(AccidentalBatchRowModel row) { - boolean result = row.getSpecies() != null; + AccidentalBatch batch = row.toBean(); + NuitonValidatorResult validator = validationService.validateAccidentalBatch(batch); + boolean result = !validator.hasErrorMessagess(); return result; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-04-23 08:09:40 UTC (rev 862) @@ -31,6 +31,7 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.DecoratorService; +import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; @@ -60,6 +61,7 @@ import org.jdesktop.swingx.decorator.Highlighter; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; import org.nuiton.util.decorator.Decorator; +import org.nuiton.validator.NuitonValidatorResult; import javax.swing.JComponent; import java.awt.Color; @@ -78,6 +80,8 @@ private static final Log log = LogFactory.getLog(IndividualObservationBatchUIHandler.class); + protected ValidationService validationService = getContext().getValidationService(); + public IndividualObservationBatchUIHandler(TuttiUI<?, ?> parentUi, IndividualObservationBatchUI ui) { super(parentUi, ui, IndividualObservationBatchRowModel.PROPERTY_SPECIES, @@ -158,11 +162,10 @@ @Override protected boolean isRowValid(IndividualObservationBatchRowModel row) { -// boolean result = row.getMarineLitterCategory() != null && -// row.getMarineLitterSizeCategory() != null && -// row.getNumber() != null; -// return result; - return true; + IndividualObservationBatch batch = row.toBean(); + NuitonValidatorResult validator = validationService.validateIndividualObservationBatch(batch); + boolean result = !validator.hasErrorMessagess(); + return result; } @Override Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-04-23 08:09:40 UTC (rev 862) @@ -33,6 +33,7 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatch; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; @@ -58,6 +59,7 @@ import org.jdesktop.swingx.decorator.HighlightPredicate; import org.jdesktop.swingx.decorator.Highlighter; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; +import org.nuiton.validator.NuitonValidatorResult; import javax.swing.JComponent; import java.awt.Color; @@ -71,10 +73,11 @@ */ public class MarineLitterBatchUIHandler extends AbstractTuttiBatchTableUIHandler<MarineLitterBatchRowModel, MarineLitterBatchUIModel, MarineLitterBatchUI> { - /** Logger. */ private static final Log log = LogFactory.getLog(MarineLitterBatchUIHandler.class); + protected ValidationService validationService = getContext().getValidationService(); + public MarineLitterBatchUIHandler(TuttiUI<?, ?> parentUi, MarineLitterBatchUI ui) { super(parentUi, ui, MarineLitterBatchRowModel.PROPERTY_MARINE_LITTER_CATEGORY, @@ -163,9 +166,9 @@ @Override protected boolean isRowValid(MarineLitterBatchRowModel row) { - boolean result = row.getMarineLitterCategory() != null && - row.getMarineLitterSizeCategory() != null && - row.getNumber() != null; + MarineLitterBatch batch = row.toBean(); + NuitonValidatorResult validator = validationService.validateMarineLitterBatch(batch); + boolean result = !validator.hasErrorMessagess(); return result; } Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-23 08:09:40 UTC (rev 862) @@ -39,6 +39,7 @@ tutti.attachmentEditor.saveAttachment.warning.title= tutti.attachmentEditor.text= tutti.attachmentEditor.title= +tutti.caracteristicMapEditor.none.tip= tutti.caracteristicMapEditorTable.table.header.key= tutti.caracteristicMapEditorTable.table.header.value= tutti.commentEditor.action.close.tip= Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-23 07:34:30 UTC (rev 861) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-23 08:09:40 UTC (rev 862) @@ -28,7 +28,6 @@ tutti.attachmentEditor.field.file=Fichier tutti.attachmentEditor.field.fileComment=Commentaire tutti.attachmentEditor.field.fileName=Nom -tutti.caracteristicMapEditor.none.tip=Pas de caractéristiques tutti.attachmentEditor.none.tip=Pas de pièce-jointes tutti.attachmentEditor.saveAttachment.button=Enregistrer tutti.attachmentEditor.saveAttachment.fail.message=Une erreur est survenue lors de la sauvegarde du fichier. @@ -40,6 +39,7 @@ tutti.attachmentEditor.saveAttachment.warning.title=Fichier existant tutti.attachmentEditor.text=(%s) tutti.attachmentEditor.title=Pièces jointes +tutti.caracteristicMapEditor.none.tip=Pas de caractéristiques tutti.caracteristicMapEditorTable.table.header.key=Caractéristique tutti.caracteristicMapEditorTable.table.header.value=Valeur tutti.commentEditor.action.close.tip=Fermer la fenêtre des commentaires
participants (1)
-
kmorin@users.forge.codelutin.com