Author: chatellier Date: 2011-04-18 14:08:16 +0000 (Mon, 18 Apr 2011) New Revision: 3259 Log: Fix a lot of potential NPE Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java 2011-04-18 13:49:02 UTC (rev 3258) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java 2011-04-18 14:08:16 UTC (rev 3259) @@ -109,62 +109,56 @@ static public void check(PopulationGroup classPop, CheckResult result){ // error - if(classPop.getMeanWeight() < 0){ + if (classPop.getMeanWeight() < 0) { result.addError(classPop, _("isisfish.error.invalid.mean.weight")); } - // if(classPop.getMortaliteNaturelle() < 0){ - // result.addError(classPop, _("isisfish.error.invalidate.natural.death")); - // } // warning - if(classPop.getMeanWeight() == 0){ + if (classPop.getMeanWeight() == 0) { result.addWarning(classPop, _("isisfish.error.not.null.mean.weight")); } - // if(classPop.getMortaliteNaturelle() == 0){ - // result.addWarning(classPop, _("isisfish.error.not.null.natural.death")); - // } } - static public void check(Gear engin, CheckResult result){ - if("".equals(engin.getName())){ + static public void check(Gear engin, CheckResult result) { + if (StringUtils.isBlank(engin.getName())) { result.addWarning(engin, _("isisfish.error.empty.name")); } - if("".equals(engin.getEffortUnit())){ + if (StringUtils.isBlank(engin.getEffortUnit())) { result.addWarning(engin, _("isisfish.error.empty.unit")); } Collection<Selectivity> selectivites = engin.getPopulationSelectivity(); - if(selectivites.size() == 0){ + if (CollectionUtils.isEmpty(selectivites)) { result.addWarning(engin, _("isisfish.error.empty.selectivity")); - }else{ - for(Selectivity selectivity : selectivites){ + } else { + for (Selectivity selectivity : selectivites) { check(selectivity, result); } } - if(engin.getPossibleValue() == null){ + if (engin.getPossibleValue() == null) { result.addWarning(engin, _("isisfish.error.invalid.range")); } - if("".equals(engin.getParameterName())){ + if (StringUtils.isBlank(engin.getParameterName())) { result.addInfo(engin, _("isisfish.error.empty.params.name")); } } static public void check(MetierSeasonInfo infoSaisonMetier, CheckResult result){ - if(infoSaisonMetier.getZone() == null || infoSaisonMetier.getZone().size() == 0){ + if (CollectionUtils.isEmpty(infoSaisonMetier.getZone())) { result.addWarning(infoSaisonMetier, _("isisfish.error.no.sector")); } Collection<TargetSpecies> especeCaptus = infoSaisonMetier.getSpeciesTargetSpecies(); - if(especeCaptus.size() == 0){ + if (CollectionUtils.isEmpty(especeCaptus)) { result.addInfo(infoSaisonMetier, _("isisfish.error.empty.species")); - }else{ - for(TargetSpecies i : especeCaptus){ + } else { + for (TargetSpecies i : especeCaptus) { check(i, result); } } } - static public boolean isEmptyMatrix(MatrixND mat) { + static public boolean isEmptyMatrix(Object entity, MatrixND mat) { boolean result = true; for (MatrixIterator i = mat.iterator(); result && i.next();) { result = false; @@ -201,75 +195,87 @@ static public void check(PopulationSeasonInfo infoSaisonPop, CheckResult result){ if (infoSaisonPop.getUseEquationMigration()) { check(infoSaisonPop, "MigrationEquation", infoSaisonPop.getMigrationEquation(), result); - check(infoSaisonPop, "Emigration", infoSaisonPop.getEmigrationEquation(), result); + check(infoSaisonPop, "EmigrationEquation", infoSaisonPop.getEmigrationEquation(), result); check(infoSaisonPop, "ImmigrationEquation", infoSaisonPop.getImmigrationEquation(), result); } else { - - // FIXME chatellier 20110221 NPE in getMigrationMatrix() - // with null zones or populations - if (isEmptyMatrix(infoSaisonPop.getMigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.migration")); - } else if(isNullMatrix(infoSaisonPop.getMigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.migration")); - } else if(isNegativeMatrix(infoSaisonPop.getMigrationMatrix())) { - result.addError(infoSaisonPop, _("isisfish.error.migration.negative")); + + try { + if (isEmptyMatrix(infoSaisonPop, infoSaisonPop.getMigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.migration")); + } else if(isNullMatrix(infoSaisonPop.getMigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.migration")); + } else if(isNegativeMatrix(infoSaisonPop.getMigrationMatrix())) { + result.addError(infoSaisonPop, _("isisfish.error.migration.negative")); + } } + catch (NullPointerException e) { + result.addError(infoSaisonPop, _("isisfish.error.null.semantics", "MigrationEquation")); + } - - if (isEmptyMatrix(infoSaisonPop.getEmigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.emigration")); - } else if(isNullMatrix(infoSaisonPop.getEmigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.emigration")); - } else if(isNegativeMatrix(infoSaisonPop.getEmigrationMatrix())) { - result.addError(infoSaisonPop, _("isisfish.error.emigration.negative")); + try { + if (isEmptyMatrix(infoSaisonPop, infoSaisonPop.getEmigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.emigration")); + } else if(isNullMatrix(infoSaisonPop.getEmigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.emigration")); + } else if(isNegativeMatrix(infoSaisonPop.getEmigrationMatrix())) { + result.addError(infoSaisonPop, _("isisfish.error.emigration.negative")); + } } + catch (NullPointerException e) { + result.addError(infoSaisonPop, _("isisfish.error.null.semantics", "EmigrationEquation")); + } - if (isEmptyMatrix(infoSaisonPop.getImmigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.immigration")); - } else if(isNullMatrix(infoSaisonPop.getImmigrationMatrix())) { - result.addInfo(infoSaisonPop, _("isisfish.error.empty.immigration")); - } else if(isNegativeMatrix(infoSaisonPop.getImmigrationMatrix())) { - result.addError(infoSaisonPop, _("isisfish.error.immigration.negative")); + try { + if (isEmptyMatrix(infoSaisonPop, infoSaisonPop.getImmigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.immigration")); + } else if(isNullMatrix(infoSaisonPop.getImmigrationMatrix())) { + result.addInfo(infoSaisonPop, _("isisfish.error.empty.immigration")); + } else if(isNegativeMatrix(infoSaisonPop.getImmigrationMatrix())) { + result.addError(infoSaisonPop, _("isisfish.error.immigration.negative")); + } } + catch (NullPointerException e) { + result.addError(infoSaisonPop, _("isisfish.error.null.semantics", "ImmigrationEquation")); + } } } - static public void check(Cell maille, CheckResult result){ - if("".equals(maille.getName())){ + static public void check(Cell maille, CheckResult result) { + if (StringUtils.isBlank(maille.getName())) { result.addWarning(maille, _("isisfish.error.empty.name")); } } static public void check(Species metaPop, CheckResult result){ Collection<Population> pops = metaPop.getPopulation(); - if(pops.size() == 0){ + if (CollectionUtils.isEmpty(pops)) { result.addWarning(metaPop, _("isisfish.error.empty.population")); - }else{ - for(Population pop : pops){ + } else { + for (Population pop : pops) { check(pop, result); } } - if("".equals(metaPop.getName())){ + if (StringUtils.isBlank(metaPop.getName())) { result.addInfo(metaPop, _("isisfish.error.empty.species.name")); } - if("".equals(metaPop.getScientificName())){ + if (StringUtils.isBlank(metaPop.getScientificName())) { result.addInfo(metaPop, _("isisfish.error.empty.scientific.name")); } - if("".equals(metaPop.getCodeRubbin())){ + if (StringUtils.isBlank(metaPop.getCodeRubbin())) { result.addInfo(metaPop, _("isisfish.error.empty.code.rubbin")); } } static public void check(Metier metier, CheckResult result){ - if("".equals(metier.getName())){ + if (StringUtils.isBlank(metier.getName())) { result.addWarning(metier, _("isisfish.error.empty.name")); } List<MetierSeasonInfo> infoSaisons = metier.getMetierSeasonInfo(); - if(infoSaisons.size() == 0){ + if (CollectionUtils.isEmpty(infoSaisons)) { result.addWarning(metier, _("isisfish.error.empty.season")); - }else{ + } else { Set<Month> months = new HashSet<Month>(); - for(MetierSeasonInfo info : infoSaisons){ + for (MetierSeasonInfo info : infoSaisons) { if (!Collections.disjoint(months, info.getMonths())) { result.addError(info, _("isisfish.error.overlap.season")); } @@ -277,71 +283,64 @@ check(info, result); } } - if(metier.getGear() == null){ + if (metier.getGear() == null) { result.addError(metier, _("isisfish.error.undefined.gear")); - }else{ + } else { check(metier.getGear(), result); - } - - try { - if (!metier.getGear().getPossibleValue().contains(metier.getGearParameterValue())) { + + try { + if (!metier.getGear().getPossibleValue().contains(metier.getGearParameterValue())) { + result.addWarning(metier, _("isisfish.error.invalid.values.params")); + } + } catch(Exception e) { + // can't happen StringIndexOutOfBoundsException + // if gear.PossibleValue if not valid result.addWarning(metier, _("isisfish.error.invalid.values.params")); } - } catch(Exception e) { - // can't happen StringIndexOutOfBoundsException - // if gear.PossibleValue if not valid - result.addWarning(metier, _("isisfish.error.invalid.values.params")); } - } static public void check(Population pop, CheckResult result){ - if("".equals(pop.getName())){ + if (StringUtils.isBlank(pop.getName())) { result.addWarning(pop, _("isisfish.error.empty.name")); } - if("".equals(pop.getGeographicId())){ + if (StringUtils.isBlank(pop.getGeographicId())) { result.addInfo(pop, _("isisfish.error.empty.id.geographic")); } - if(pop.getMaturityGroup() == null){ + if (pop.getMaturityGroup() == null) { result.addInfo(pop, _("isisfish.error.not.null.class.grown")); } check(pop, "Growth", pop.getGrowth(), result); check(pop, "GrowthReverse", pop.getGrowthReverse(), result); List<PopulationGroup> classes = pop.getPopulationGroup(); - if(classes.size() == 0){ + if (CollectionUtils.isEmpty(classes)) { result.addWarning(pop, _("isisfish.error.undefined.classes")); - }else{ - for(PopulationGroup group : classes){ + } else { + for (PopulationGroup group : classes) { check(group, result); } } - // if(pop.getMortNatClasseNaissance() == 0){ - // result.addInfo(pop, _("isisfish.error.undefined.natural.death")); - // } - // if(pop.getMortNatClasseNaissance() < 0){ - // result.addWarning(pop, _("isisfish.error.invalid.natural.death")); - // } - if(pop.getMonthGapBetweenReproRecrutement() < 0){ + if (pop.getMonthGapBetweenReproRecrutement() < 0) { result.addWarning(pop, _("isisfish.error.invalid.interval.reproduction.recruitment")); } if (isNullMatrix(pop.getMappingZoneReproZoneRecru())) { result.addWarning(pop, _("isisfish.error.undefined.correspondence.zones.reproduction.recruitment")); } - if(pop.getPopulationZone() == null || pop.getPopulationZone().size() == 0){ + if (CollectionUtils.isEmpty(pop.getPopulationZone())) { result.addWarning(pop, _("isisfish.error.undefined.zone.population")); } - if(pop.getRecruitmentZone() == null || pop.getRecruitmentZone().size() == 0){ + if (CollectionUtils.isEmpty(pop.getRecruitmentZone())) { result.addWarning(pop, _("isisfish.error.undefined.zone.recruitment")); } - if(pop.getReproductionZone() == null || pop.getReproductionZone().size() == 0){ + if (CollectionUtils.isEmpty(pop.getReproductionZone())) { result.addWarning(pop, _("isisfish.error.undefined.zone.reproduction")); } List<PopulationSeasonInfo> infoSaisons = pop.getPopulationSeasonInfo(); - if(infoSaisons.size() == 0){ + if (CollectionUtils.isEmpty(infoSaisons)) { result.addWarning(pop, _("isisfish.error.empty.season")); - }else{ + } else { Set<Month> months = new HashSet<Month>(); - for(PopulationSeasonInfo info : infoSaisons){ + for (PopulationSeasonInfo info : infoSaisons) { if (!Collections.disjoint(months, info.getMonths())) { result.addError(info, _("isisfish.error.overlap.season")); } @@ -354,10 +353,7 @@ check(pop, "ReproductionEquation", pop.getReproductionEquation(), result); check(pop, "NaturalDeathRate", pop.getNaturalDeathRate(), result); - if (pop.getRecruitmentDistribution() == null) { - result.addWarning(pop, _("isisfish.error.missing.distribution.recruitment")); - } - else if (sumMatrix(pop.getRecruitmentDistribution()) != 1) { + if (pop.getRecruitmentDistribution() == null || sumMatrix(pop.getRecruitmentDistribution()) != 1) { result.addWarning(pop, _("isisfish.error.invalid.distribution.recruitment")); } } @@ -449,7 +445,7 @@ result.addWarning(sov, _("isisfish.error.invalid.costs.fix")); } Collection<EffortDescription> efforts = sov.getPossibleMetiers(); - if (efforts.size() == 0) { + if (CollectionUtils.isEmpty(efforts)) { result.addWarning(sov, _("isisfish.error.not.possible.metier")); } else { for (EffortDescription effort : efforts) {
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org