reverted the StartTimeFinderResult enrichment by an author object

Change-Id: Ibdfedfa755010e3c855206e20dabe501ebf38e03
This commit is contained in:
Axel Uhl committed 2017-05-16 18:43:44 +02:00
1 parent 90b862b48e
commit 46572f83f2
4 files changed
+13 -32

No files matched your search

@@ -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);
}
}
}
@@ -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();
}
@@ -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
*/