trigger listeners on RaceCompetitorSet properly

Change-Id: I1321e386344d13601220a1e318cf8233a026434c
This commit is contained in:
Axel Uhl committed 2016-07-14 16:01:53 +02:00
1 parent bddefaa3cb
commit af293f2f90
1 file changed
+9 -1
@@ -44,7 +44,7 @@ public class RaceCompetitorSet extends RaceCompetitorIdsAsStringWithMD5Hash {
*/
private Iterable<CompetitorDTO> competitorsParticipatingInRace;
private Set<Object> competitorsForRaceDefinedListeners;
private Set<CompetitorsForRaceDefinedListener> competitorsForRaceDefinedListeners;
/**
* Such listeners are notified whenever the response to {@link #getCompetitorsParticipatingInRace()} changes.
@@ -86,6 +86,7 @@ public class RaceCompetitorSet extends RaceCompetitorIdsAsStringWithMD5Hash {
@Override
public void competitorsListChanged(final Iterable<CompetitorDTO> competitors) {
competitorsParticipatingInRace = computeCompetitorsFromIDs(competitors);
notifyListeners();
}
@Override
@@ -107,8 +108,15 @@ public class RaceCompetitorSet extends RaceCompetitorIdsAsStringWithMD5Hash {
public void setIdsAsStringsOfCompetitorsInRace(Set<String> idsAsStringsOfCompetitorsInRace) throws UnsupportedEncodingException, NoSuchAlgorithmException {
super.setIdsAsStringsOfCompetitorsInRace(idsAsStringsOfCompetitorsInRace);
competitorsParticipatingInRace = computeCompetitorsFromIDs(competitorSelection.getAllCompetitors());
notifyListeners();
}
private void notifyListeners() {
for (final CompetitorsForRaceDefinedListener listener : competitorsForRaceDefinedListeners) {
listener.competitorsForRaceDefined(competitorsParticipatingInRace);
}
}
public Iterable<CompetitorDTO> getCompetitorsParticipatingInRace() {
return competitorsParticipatingInRace;
}