refs bug 1125

# added ProtestStartTimeEvent (and tests and serializers and persistence)
This commit is contained in:
Lukas Niemeier committed 2013-06-09 19:33:50 +02:00
1 parent 70b3a27c9d
commit 4a9cdcd021
23 files changed
+594 -336

No files matched your search

@@ -18,53 +18,69 @@ public interface RaceLogEventFactory {
RaceLogFlagEvent createFlagEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats, int passId,
Flags upperFlag, Flags lowerFlag, boolean isDisplayed);
RaceLogFlagEvent createFlagEvent(TimePoint timePoint, int passId, Flags upperFlag, Flags lowerFlag,
boolean isDisplayed);
RaceLogStartTimeEvent createStartTimeEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats,
int passId, TimePoint startTime);
RaceLogStartTimeEvent createStartTimeEvent(TimePoint timePoint, int passId, TimePoint startTime);
RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint, Serializable id, List<Competitor> competitors,
int passId, RaceLogRaceStatus nextStatus);
RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint, int passId, RaceLogRaceStatus nextStatus);
RaceLogPassChangeEvent createPassChangeEvent(TimePoint timePoint, Serializable id, List<Competitor> competitors,
int passId);
RaceLogPassChangeEvent createPassChangeEvent(TimePoint timePoint, int passId);
RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, Serializable courseAreaId);
RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, int passId,
Serializable courseAreaId);
RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, CourseBase courseData);
RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint timePoint, int passId,
CourseBase courseData);
RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId,
List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors);
RaceLogFinishPositioningListChangedEvent createFinishPositioningListChangedEvent(TimePoint timePoint, int passId,
List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors);
RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId);
RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint timePoint, int passId);
RaceLogPathfinderEvent createPathfinderEvent(TimePoint timePoint, Serializable id, List<Competitor> competitors,
int passId, String pathfinderId);
RaceLogPathfinderEvent createPathfinderEvent(TimePoint timePoint, int passId, String pathfinderId);
RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, Long gateLineOpeningTimeInMillis);
RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint timePoint, int passId,
Long gateLineOpeningTimeInMillis);
RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, StartProcedureType type);
RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, int passId,
StartProcedureType type);
RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, TimePoint protestStartTime);
RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint timePoint, int passId, TimePoint protestStartTime);
}
@@ -49,4 +49,7 @@ public interface RaceLogEventRestoreFactory extends RaceLogEventFactory {
RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint createdAt, TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId, StartProcedureType type);
RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint createdAt, TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId, TimePoint protestStartTime);
}
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.racelog;
public interface RaceLogEventVisitor {
public void visit(RaceLogFlagEvent event);
@@ -22,4 +23,6 @@ public interface RaceLogEventVisitor {
public void visit(RaceLogGateLineOpeningTimeEvent event);
public void visit(RaceLogStartProcedureChangedEvent event);
public void visit(RaceLogProtestStartTimeEvent event);
}
@@ -0,0 +1,15 @@
package com.sap.sailing.domain.racelog;
import com.sap.sailing.domain.common.TimePoint;
/**
* Indicates that the protest start time for the related race has changed.
*
*/
public interface RaceLogProtestStartTimeEvent extends RaceLogEvent {
/**
* Returns the start time of the race's protest time.
*/
TimePoint getProtestStartTime();
}
@@ -22,6 +22,7 @@ import com.sap.sailing.domain.racelog.RaceLogFlagEvent;
import com.sap.sailing.domain.racelog.RaceLogGateLineOpeningTimeEvent;
import com.sap.sailing.domain.racelog.RaceLogPassChangeEvent;
import com.sap.sailing.domain.racelog.RaceLogPathfinderEvent;
import com.sap.sailing.domain.racelog.RaceLogProtestStartTimeEvent;
import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent;
import com.sap.sailing.domain.racelog.RaceLogStartProcedureChangedEvent;
import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent;
@@ -29,21 +30,24 @@ import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent;
public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
@Override
public RaceLogFlagEvent createFlagEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats, int passId,
Flags upperFlag, Flags lowerFlag, boolean isDisplayed) {
return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), timePoint, id, involvedBoats, passId, upperFlag, lowerFlag, isDisplayed);
}
@Override
public RaceLogFlagEvent createFlagEvent(TimePoint timePoint,
public RaceLogFlagEvent createFlagEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats,
int passId, Flags upperFlag, Flags lowerFlag, boolean isDisplayed) {
return createFlagEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, upperFlag, lowerFlag, isDisplayed);
return new RaceLogFlagEventImpl(MillisecondsTimePoint.now(), timePoint, id, involvedBoats, passId, upperFlag,
lowerFlag, isDisplayed);
}
@Override
public RaceLogStartTimeEvent createStartTimeEvent(TimePoint timePoint, Serializable id, List<Competitor> involvedBoats, int passId,
TimePoint startTime) {
return new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), timePoint, id, involvedBoats, passId, startTime);
public RaceLogFlagEvent createFlagEvent(TimePoint timePoint, int passId, Flags upperFlag, Flags lowerFlag,
boolean isDisplayed) {
return createFlagEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, upperFlag, lowerFlag,
isDisplayed);
}
@Override
public RaceLogStartTimeEvent createStartTimeEvent(TimePoint timePoint, Serializable id,
List<Competitor> involvedBoats, int passId, TimePoint startTime) {
return new RaceLogStartTimeEventImpl(MillisecondsTimePoint.now(), timePoint, id, involvedBoats, passId,
startTime);
}
@Override
@@ -52,20 +56,20 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
}
@Override
public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint,Serializable id, List<Competitor> competitors, int passId,
RaceLogRaceStatus nextStatus) {
return new RaceLogRaceStatusEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, nextStatus);
public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, RaceLogRaceStatus nextStatus) {
return new RaceLogRaceStatusEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId,
nextStatus);
}
@Override
public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint,
int passId, RaceLogRaceStatus nextStatus) {
public RaceLogRaceStatusEvent createRaceStatusEvent(TimePoint timePoint, int passId, RaceLogRaceStatus nextStatus) {
return createRaceStatusEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, nextStatus);
}
@Override
public RaceLogPassChangeEvent createPassChangeEvent(TimePoint timePoint, Serializable id, List<Competitor> competitors,
int passId) {
public RaceLogPassChangeEvent createPassChangeEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId) {
return new RaceLogPassChangeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId);
}
@@ -75,44 +79,53 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
}
@Override
public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, Serializable id, List<Competitor> competitors,
int passId, Serializable courseAreaId) {
return new RaceLogCourseAreaChangeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, courseAreaId);
public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, Serializable courseAreaId) {
return new RaceLogCourseAreaChangeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId,
courseAreaId);
}
@Override
public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(
TimePoint timePoint, int passId, Serializable courseAreaId) {
return createCourseAreaChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, courseAreaId);
public RaceLogCourseAreaChangedEvent createCourseAreaChangedEvent(TimePoint timePoint, int passId,
Serializable courseAreaId) {
return createCourseAreaChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId,
courseAreaId);
}
@Override
public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, CourseBase courseData) {
return new RaceLogCourseDesignChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, courseData);
return new RaceLogCourseDesignChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId,
courseData);
}
@Override
public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint timePoint, int passId, CourseBase courseData) {
return createCourseDesignChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, courseData);
public RaceLogCourseDesignChangedEvent createCourseDesignChangedEvent(TimePoint timePoint, int passId,
CourseBase courseData) {
return createCourseDesignChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId,
courseData);
}
@Override
public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(
TimePoint timePoint, Serializable id, List<Competitor> competitors, int passId, List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors) {
return new RaceLogFinishPositioningListChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, positionedCompetitors);
public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId,
List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors) {
return new RaceLogFinishPositioningListChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id,
competitors, passId, positionedCompetitors);
}
@Override
public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(
TimePoint timePoint, int passId, List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors) {
return createFinishPositioningListChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, positionedCompetitors);
public RaceLogFinishPositioningListChangedEventImpl createFinishPositioningListChangedEvent(TimePoint timePoint,
int passId, List<Triple<Serializable, String, MaxPointsReason>> positionedCompetitors) {
return createFinishPositioningListChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(),
passId, positionedCompetitors);
}
@Override
public RaceLogFinishPositioningConfirmedEvent createFinishPositioningConfirmedEvent(TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId) {
return new RaceLogFinishPositioningConfirmedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId);
return new RaceLogFinishPositioningConfirmedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors,
passId);
}
@Override
@@ -123,7 +136,8 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
@Override
public RaceLogPathfinderEvent createPathfinderEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, String pathfinderId) {
return new RaceLogPathfinderEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, pathfinderId);
return new RaceLogPathfinderEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId,
pathfinderId);
}
@Override
@@ -134,19 +148,22 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
@Override
public RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, Long gateLineOpeningTimeInMillis) {
return new RaceLogGateLineOpeningTimeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, gateLineOpeningTimeInMillis);
return new RaceLogGateLineOpeningTimeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId,
gateLineOpeningTimeInMillis);
}
@Override
public RaceLogGateLineOpeningTimeEvent createGateLineOpeningTimeEvent(TimePoint timePoint, int passId,
Long gateLineOpeningTimeInMillis) {
return createGateLineOpeningTimeEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, gateLineOpeningTimeInMillis);
return createGateLineOpeningTimeEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId,
gateLineOpeningTimeInMillis);
}
@Override
public RaceLogStartProcedureChangedEvent createStartProcedureChangedEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, StartProcedureType type) {
return new RaceLogStartProcedureChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors, passId, type);
return new RaceLogStartProcedureChangedEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors,
passId, type);
}
@Override
@@ -155,4 +172,18 @@ public class RaceLogEventFactoryImpl implements RaceLogEventFactory {
return createStartProcedureChangedEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId, type);
}
@Override
public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint timePoint, Serializable id,
List<Competitor> competitors, int passId, TimePoint protestStartTime) {
return new RaceLogProtestStartTimeEventImpl(MillisecondsTimePoint.now(), timePoint, id, competitors,
passId, protestStartTime);
}
@Override
public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint timePoint, int passId,
TimePoint protestStartTime) {
return createProtestStartTimeEvent(timePoint, UUID.randomUUID(), new ArrayList<Competitor>(), passId,
protestStartTime);
}
}
@@ -20,6 +20,7 @@ import com.sap.sailing.domain.racelog.RaceLogFlagEvent;
import com.sap.sailing.domain.racelog.RaceLogGateLineOpeningTimeEvent;
import com.sap.sailing.domain.racelog.RaceLogPassChangeEvent;
import com.sap.sailing.domain.racelog.RaceLogPathfinderEvent;
import com.sap.sailing.domain.racelog.RaceLogProtestStartTimeEvent;
import com.sap.sailing.domain.racelog.RaceLogRaceStatusEvent;
import com.sap.sailing.domain.racelog.RaceLogStartProcedureChangedEvent;
import com.sap.sailing.domain.racelog.RaceLogStartTimeEvent;
@@ -92,5 +93,11 @@ public class RaceLogEventRestoreFactoryImpl extends RaceLogEventFactoryImpl impl
return new RaceLogStartProcedureChangedEventImpl(createdAt, timePoint, id, competitors, passId, type);
}
@Override
public RaceLogProtestStartTimeEvent createProtestStartTimeEvent(TimePoint createdAt, TimePoint timePoint,
Serializable id, List<Competitor> competitors, int passId, TimePoint protestStartTime) {
return new RaceLogProtestStartTimeEventImpl(createdAt, timePoint, id, competitors, passId, protestStartTime);
}
}
@@ -0,0 +1,32 @@
package com.sap.sailing.domain.racelog.impl;
import java.io.Serializable;
import java.util.List;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.TimePoint;
import com.sap.sailing.domain.racelog.RaceLogEventVisitor;
import com.sap.sailing.domain.racelog.RaceLogProtestStartTimeEvent;
public class RaceLogProtestStartTimeEventImpl extends RaceLogEventImpl implements RaceLogProtestStartTimeEvent {
private static final long serialVersionUID = -1800827552916395996L;
private TimePoint protestStartTime;
public RaceLogProtestStartTimeEventImpl(TimePoint createdAt, TimePoint pTimePoint, Serializable pId,
List<Competitor> pInvolvedBoats, int pPassId, TimePoint protestStartTime) {
super(createdAt, pTimePoint, pId, pInvolvedBoats, pPassId);
this.protestStartTime = protestStartTime;
}
@Override
public void accept(RaceLogEventVisitor visitor) {
visitor.visit(this);
}
@Override
public TimePoint getProtestStartTime() {
return protestStartTime;
}
}