From 3d416cc696384afd6589f13abd01ed335ce55e5c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 26 Jun 2013 20:18:41 +0200 Subject: [PATCH] make filter safe for null-fleets --- .../ui/client/shared/filter/CompetitorRaceRankFilter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/CompetitorRaceRankFilter.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/CompetitorRaceRankFilter.java index 4ce9212d00d..e6668b4a092 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/CompetitorRaceRankFilter.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/CompetitorRaceRankFilter.java @@ -42,12 +42,15 @@ public class CompetitorRaceRankFilter extends AbstractNumberFilter competitors = getLeaderboard().getCompetitorsFromBestToWorst(theRaceColumnDTOThatContainsCompetitorRace); + // There may be competitors that have no tracked race assigned in that column and therefore won't have a fleet; + // those competitors are to be considered "worse" if (theRaceColumnDTOThatContainsCompetitorRace != null && getLeaderboard().rows.get(competitorDTO) != null) { LeaderboardEntryDTO entryDTO = getLeaderboard().rows.get(competitorDTO).fieldsByRaceColumnName.get(theRaceColumnDTOThatContainsCompetitorRace.getName()); int counter = 0; int raceRank = 0; for (CompetitorDTO competitorDTOIterated : competitors) { LeaderboardEntryDTO entryDTOIterated = getLeaderboard().rows.get(competitorDTOIterated).fieldsByRaceColumnName.get(theRaceColumnDTOThatContainsCompetitorRace.getName()); - if (entryDTOIterated.fleet.equals(entryDTO.fleet)) { + if (entryDTOIterated.fleet == null && entryDTO.fleet == null + || entryDTOIterated.fleet != null && entryDTOIterated.fleet.equals(entryDTO.fleet)) { counter += 1; if (competitorDTOIterated.equals(competitorDTO)) { raceRank = counter;