major refacoring and cleanup of RaceLog and RegattaLog events needed for the new way of registering boats and competitors as separate entities -> UI is still not ready for it.

This commit is contained in:
Frank Mittag committed 2017-08-25 17:09:00 +02:00
1 parent 20bc27a3da
commit 48162c73be
98 files changed
+1898 -1315

No files matched your search

@@ -7,7 +7,8 @@ import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.Boat;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.impl.CompetitorAndBoatImpl;
import com.sap.sailing.domain.base.impl.CompetitorWithBoatImpl;
import com.sap.sailing.domain.base.impl.DynamicBoat;
import com.sap.sailing.domain.tracking.Maneuver;
import com.sap.sailing.domain.tracking.TrackedRace;
import com.sap.sse.common.TimePoint;
@@ -16,10 +17,10 @@ import com.sap.sse.common.impl.MillisecondsTimePoint;
public class ManeuversJsonSerializer extends AbstractTrackedRaceDataJsonSerializer {
public final static String MANEUVERS = "maneuvers";
private final CompetitorAndBoatJsonSerializer competitorSerializer;
private final CompetitorWithBoatJsonSerializer competitorSerializer;
private final ManeuverJsonSerializer maneuverSerializer;
public ManeuversJsonSerializer(CompetitorAndBoatJsonSerializer competitorSerializer, ManeuverJsonSerializer maneuverSerializer) {
public ManeuversJsonSerializer(CompetitorWithBoatJsonSerializer competitorSerializer, ManeuverJsonSerializer maneuverSerializer) {
super();
this.competitorSerializer = competitorSerializer;
this.maneuverSerializer = maneuverSerializer;
@@ -35,7 +36,7 @@ public class ManeuversJsonSerializer extends AbstractTrackedRaceDataJsonSerializ
Boat boat = competitorAndBoatEntry.getValue();
final JSONObject forCompetitorJson = new JSONObject();
byCompetitorJson.add(forCompetitorJson);
forCompetitorJson.put(COMPETITOR, competitorSerializer.serialize(new CompetitorAndBoatImpl(competitor, boat)));
forCompetitorJson.put(COMPETITOR, competitorSerializer.serialize(new CompetitorWithBoatImpl(competitor, (DynamicBoat) boat)));
final JSONArray maneuvers = new JSONArray();
forCompetitorJson.put(MANEUVERS, maneuvers);
for (final Maneuver maneuver : getManeuversDuringRace(trackedRace, competitor)) {
@@ -11,7 +11,8 @@ import com.sap.sailing.domain.base.Boat;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.Course;
import com.sap.sailing.domain.base.Waypoint;
import com.sap.sailing.domain.base.impl.CompetitorAndBoatImpl;
import com.sap.sailing.domain.base.impl.CompetitorWithBoatImpl;
import com.sap.sailing.domain.base.impl.DynamicBoat;
import com.sap.sailing.domain.tracking.MarkPassing;
import com.sap.sailing.domain.tracking.TrackedRace;
@@ -26,7 +27,7 @@ public class MarkPassingsJsonSerializer extends AbstractTrackedRaceDataJsonSeria
public JSONObject serialize(TrackedRace trackedRace) {
final Course course = trackedRace.getRace().getCourse();
JSONObject result = new JSONObject();
CompetitorAndBoatJsonSerializer competitorWithBoatSerializer = CompetitorAndBoatJsonSerializer.create();
CompetitorWithBoatJsonSerializer competitorWithBoatSerializer = CompetitorWithBoatJsonSerializer.create();
CompetitorJsonSerializer competitorSerializer = CompetitorJsonSerializer.create();
JSONArray byCompetitorJson = new JSONArray();
result.put(BYCOMPETITOR, byCompetitorJson);
@@ -35,7 +36,7 @@ public class MarkPassingsJsonSerializer extends AbstractTrackedRaceDataJsonSeria
Boat boat = competitorAndBoatEntry.getValue();
JSONObject forCompetitorJson = new JSONObject();
byCompetitorJson.add(forCompetitorJson);
forCompetitorJson.put(COMPETITOR, competitorWithBoatSerializer.serialize(new CompetitorAndBoatImpl(competitor, boat)));
forCompetitorJson.put(COMPETITOR, competitorWithBoatSerializer.serialize(new CompetitorWithBoatImpl(competitor, (DynamicBoat) boat)));
final NavigableSet<MarkPassing> markPassingsForCompetitor = trackedRace.getMarkPassings(competitor);
JSONArray markPassingsForCompetitorJson = new JSONArray();
forCompetitorJson.put(MARKPASSINGS, markPassingsForCompetitorJson);
@@ -7,33 +7,34 @@ import org.json.simple.JSONObject;
import com.sap.sailing.domain.base.Boat;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.CompetitorAndBoat;
import com.sap.sailing.domain.base.CompetitorWithBoat;
import com.sap.sailing.domain.base.RaceDefinition;
import com.sap.sailing.domain.base.impl.CompetitorAndBoatImpl;
import com.sap.sailing.domain.base.impl.CompetitorWithBoatImpl;
import com.sap.sailing.domain.base.impl.DynamicBoat;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
public class RaceEntriesJsonSerializer implements JsonSerializer<RaceDefinition> {
public static final String FIELD_NAME = "name";
public static final String FIELD_COMPETITORS = "competitors";
private final JsonSerializer<CompetitorAndBoat> competitorAndBoatSerializer;
private final JsonSerializer<CompetitorWithBoat> competitorWithBoatSerializer;
public RaceEntriesJsonSerializer() {
this(null);
}
public RaceEntriesJsonSerializer(JsonSerializer<CompetitorAndBoat> competitorAndBoatSerializer) {
this.competitorAndBoatSerializer = competitorAndBoatSerializer;
public RaceEntriesJsonSerializer(JsonSerializer<CompetitorWithBoat> competitorWithBoatSerializer) {
this.competitorWithBoatSerializer = competitorWithBoatSerializer;
}
public JSONObject serialize(RaceDefinition race) {
JSONObject result = new JSONObject();
result.put(FIELD_NAME, race.getName());
if(competitorAndBoatSerializer != null) {
if(competitorWithBoatSerializer != null) {
JSONArray competitorsJson = new JSONArray();
for (Entry<Competitor, Boat> competitorAndBoatEntry: race.getCompetitorsAndTheirBoats().entrySet()) {
competitorsJson.add(competitorAndBoatSerializer.serialize(new CompetitorAndBoatImpl(competitorAndBoatEntry.getKey(),
competitorAndBoatEntry.getValue())));
competitorsJson.add(competitorWithBoatSerializer.serialize(new CompetitorWithBoatImpl(competitorAndBoatEntry.getKey(),
(DynamicBoat) competitorAndBoatEntry.getValue())));
}
result.put(FIELD_COMPETITORS, competitorsJson);
}