mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-20 19:20:04 +00:00
reverted the StartTimeFinderResult enrichment by an author object
Change-Id: Ibdfedfa755010e3c855206e20dabe501ebf38e03
This commit is contained in:
1 parent
90b862b48e
commit
46572f83f2
4 files changed
+13
-32
No files matched your search
+3
-3
@@ -32,13 +32,13 @@ public class DependentStartTimeResolver {
|
||||
|
||||
final StartTimeFinderResult result;
|
||||
if (raceLog == null) {
|
||||
result = new StartTimeFinderResult(dependingOnRaces, startTimeDifference, ResolutionFailed.RACE_LOG_UNRESOLVED, event.getAuthor());
|
||||
result = new StartTimeFinderResult(dependingOnRaces, startTimeDifference, ResolutionFailed.RACE_LOG_UNRESOLVED);
|
||||
} else {
|
||||
List<SimpleRaceLogIdentifier> extendedDependingOnRaces = new ArrayList<>();
|
||||
Util.addAll(dependingOnRaces, extendedDependingOnRaces);
|
||||
extendedDependingOnRaces.add(identifier);
|
||||
if (containsCycle(extendedDependingOnRaces)) {
|
||||
result = new StartTimeFinderResult(extendedDependingOnRaces, null, ResolutionFailed.CYCLIC_DEPENDENCY, event.getAuthor());
|
||||
result = new StartTimeFinderResult(extendedDependingOnRaces, null, ResolutionFailed.CYCLIC_DEPENDENCY);
|
||||
} else {
|
||||
StartTimeFinder dependentStartTimeFinder = new StartTimeFinder(raceLogResolver, raceLog);
|
||||
StartTimeFinderResult resultOfDependentRace = dependentStartTimeFinder.analyze(extendedDependingOnRaces);
|
||||
@@ -47,7 +47,7 @@ public class DependentStartTimeResolver {
|
||||
result = resultOfDependentRace;
|
||||
} else {
|
||||
result = new StartTimeFinderResult(resultOfDependentRace.getDependingOnRaces(),
|
||||
resultOfDependentRace.getStartTime().plus(startTimeDifference), startTimeDifference, event.getAuthor());
|
||||
resultOfDependentRace.getStartTime().plus(startTimeDifference), startTimeDifference);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -30,13 +30,13 @@ public class StartTimeFinder extends RaceLogAnalyzer<StartTimeFinderResult> {
|
||||
for (RaceLogEvent event : getPassEventsDescending()) {
|
||||
if (event instanceof RaceLogStartTimeEvent) {
|
||||
TimePoint startTime = ((RaceLogStartTimeEvent) event).getStartTime();
|
||||
return new StartTimeFinderResult(dependingOnRaces, startTime, null, event.getAuthor());
|
||||
return new StartTimeFinderResult(dependingOnRaces, startTime, null);
|
||||
} else if (event instanceof RaceLogDependentStartTimeEvent) {
|
||||
DependentStartTimeResolver dependentStartTimeResolver = new DependentStartTimeResolver(resolver);
|
||||
return dependentStartTimeResolver.internalResolve((RaceLogDependentStartTimeEvent) event, dependingOnRaces);
|
||||
}
|
||||
}
|
||||
return new StartTimeFinderResult(dependingOnRaces, null, null, ResolutionFailed.NO_START_TIME_SET, /* raceLogEventAuthor */ null);
|
||||
return new StartTimeFinderResult(dependingOnRaces, null, null, ResolutionFailed.NO_START_TIME_SET);
|
||||
} finally {
|
||||
log.unlockAfterRead();
|
||||
}
|
||||
|
||||
+7
-26
@@ -2,7 +2,6 @@ package com.sap.sailing.domain.abstractlog.race.analyzing.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
@@ -29,44 +28,26 @@ public class StartTimeFinderResult {
|
||||
|
||||
private Duration startTimeDiff;
|
||||
|
||||
/**
|
||||
* When a race log event provides the start time described by this result object then this field tells
|
||||
* the event's author. In particular, clients can see the priority from this. This may come in handy
|
||||
* when deriving other events from the "set start time" event, such as a tracking time event.
|
||||
*/
|
||||
private AbstractLogEventAuthor startTimeEventAuthor;
|
||||
|
||||
public StartTimeFinderResult(Iterable<SimpleRaceLogIdentifier> racesDependingOn, TimePoint startTime, Duration startTimeDiff, AbstractLogEventAuthor raceLogEventAuthor) {
|
||||
this(racesDependingOn, startTime, startTimeDiff, /* resolutionFailed */ null, raceLogEventAuthor);
|
||||
public StartTimeFinderResult(Iterable<SimpleRaceLogIdentifier> racesDependingOn, TimePoint startTime, Duration startTimeDiff) {
|
||||
this(racesDependingOn, startTime, startTimeDiff, /* resolutionFailed */ null);
|
||||
}
|
||||
|
||||
public StartTimeFinderResult(Iterable<SimpleRaceLogIdentifier> racesDependingOn, Duration startTimeDiff, ResolutionFailed resolutionFailed, AbstractLogEventAuthor raceLogEventAuthor) {
|
||||
this(racesDependingOn, /* startTime */ null, startTimeDiff, resolutionFailed, raceLogEventAuthor);
|
||||
public StartTimeFinderResult(Iterable<SimpleRaceLogIdentifier> racesDependingOn, Duration startTimeDiff, ResolutionFailed resolutionFailed) {
|
||||
this(racesDependingOn, /* startTime */ null, startTimeDiff, resolutionFailed);
|
||||
}
|
||||
|
||||
public StartTimeFinderResult(Iterable<SimpleRaceLogIdentifier> dependingOnRaces, TimePoint startTime, Duration startTimeDiff,
|
||||
ResolutionFailed resolutionFailed, AbstractLogEventAuthor raceLogEventAuthor) {
|
||||
ResolutionFailed resolutionFailed) {
|
||||
this.startTime = startTime;
|
||||
this.startTimeDiff = startTimeDiff;
|
||||
this.dependingOnRaces = dependingOnRaces;
|
||||
this.resolutionFailed = resolutionFailed;
|
||||
}
|
||||
|
||||
public StartTimeFinderResult(TimePoint startTime, Duration startTimeDiff, AbstractLogEventAuthor raceLogEventAuthor) {
|
||||
this(/* racesDependingOn */ Collections.<SimpleRaceLogIdentifier>emptyList(), startTime, startTimeDiff, raceLogEventAuthor);
|
||||
public StartTimeFinderResult(TimePoint startTime, Duration startTimeDiff) {
|
||||
this(/* racesDependingOn */ Collections.<SimpleRaceLogIdentifier>emptyList(), startTime, startTimeDiff);
|
||||
}
|
||||
|
||||
/**
|
||||
* When a race log event provides the start time described by this result object then this field tells
|
||||
* the event's author. In particular, clients can see the priority from this. This may come in handy
|
||||
* when deriving other events from the "set start time" event, such as a tracking time event.
|
||||
*
|
||||
* @return {@code null} in case no author is known, e.g., if no start time was set in the race log
|
||||
*/
|
||||
public AbstractLogEventAuthor geStartTimeEventAuthor() {
|
||||
return startTimeEventAuthor;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code null} if the start time was resolved; a reason for failure to resolve otherwise
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user