mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-16 17:21:00 +00:00
Refrain from using RegisteredCompetitorsAnalyzer outside of RaceColumn
This commit is contained in:
1 parent
3dbfa39cc9
commit
ca3537a463
3 files changed
+12
-24
No files matched your search
+1
-16
@@ -21,7 +21,6 @@ import com.sap.sailing.domain.abstractlog.race.RaceLogEndOfTrackingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogStartOfTrackingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.LastPublishedCourseDesignFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogRegisteredCompetitorsAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.BaseRaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDenoteForTrackingEvent;
|
||||
@@ -29,7 +28,6 @@ import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogDeviceCompetitorM
|
||||
import com.sap.sailing.domain.abstractlog.race.tracking.RaceLogStartTrackingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceInformationFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RaceLogTrackingStateAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.race.tracking.analyzing.impl.RegisteredCompetitorsAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLog;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEventVisitor;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDefineMarkEvent;
|
||||
@@ -60,7 +58,6 @@ import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.TrackedRaceStatusEnum;
|
||||
import com.sap.sailing.domain.common.abstractlog.NotRevokableException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.DoesNotHaveRegattaLogException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.RaceLogTrackingState;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.RaceNotCreatedException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
|
||||
@@ -474,19 +471,7 @@ public class RaceLogRaceTracker implements RaceTracker, GPSFixReceivedListener {
|
||||
}
|
||||
throw new RaceNotCreatedException(String.format("Race for racelog (%s) has already been created", raceLog));
|
||||
}
|
||||
// check both the racelog and regattalog for registered competitors
|
||||
|
||||
Set<Competitor> competitors;
|
||||
try {
|
||||
RegattaLog regattaLog = params.getRegattaLog();
|
||||
competitors = new RegisteredCompetitorsAnalyzer(raceLog, regattaLog).analyze();
|
||||
} catch (DoesNotHaveRegattaLogException e) {
|
||||
logger.warning(params.getLeaderboard().getName()+" doesn't have an attached RegattaLog");
|
||||
competitors = new RaceLogRegisteredCompetitorsAnalyzer(raceLog).analyze();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Iterable<Competitor> competitors = raceColumn.getAllCompetitors(params.getFleet());
|
||||
Serializable raceId = denoteEvent.getRaceId();
|
||||
final RaceDefinition raceDef = new RaceDefinitionImpl(raceName, course, boatClass, competitors, raceId);
|
||||
Iterable<Sideline> sidelines = Collections.<Sideline> emptyList();
|
||||
|
||||
+3
@@ -12,6 +12,9 @@ import com.sap.sailing.domain.base.Competitor;
|
||||
* Used to find competitors of a race. Checks whether the competitors for the given race are registered on the RaceLog
|
||||
* via {@link RaceLogUsesOwnCompetitorsAnalyzer} or on the RegattaLog and fetches the competitors appropriately.
|
||||
*
|
||||
* Should not be used. Instead get the competitor set from the RaceColumn, which automatically checks wether a
|
||||
* tracked race is present, which has precedence over the Race/RegattaLog
|
||||
*
|
||||
* @author D056848
|
||||
*
|
||||
*/
|
||||
|
||||
+8
-8
@@ -56,6 +56,7 @@ import org.osgi.framework.InvalidSyntaxException;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
import org.osgi.util.tracker.ServiceTracker;
|
||||
|
||||
import com.google.gwt.thirdparty.guava.common.collect.Iterables;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer;
|
||||
@@ -2389,12 +2390,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
RaceLogTrackingState raceLogTrackingState = raceLog == null ? RaceLogTrackingState.NOT_A_RACELOG_TRACKED_RACE :
|
||||
new RaceLogTrackingStateAnalyzer(raceLog).analyze();
|
||||
boolean raceLogTrackerExists = raceLog == null ? false : getService().getRaceTrackerById(raceLog.getId()) != null;
|
||||
|
||||
boolean competitorRegistrationsExist;
|
||||
try {
|
||||
competitorRegistrationsExist = raceLog == null ? false : ! new RegisteredCompetitorsAnalyzer(raceLog, getRegattaLogInternal(leaderboard.getName())).analyze().isEmpty();
|
||||
} catch (DoesNotHaveRegattaLogException e) {
|
||||
competitorRegistrationsExist = false;
|
||||
}
|
||||
competitorRegistrationsExist = raceLog == null ? false : Iterables.size(raceColumn.getAllCompetitors(fleet)) > 0 ;
|
||||
|
||||
RaceLogTrackingInfoDTO raceLogTrackingInfo = new RaceLogTrackingInfoDTO(raceLogTrackerExists,
|
||||
competitorRegistrationsExist, raceLogTrackingState);
|
||||
raceColumnDTO.setRaceLogTrackingInfo(fleetDTO, raceLogTrackingInfo);
|
||||
@@ -5874,9 +5873,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
@Override
|
||||
public Collection<CompetitorDTO> getCompetitorRegistrationsForRace(String leaderboardName, String raceColumnName,
|
||||
String fleetName) throws DoesNotHaveRegattaLogException {
|
||||
RaceLog raceLog = getRaceLog(leaderboardName, raceColumnName, fleetName);
|
||||
RegattaLog regattaLog = getRegattaLogInternal(leaderboardName);
|
||||
return convertToCompetitorDTOs(new RegisteredCompetitorsAnalyzer(raceLog, regattaLog).analyze());
|
||||
Leaderboard leaderboard = getService().getLeaderboardByName(leaderboardName);
|
||||
RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName);
|
||||
Fleet fleet = raceColumn.getFleetByName(fleetName);
|
||||
return convertToCompetitorDTOs(raceColumn.getAllCompetitors(fleet));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user