When a positioning list event exists, this list is read and displayed

when the finishing fragment is created. the changed event is also
created when a maxpointsreason is set by the race officer
This commit is contained in:
Armin Zamani committed 2013-04-06 14:54:36 +02:00
1 parent ca811614e2
commit aa0c113d3c
4 files changed
+78 -18

No files matched your search

@@ -3,6 +3,8 @@ package com.sap.sailing.domain.racelog.analyzing.impl;
import java.util.List;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.MaxPointsReason;
import com.sap.sailing.domain.common.impl.Util.Pair;
import com.sap.sailing.domain.racelog.RaceLog;
import com.sap.sailing.domain.racelog.RaceLogEvent;
import com.sap.sailing.domain.racelog.RaceLogFinishPositioningListChangedEvent;
@@ -13,8 +15,8 @@ public class FinishPositioningListFinder extends RaceLogAnalyzer {
super(raceLog);
}
public List<Competitor> getFinishPositioningList() {
List<Competitor> lastFinishPositioningList = null;
public List<Pair<Competitor, MaxPointsReason>> getFinishPositioningList() {
List<Pair<Competitor, MaxPointsReason>> lastFinishPositioningList = null;
this.raceLog.lockForRead();
try {
@@ -26,13 +28,13 @@ public class FinishPositioningListFinder extends RaceLogAnalyzer {
return lastFinishPositioningList;
}
private List<Competitor> searchForLastFinishPositioningList() {
List<Competitor> lastFinishPositioningList = null;
private List<Pair<Competitor, MaxPointsReason>> searchForLastFinishPositioningList() {
List<Pair<Competitor, MaxPointsReason>> lastFinishPositioningList = null;
for (RaceLogEvent event : getAllEvents()) {
if (event instanceof RaceLogFinishPositioningListChangedEvent) {
RaceLogFinishPositioningListChangedEvent finishPositioningEvent = (RaceLogFinishPositioningListChangedEvent) event;
lastFinishPositioningList = finishPositioningEvent.getInvolvedBoats();
lastFinishPositioningList = finishPositioningEvent.getPositionedCompetitors();
}
}