mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
# some fixes for NPE
This commit is contained in:
1 parent
91006ec964
commit
458c583d9c
10 files changed
+111
-75
No files matched your search
+12
-4
@@ -26,10 +26,18 @@ public class MarkJsonSerializer extends BaseControlPointJsonSerializer implement
|
||||
JSONObject result = super.serialize(mark);
|
||||
|
||||
result.put(FIELD_ID, mark.getId().toString());
|
||||
result.put(FIELD_COLOR, mark.getColor());
|
||||
result.put(FIELD_PATTERN, mark.getPattern());
|
||||
result.put(FIELD_SHAPE, mark.getShape());
|
||||
result.put(FIELD_TYPE, mark.getType().toString());
|
||||
if (mark.getColor() != null) {
|
||||
result.put(FIELD_COLOR, mark.getColor());
|
||||
}
|
||||
if (mark.getPattern() != null) {
|
||||
result.put(FIELD_PATTERN, mark.getPattern());
|
||||
}
|
||||
if (mark.getShape() != null) {
|
||||
result.put(FIELD_SHAPE, mark.getShape());
|
||||
}
|
||||
if (mark.getType() != null) {
|
||||
result.put(FIELD_TYPE, mark.getType());
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+2
@@ -10,6 +10,7 @@ import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
|
||||
public class RegattaJsonSerializer implements JsonSerializer<Regatta> {
|
||||
public static final String FIELD_ID = "id";
|
||||
public static final String FIELD_NAME = "name";
|
||||
public static final String FIELD_BASE_NAME = "baseName";
|
||||
public static final String FIELD_BOAT_CLASS = "boatClass";
|
||||
public static final String FIELD_RACES = "races";
|
||||
@@ -30,6 +31,7 @@ public class RegattaJsonSerializer implements JsonSerializer<Regatta> {
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
result.put(FIELD_ID, object.getId().toString());
|
||||
result.put(FIELD_NAME, object.getName());
|
||||
result.put(FIELD_BASE_NAME, object.getBaseName());
|
||||
result.put(FIELD_BOAT_CLASS, boatClassSerializer.serialize(object.getBoatClass()));
|
||||
|
||||
|
||||
+3
-1
@@ -24,7 +24,9 @@ public class WaypointJsonSerializer implements JsonSerializer<Waypoint> {
|
||||
|
||||
result.put(FIELD_ID, object.getId().toString());
|
||||
result.put(FIELD_NAME, object.getName());
|
||||
result.put(FIELD_PASSING_SIDE, object.getPassingSide().toString());
|
||||
if (object.getPassingSide() != null) {
|
||||
result.put(FIELD_PASSING_SIDE, object.getPassingSide());
|
||||
}
|
||||
result.put(FIELD_CONTROL_POINT,
|
||||
controlPointSerializer.serialize(object.getControlPoint()));
|
||||
|
||||
|
||||
+20
-8
@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.base.impl.BoatClassImpl;
|
||||
import com.sap.sailing.domain.base.impl.CourseImpl;
|
||||
@@ -31,6 +32,7 @@ import com.sap.sailing.domain.tracking.TrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.EmptyWindStore;
|
||||
import com.sap.sailing.server.gateway.impl.JsonExportServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeFlagEventSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeStartTimeEventSerializer;
|
||||
@@ -39,6 +41,20 @@ import com.sap.sailing.server.gateway.serialization.impl.RaceCommitteeStartTimeE
|
||||
public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
private static final long serialVersionUID = 2197006949440887925L;
|
||||
|
||||
/**
|
||||
* Created in init() - access is thread-safe.
|
||||
*/
|
||||
private JsonSerializer<RaceCommitteeEvent> rcEventSerializer;
|
||||
|
||||
@Override
|
||||
public void init() throws ServletException {
|
||||
super.init();
|
||||
|
||||
rcEventSerializer = new RaceCommitteeEventSerializer(
|
||||
new RaceCommitteeFlagEventSerializer(),
|
||||
new RaceCommitteeStartTimeEventSerializer());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
@@ -57,14 +73,10 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
private JSONArray serizalizeTrack(TrackedRace trackedRace) {
|
||||
JSONArray result = new JSONArray();
|
||||
|
||||
RaceCommitteeEventSerializer serializer = new RaceCommitteeEventSerializer(
|
||||
new RaceCommitteeFlagEventSerializer(),
|
||||
new RaceCommitteeStartTimeEventSerializer());
|
||||
RaceCommitteeEventTrack track = trackedRace.getRaceCommitteeEventTrack();
|
||||
|
||||
track.lockForRead();
|
||||
for (RaceCommitteeEvent event : track.getFixes()) {
|
||||
result.add(serializer.serialize(event));
|
||||
result.add(rcEventSerializer.serialize(event));
|
||||
}
|
||||
track.unlockAfterRead();
|
||||
|
||||
@@ -88,7 +100,7 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
|
||||
// TODO: add event to trackedRace...
|
||||
// trackedRace.recordRaceCommitteeEvent(null);
|
||||
response.sendError(HttpServletResponse.SC_ACCEPTED);
|
||||
response.sendError(HttpServletResponse.SC_NO_CONTENT);
|
||||
|
||||
}
|
||||
|
||||
@@ -102,7 +114,7 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
return trackedRace;
|
||||
}
|
||||
|
||||
@Override
|
||||
/*@Override
|
||||
protected TrackedRace getTrackedRace(HttpServletRequest request) {
|
||||
RaceCommitteeStore store = new FakeStore();
|
||||
TrackedRace trackedRace = new DynamicTrackedRaceImpl(
|
||||
@@ -128,7 +140,7 @@ public class EventTrackJsonExportServlet extends JsonExportServlet {
|
||||
0, Flags.ALPHA, Flags.NOVEMBER, true));
|
||||
return track;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
private boolean validateParameter(HttpServletResponse response, String... parameters) throws IOException {
|
||||
for (String parameter : parameters) {
|
||||
|
||||
+16
-54
@@ -1,8 +1,6 @@
|
||||
package com.sap.sailing.server.gateway.impl.rc;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -10,17 +8,9 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.CourseArea;
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.RaceDefinition;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.base.Venue;
|
||||
import com.sap.sailing.domain.base.Waypoint;
|
||||
import com.sap.sailing.domain.base.impl.CourseAreaImpl;
|
||||
import com.sap.sailing.domain.base.impl.CourseImpl;
|
||||
import com.sap.sailing.domain.base.impl.RaceDefinitionImpl;
|
||||
import com.sap.sailing.server.gateway.impl.JsonExportServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CourseAreaJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.EventJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
|
||||
@@ -28,58 +18,30 @@ import com.sap.sailing.server.gateway.serialization.impl.VenueJsonSerializer;
|
||||
public class EventsJsonExportServlet extends JsonExportServlet {
|
||||
private static final long serialVersionUID = 4515246650108245796L;
|
||||
|
||||
/**
|
||||
* Created in init() - access is thread-safe.
|
||||
*/
|
||||
private JsonSerializer<Event> eventSerializer;
|
||||
|
||||
@Override
|
||||
public void init() throws ServletException {
|
||||
super.init();
|
||||
|
||||
eventSerializer = new EventJsonSerializer(
|
||||
new VenueJsonSerializer(
|
||||
new CourseAreaJsonSerializer()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
|
||||
EventJsonSerializer serializer =
|
||||
new EventJsonSerializer(
|
||||
new VenueJsonSerializer(
|
||||
new CourseAreaJsonSerializer()));
|
||||
|
||||
JSONArray result = new JSONArray();
|
||||
for (Event event : getService().getAllEvents())
|
||||
{
|
||||
result.add(serializer.serialize(event));
|
||||
result.add(eventSerializer.serialize(event));
|
||||
}
|
||||
result.writeJSONString(response.getWriter());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private Iterable<Event> exampleEvents()
|
||||
{
|
||||
Event kielerWocheEvent = getService().addEvent(
|
||||
"Kieler Woche 2012 - Where Sailing meets people",
|
||||
"Schilksee",
|
||||
"http://www.youtube.com",
|
||||
true, Collections.<String>emptyList());
|
||||
|
||||
Venue schilksee = kielerWocheEvent.getVenue();
|
||||
|
||||
CourseArea alpha = new CourseAreaImpl("Alpha");
|
||||
schilksee.addCourseArea(alpha);
|
||||
|
||||
//Fleet allBoats = new FleetImpl("Blue");
|
||||
//Series series = null;//new SeriesData("Qualification", false, Arrays.asList(allBoats));
|
||||
|
||||
Regatta regatta = getService().getOrCreateRegatta(
|
||||
"470er Men",
|
||||
"470er",
|
||||
UUID.fromString("b2775b10-5b3f-11e2-bcfd-0800200c9a66"));
|
||||
kielerWocheEvent.addRegatta(regatta);
|
||||
|
||||
RaceDefinition myRace = new RaceDefinitionImpl(
|
||||
"Race One",
|
||||
new CourseImpl("Downwind", Collections.<Waypoint>emptyList()),
|
||||
regatta.getBoatClass(),
|
||||
Collections.<Competitor>emptyList(),
|
||||
UUID.fromString("c2775b10-5b3f-11e2-bcfd-0800200c9a66"));
|
||||
regatta.addRace(myRace);
|
||||
|
||||
alpha.addRace(myRace);
|
||||
|
||||
|
||||
return Collections.<Event>singleton(kielerWocheEvent);
|
||||
}
|
||||
|
||||
}
|
||||
+36
-8
@@ -10,35 +10,63 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
|
||||
import com.sap.sailing.domain.base.ControlPoint;
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.server.gateway.impl.JsonExportServlet;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.BoatClassJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.ControlPointJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.CourseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.GateJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.MarkJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RaceDefinitionJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.RegattaJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.impl.WaypointJsonSerializer;
|
||||
|
||||
|
||||
public class RegattasRaceJsonExportServlet extends JsonExportServlet {
|
||||
|
||||
private static final long serialVersionUID = -5661776042560467182L;
|
||||
|
||||
/**
|
||||
* Created in init() - access is thread-safe.
|
||||
*/
|
||||
private JsonSerializer<Regatta> regattaSerializer;
|
||||
|
||||
@Override
|
||||
public void init() throws ServletException {
|
||||
super.init();
|
||||
|
||||
JsonSerializer<ControlPoint> markSerializer = new MarkJsonSerializer();
|
||||
regattaSerializer = new RegattaJsonSerializer(
|
||||
new BoatClassJsonSerializer(),
|
||||
new RaceDefinitionJsonSerializer(new CourseJsonSerializer(
|
||||
new WaypointJsonSerializer(
|
||||
new ControlPointJsonSerializer(
|
||||
markSerializer,
|
||||
new GateJsonSerializer(markSerializer))))));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
Iterable<Regatta> regattas;
|
||||
|
||||
Event event = getEvent(request);
|
||||
if (event == null)
|
||||
{
|
||||
response.sendError(HttpServletResponse.SC_NOT_FOUND);
|
||||
return;
|
||||
//response.sendError(HttpServletResponse.SC_NOT_FOUND);
|
||||
//return;
|
||||
|
||||
regattas = getService().getAllRegattas();
|
||||
} else {
|
||||
regattas = event.getRegattas();
|
||||
}
|
||||
|
||||
RegattaJsonSerializer serializer = new RegattaJsonSerializer(
|
||||
new BoatClassJsonSerializer(),
|
||||
new RaceDefinitionJsonSerializer(null));
|
||||
JSONArray result = new JSONArray();
|
||||
for (Regatta regatta : event.getRegattas())
|
||||
for (Regatta regatta : regattas)
|
||||
{
|
||||
result.add(serializer.serialize(regatta));
|
||||
result.add(regattaSerializer.serialize(regatta));
|
||||
}
|
||||
result.writeJSONString(response.getWriter());
|
||||
}
|
||||
|
||||
@@ -30,4 +30,15 @@
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>1359465261368</id>
|
||||
<name>src</name>
|
||||
<type>30</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-.svn</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
</projectDescription>
|
||||
@@ -30,4 +30,15 @@
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>1359465318740</id>
|
||||
<name>src</name>
|
||||
<type>30</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-.svn</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
</projectDescription>
|
||||
Whitespace-only changes.
Whitespace-only changes.
Reference in new issue
Block a user