r745 - in trunk: . coser-business/src/main/java/fr/ifremer/coser/services coser-business/src/main/resources/i18n
Author: chatellier Date: 2011-02-14 17:12:28 +0000 (Mon, 14 Feb 2011) New Revision: 745 Log: Add new controls about missing strata in strata and haul files Modified: trunk/changelog.txt trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties Modified: trunk/changelog.txt =================================================================== --- trunk/changelog.txt 2011-02-14 09:03:02 UTC (rev 744) +++ trunk/changelog.txt 2011-02-14 17:12:28 UTC (rev 745) @@ -1,6 +1,12 @@ Coser release notes =================== +1.0.2 +----- + + * Add new controls about missing strata in strata and haul files + * Sort configuration window options + 1.0.1 ----- Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-02-14 09:03:02 UTC (rev 744) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/ControlService.java 2011-02-14 17:12:28 UTC (rev 745) @@ -881,6 +881,8 @@ Set<String> lengthYear = new HashSet<String>(); Set<String> haulYear = new HashSet<String>(); Set<String> campagneNames = new HashSet<String>(); + Set<String> strataStrataNames = new HashSet<String>(); + Set<String> haulStrataNames = new HashSet<String>(); Set<String> lengthYearHaulSpecies = new HashSet<String>(); Set<String> catchYearHaulSpecies = new HashSet<String>(); Set<String> haulYearHaul = new HashSet<String>(); @@ -1016,6 +1018,7 @@ String[] strataData = itStrata.next(); campagneNames.add(strataData[Strata.INDEX_SURVEY]); + strataStrataNames.add(strataData[Strata.INDEX_STRATUM]); } while (itHaul.hasNext()) { @@ -1031,6 +1034,7 @@ campagneNames.add(haulData[Haul.INDEX_SURVEY]); haulYear.add(haulData[Haul.INDEX_YEAR]); haulYearHaul.add(haulData[Haul.INDEX_YEAR] + "|" + haulData[Haul.INDEX_HAUL]); + haulStrataNames.add(haulData[Haul.INDEX_STRATUM]); } // Vérifier que les mêmes années sont présentes dans fichiers captures @@ -1091,6 +1095,29 @@ crossFilesErrors.add(error); } + // Donc tout ce qui est présent dans TAILLES doit être décrit dans CAPTURES + // qui doit être décrit dans TRAITS qui doit être décrit dans STRATES. Le non + // respect de cette règle déclenche une erreur bloquante. + Collection<String> missingStrataStrataNames = CollectionUtils.subtract(haulStrataNames, strataStrataNames); + for (String missingStrataStrataName : missingStrataStrataNames) { + ControlError error = new ControlError(); + error.setLevel(ValidationLevel.FATAL); + error.setMessage(_("coser.business.control.error.missingStrataStrataName")); + error.setDetailMessage(_("coser.business.control.error.missingStrataStrataNameDetail", missingStrataStrataName)); + error.setTipMessage(_("coser.business.control.error.missingStrataStrataNameTip")); + crossFilesErrors.add(error); + } + + Collection<String> haulStrataStrataNames = CollectionUtils.subtract(strataStrataNames, haulStrataNames); + for (String haulStrataStrataName : haulStrataStrataNames) { + ControlError error = new ControlError(); + error.setLevel(ValidationLevel.WARNING); + error.setMessage(_("coser.business.control.error.missingHaulStrataName")); + error.setDetailMessage(_("coser.business.control.error.missingHaulStrataNameDetail", haulStrataStrataName)); + error.setTipMessage(_("coser.business.control.error.missingHaulStrataNameTip")); + crossFilesErrors.add(error); + } + return crossFilesErrors; } Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2011-02-14 09:03:02 UTC (rev 744) +++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properties 2011-02-14 17:12:28 UTC (rev 745) @@ -47,6 +47,12 @@ coser.business.control.error.invalidLengthLengthStepTip=Length field must be in centimeters. coser.business.control.error.minObservationCount=Minimum number of observation not reached coser.business.control.error.minObservationCountDetail=Minimum number of observation not reached (%s) \: %.2f +coser.business.control.error.missingHaulStrataName=Missing strata in haul file +coser.business.control.error.missingHaulStrataNameDetail=Missing strata %s in haul file +coser.business.control.error.missingHaulStrataNameTip=Check that all strata defined in strata file appear in haul file +coser.business.control.error.missingStrataStrataName=Missing strata in strata file +coser.business.control.error.missingStrataStrataNameDetail=Missing strata %s in strata file +coser.business.control.error.missingStrataStrataNameTip=Check that all strata defined in haul fail appear in strata file coser.business.control.error.missingYearHaulForCatchData=Missing hauls in haul data for some catch coser.business.control.error.missingYearHaulForCatchDataDetail=Missing %s tuple in hauls coser.business.control.error.missingYearHaulForCatchDataTip=Check that for each haul present one year (denoted Year|Line) in the capture file there is a data in the haul file Modified: trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties =================================================================== --- trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2011-02-14 09:03:02 UTC (rev 744) +++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properties 2011-02-14 17:12:28 UTC (rev 745) @@ -47,6 +47,12 @@ coser.business.control.error.invalidLengthLengthStepTip=Le champs de longueur doit \u00EAtre en centim\u00E8tre (ou demi centim\u00E8tre) coser.business.control.error.minObservationCount=Nombre minimal d'observation non atteint coser.business.control.error.minObservationCountDetail=Nombre minimal d'observation non atteint (%s) \: %.2f +coser.business.control.error.missingHaulStrataName=Strates manquantes dans le fichier traits +coser.business.control.error.missingHaulStrataNameDetail=Strate %s manquante dans le fichier traits +coser.business.control.error.missingHaulStrataNameTip=V\u00E9rifier que toutes les strates d\u00E9finies dans le fichier strates apparaissent dans le fichier traits +coser.business.control.error.missingStrataStrataName=Strates manquantes dans le fichier strates +coser.business.control.error.missingStrataStrataNameDetail=Strate %s manquante dans le fichier strates +coser.business.control.error.missingStrataStrataNameTip=V\u00E9rifier que toutes les strates d\u00E9finies dans le fichier traits apparaissent dans le fichier strates coser.business.control.error.missingYearHaulForCatchData=Traits manquants dans les traits pour certaines captures coser.business.control.error.missingYearHaulForCatchDataDetail=Couple %s manquant dans les traits coser.business.control.error.missingYearHaulForCatchDataTip=V\u00E9rifier que pour chaque trait pr\u00E9sent une ann\u00E9e (not\u00E9 Annee|Trait) dans le fichier capture, il y a une donn\u00E9e dans le fichier traits
participants (1)
-
chatellier@users.labs.libre-entreprise.org