mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-20 19:20:04 +00:00
changed timing values of RRS26 and SWC procedures from millis to Duration objects; factored and fixed isStartphaseActive
Change-Id: I3f1b5d865d2d4af0e23a8ede412f3021908e820a
This commit is contained in:
1 parent
3ee385c1fa
commit
7486fc2d53
4 files changed
+23
-25
No files matched your search
+7
-3
@@ -52,9 +52,13 @@ public interface ReadonlyRacingProcedure extends RaceStateEventProcessor, RaceSt
|
||||
void removeChangedListener(RacingProcedureChangedListener listener);
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> if the start phase of this {@link ReadonlyRacingProcedure is active given the current time and start time.
|
||||
* @param startTime start time to be used to determine whether the start phase is active or not.
|
||||
* @param now {@link TimePoint} used as the current time on determining whether the start phase is active or not.
|
||||
* Returns <code>true</code> if the start phase of this {@link ReadonlyRacingProcedure is active given the current
|
||||
* time and start time.
|
||||
*
|
||||
* @param startTime
|
||||
* start time to be used to determine whether the start phase is active or not. Must not be {@code null}
|
||||
* @param now
|
||||
* {@link TimePoint} used as the current time on determining whether the start phase is active or not.
|
||||
*/
|
||||
boolean isStartphaseActive(TimePoint startTime, TimePoint now);
|
||||
|
||||
|
||||
+7
-1
@@ -16,6 +16,7 @@ import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.line.Config
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.line.LineStartChangedListener;
|
||||
import com.sap.sailing.domain.base.configuration.procedures.ConfigurableStartModeFlagRacingProcedureConfiguration;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public abstract class ConfigurableStartModeFlagRacingProcedureImpl extends BaseRacingProcedure implements ConfigurableStartModeFlagRacingProcedure {
|
||||
@@ -41,7 +42,12 @@ public abstract class ConfigurableStartModeFlagRacingProcedureImpl extends BaseR
|
||||
update();
|
||||
}
|
||||
|
||||
abstract protected long getStartPhaseStartModeUpInterval();
|
||||
abstract protected Duration getStartPhaseStartModeUpInterval();
|
||||
|
||||
@Override
|
||||
public boolean isStartphaseActive(TimePoint startTime, TimePoint now) {
|
||||
return now.before(startTime) && !now.before(startTime.minus(getStartPhaseStartModeUpInterval()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public RacingProcedurePrerequisite checkPrerequisitesForStart(TimePoint now, TimePoint startTime,
|
||||
|
||||
+5
-13
@@ -17,13 +17,14 @@ import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
|
||||
import com.sap.sailing.domain.common.racelog.FlagPole;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class RRS26RacingProcedureImpl extends ConfigurableStartModeFlagRacingProcedureImpl implements RRS26RacingProcedure {
|
||||
|
||||
private final static long startPhaseClassUpInterval = 5 * 60 * 1000; // minutes * seconds * milliseconds
|
||||
private final static long startPhaseStartModeUpInterval = 4 * 60 * 1000; // minutes * seconds * milliseconds
|
||||
private final static long startPhaseStartModeDownInterval = 1 * 60 * 1000; // minutes * seconds * milliseconds
|
||||
private final static Duration startPhaseClassUpInterval = Duration.ONE_MINUTE.times(5);
|
||||
private final static Duration startPhaseStartModeUpInterval = Duration.ONE_MINUTE.times(4);
|
||||
private final static Duration startPhaseStartModeDownInterval = Duration.ONE_MINUTE;
|
||||
|
||||
public RRS26RacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author,
|
||||
RRS26Configuration configuration, RaceLogResolver raceLogResolver) {
|
||||
@@ -31,7 +32,7 @@ public class RRS26RacingProcedureImpl extends ConfigurableStartModeFlagRacingPro
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long getStartPhaseStartModeUpInterval() {
|
||||
protected Duration getStartPhaseStartModeUpInterval() {
|
||||
return startPhaseStartModeUpInterval;
|
||||
}
|
||||
|
||||
@@ -62,15 +63,6 @@ public class RRS26RacingProcedureImpl extends ConfigurableStartModeFlagRacingPro
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStartphaseActive(TimePoint startTime, TimePoint now) {
|
||||
if (now.before(startTime)) {
|
||||
long timeTillStart = startTime.minus(now.asMillis()).asMillis();
|
||||
return timeTillStart < startPhaseClassUpInterval;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<RaceStateEvent> createStartStateEvents(TimePoint startTime) {
|
||||
return Arrays.<RaceStateEvent> asList(
|
||||
|
||||
+4
-8
@@ -17,12 +17,13 @@ import com.sap.sailing.domain.base.configuration.procedures.SWCStartConfiguratio
|
||||
import com.sap.sailing.domain.common.racelog.FlagPole;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.domain.common.racelog.RacingProcedureType;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class SWCRacingProcedureImpl extends ConfigurableStartModeFlagRacingProcedureImpl implements SWCRacingProcedure {
|
||||
|
||||
private final static long CLASS_AND_STARTMODE_UP_INTERVAL = 6 * 60 * 1000; // 6 minutes before start
|
||||
private final static long CLASS_AND_STARTMODE_DOWN_INTERVAL = 1 * 60 * 1000; // 1 minute after start
|
||||
private final static Duration CLASS_AND_STARTMODE_UP_INTERVAL = Duration.ONE_MINUTE.times(6); // 6 minutes before start
|
||||
private final static Duration CLASS_AND_STARTMODE_DOWN_INTERVAL = Duration.ONE_MINUTE; // 1 minute after start
|
||||
|
||||
public SWCRacingProcedureImpl(RaceLog raceLog, AbstractLogEventAuthor author,
|
||||
SWCStartConfiguration configuration, RaceLogResolver raceLogResolver) {
|
||||
@@ -30,7 +31,7 @@ public class SWCRacingProcedureImpl extends ConfigurableStartModeFlagRacingProce
|
||||
}
|
||||
|
||||
@Override
|
||||
protected long getStartPhaseStartModeUpInterval() {
|
||||
protected Duration getStartPhaseStartModeUpInterval() {
|
||||
return CLASS_AND_STARTMODE_UP_INTERVAL;
|
||||
}
|
||||
|
||||
@@ -61,11 +62,6 @@ public class SWCRacingProcedureImpl extends ConfigurableStartModeFlagRacingProce
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStartphaseActive(TimePoint startTime, TimePoint now) {
|
||||
return now.before(startTime.minus(CLASS_AND_STARTMODE_UP_INTERVAL));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<RaceStateEvent> createStartStateEvents(TimePoint startTime) {
|
||||
return Arrays.<RaceStateEvent> asList(
|
||||
|
||||
Reference in new issue
Block a user