mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
Implemented new race log event type for course changes
This commit is contained in:
1 parent
2ea27421d3
commit
c6d96504ab
15 files changed
+441
-188
No files matched your search
-86
@@ -1,86 +0,0 @@
|
||||
package com.sap.sailing.racecommittee.app.domain.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.ControlPoint;
|
||||
import com.sap.sailing.domain.base.CourseData;
|
||||
import com.sap.sailing.domain.base.Leg;
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.common.impl.NamedImpl;
|
||||
|
||||
public class CourseDataImpl extends NamedImpl implements CourseData {
|
||||
|
||||
private static final long serialVersionUID = 1389216430392253253L;
|
||||
|
||||
private final List<Waypoint> waypoints;
|
||||
|
||||
public CourseDataImpl(String name) {
|
||||
super(name);
|
||||
|
||||
this.waypoints = new ArrayList<Waypoint>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Leg> getLegs() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Waypoint> getWaypoints() {
|
||||
return this.waypoints;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Waypoint getWaypointForControlPoint(ControlPoint controlPoint, int start) {
|
||||
Waypoint result = null;
|
||||
List<Waypoint> subList = this.waypoints.subList(start, this.waypoints.size() - 1);
|
||||
for (Waypoint waypoint : subList) {
|
||||
if (waypoint.getControlPoint().equals(controlPoint)) {
|
||||
result = waypoint;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIndexOfWaypoint(Waypoint waypoint) {
|
||||
return this.waypoints.indexOf(waypoint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Waypoint getFirstWaypoint() {
|
||||
return this.waypoints.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Waypoint getLastWaypoint() {
|
||||
return this.waypoints.get(this.waypoints.size() - 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWaypoint(int zeroBasedPosition, Waypoint waypointToAdd) {
|
||||
this.waypoints.add(zeroBasedPosition, waypointToAdd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeWaypoint(int zeroBasedPosition) {
|
||||
this.waypoints.remove(zeroBasedPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Leg> getLegsAdjacentTo(Mark mark) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Leg getFirstLeg() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
+44
-39
@@ -1,39 +1,44 @@
|
||||
package com.sap.sailing.racecommittee.app.domain.racelog.impl;
|
||||
|
||||
import com.sap.sailing.domain.racelog.RaceLogCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.racelog.RaceLogFlagEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogPassChangeEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent;
|
||||
import com.sap.sailing.racecommittee.app.domain.racelog.RaceLogChangedListener;
|
||||
|
||||
public class RaceLogChangedVisitor implements RaceLogEventVisitor {
|
||||
|
||||
private RaceLogChangedListener listener;
|
||||
|
||||
public RaceLogChangedVisitor(RaceLogChangedListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public void visit(RaceLogFlagEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogPassChangeEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogRaceStatusEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogStartTimeEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogCourseAreaChangedEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
}
|
||||
package com.sap.sailing.racecommittee.app.domain.racelog.impl;
|
||||
|
||||
import com.sap.sailing.domain.racelog.RaceLogCourseAreaChangedEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogCourseDesignChangedEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEventVisitor;
|
||||
import com.sap.sailing.domain.racelog.RaceLogFlagEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogPassChangeEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent;
|
||||
import com.sap.sailing.racecommittee.app.domain.racelog.RaceLogChangedListener;
|
||||
|
||||
public class RaceLogChangedVisitor implements RaceLogEventVisitor {
|
||||
|
||||
private RaceLogChangedListener listener;
|
||||
|
||||
public RaceLogChangedVisitor(RaceLogChangedListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public void visit(RaceLogFlagEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogPassChangeEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogRaceStatusEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogStartTimeEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogCourseAreaChangedEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
public void visit(RaceLogCourseDesignChangedEvent event) {
|
||||
listener.eventAdded(event);
|
||||
}
|
||||
|
||||
}
|
||||
+10
@@ -6,6 +6,8 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CourseData;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus;
|
||||
import com.sap.sailing.domain.racelog.PassAwareRaceLog;
|
||||
@@ -101,6 +103,14 @@ public class RaceStateImpl implements RaceState, RaceLogChangedListener {
|
||||
public TimePoint getFinishedTime() {
|
||||
return finishedTimeFinder.getFinishedTime();
|
||||
}
|
||||
|
||||
public void setCourseDesign(CourseData courseData) {
|
||||
TimePoint eventTime = MillisecondsTimePoint.now();
|
||||
|
||||
RaceLogEvent event = RaceLogEventFactory.INSTANCE.createCourseDesignChangedEvent(eventTime, UUID.randomUUID(),
|
||||
Collections.<Competitor> emptyList(), raceLog.getCurrentPassId(), courseData);
|
||||
this.raceLog.add(event);
|
||||
}
|
||||
|
||||
public void onRaceAborted(TimePoint eventTime) {
|
||||
RaceLogEvent abortEvent = RaceLogEventFactory.INSTANCE.createRaceStatusEvent(eventTime, raceLog.getCurrentPassId(), RaceLogRaceStatus.UNSCHEDULED);
|
||||
|
||||
+1
-1
@@ -25,6 +25,7 @@ import com.sap.sailing.domain.base.CourseData;
|
||||
import com.sap.sailing.domain.base.Gate;
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.base.impl.CourseDataImpl;
|
||||
import com.sap.sailing.domain.base.impl.GateImpl;
|
||||
import com.sap.sailing.domain.base.impl.WaypointImpl;
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
@@ -32,7 +33,6 @@ import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.data.InMemoryDataStore;
|
||||
import com.sap.sailing.racecommittee.app.domain.RoundingDirection;
|
||||
import com.sap.sailing.racecommittee.app.domain.impl.CourseDataImpl;
|
||||
import com.sap.sailing.racecommittee.app.logging.ExLog;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseElementListAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseListDataElement;
|
||||
|
||||
Reference in new issue
Block a user