mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-14 06:18:12 +00:00
started to move update handler classes to com.sap.sailing.domain bundle
Change-Id: I821f633ee1e5f1db970017788473b4edcce8cbd8
This commit is contained in:
1 parent
7938babf4f
commit
2a7221c2c6
13 files changed
+147
-111
No files matched your search
+6
-3
@@ -73,6 +73,9 @@ import com.sap.sailing.domain.tracking.TrackedRegatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRegattaRegistry;
|
||||
import com.sap.sailing.domain.tracking.WindStore;
|
||||
import com.sap.sailing.domain.tracking.WindTrack;
|
||||
import com.sap.sailing.domain.tracking.impl.FinishTimeUpdateHandler;
|
||||
import com.sap.sailing.domain.tracking.impl.RaceAbortedHandler;
|
||||
import com.sap.sailing.domain.tracking.impl.StartTimeUpdateHandler;
|
||||
import com.sap.sailing.domain.tractracadapter.DomainFactory;
|
||||
import com.sap.sailing.domain.tractracadapter.JSONService;
|
||||
import com.sap.sailing.domain.tractracadapter.MetadataParser;
|
||||
@@ -678,15 +681,15 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid,
|
||||
raceDefinition.getId(), tractracRace, this);
|
||||
trackedRace.addCourseDesignChangedListener(courseDesignHandler);
|
||||
TracTracStartTimeUpdateHandler startTimeHandler = new TracTracStartTimeUpdateHandler(
|
||||
StartTimeUpdateHandler startTimeHandler = new StartTimeUpdateHandler(
|
||||
tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid,
|
||||
raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta());
|
||||
trackedRace.addStartTimeChangedListener(startTimeHandler);
|
||||
TracTracRaceAbortedHandler raceAbortedHandler = new TracTracRaceAbortedHandler(
|
||||
RaceAbortedHandler raceAbortedHandler = new RaceAbortedHandler(
|
||||
tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid,
|
||||
raceDefinition.getId());
|
||||
trackedRace.addRaceAbortedListener(raceAbortedHandler);
|
||||
trackedRace.addListener(new TracTracFinishTimeUpdateHandler(tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid,
|
||||
trackedRace.addListener(new FinishTimeUpdateHandler(tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid,
|
||||
raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta()).getListener());
|
||||
}
|
||||
|
||||
|
||||
+4
-58
@@ -1,86 +1,32 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.sap.sailing.domain.base.ControlPoint;
|
||||
import com.sap.sailing.domain.base.CourseBase;
|
||||
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.tracking.CourseDesignChangedListener;
|
||||
import com.sap.sailing.domain.tracking.impl.CourseDesignUpdateHandler;
|
||||
import com.sap.sailing.domain.tractracadapter.DomainFactory;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.ControlPointJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.CourseBaseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.CourseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.GateJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.MarkJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.WaypointJsonSerializer;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.tractrac.model.lib.api.event.IRace;
|
||||
import com.tractrac.model.lib.api.route.IControl;
|
||||
|
||||
public class TracTracCourseDesignUpdateHandler extends UpdateHandler implements CourseDesignChangedListener {
|
||||
|
||||
private final static String ACTION = "update_course";
|
||||
|
||||
private final static Logger logger = Logger.getLogger(TracTracCourseDesignUpdateHandler.class.getName());
|
||||
private final JsonSerializer<CourseBase> courseSerializer;
|
||||
public class TracTracCourseDesignUpdateHandler extends CourseDesignUpdateHandler {
|
||||
private final IRace tractracRace;
|
||||
private final DomainFactory domainFactory;
|
||||
|
||||
public TracTracCourseDesignUpdateHandler(URI updateURI, String tracTracUsername, String tracTracPassword, Serializable tracTracEventId, Serializable raceId, IRace tractracRace, DomainFactory domainFactory) {
|
||||
super(updateURI, ACTION, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
super(updateURI, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
this.domainFactory = domainFactory;
|
||||
this.tractracRace = tractracRace;
|
||||
this.courseSerializer = new CourseJsonSerializer(
|
||||
new CourseBaseJsonSerializer(
|
||||
new WaypointJsonSerializer(
|
||||
new ControlPointJsonSerializer(
|
||||
new MarkJsonSerializer(),
|
||||
new GateJsonSerializer(new MarkJsonSerializer())))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void courseDesignChanged(final CourseBase newCourseDesign) throws MalformedURLException, IOException {
|
||||
if (!isActive()) {
|
||||
logger.info("Not sending course update to TracTrac because no URL has been provided.");
|
||||
return;
|
||||
}
|
||||
final CourseBase newCourseDesignWithExistingControlPoints = replaceControlPointsByMatchingExistingControlPoints(newCourseDesign);
|
||||
JSONObject serializedCourseDesign = courseSerializer.serialize(newCourseDesignWithExistingControlPoints);
|
||||
String payload = serializedCourseDesign.toJSONString();
|
||||
URL currentCourseDesignURL = buildUpdateURL();
|
||||
logger.info("Using " + currentCourseDesignURL.toString() + " for the course update!");
|
||||
logger.info("Payload is " + payload);
|
||||
HttpURLConnection connection = (HttpURLConnection) currentCourseDesignURL.openConnection();
|
||||
try {
|
||||
setConnectionPropertiesAndSendWithPayload(connection, payload);
|
||||
try {
|
||||
checkAndLogUpdateResponse(connection);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
} else {
|
||||
logger.severe("Connection to TracTrac Course Update URL " + currentCourseDesignURL.toString() + " could not be established");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private CourseBase replaceControlPointsByMatchingExistingControlPoints(CourseBase courseDesign) {
|
||||
protected CourseBase replaceControlPointsByMatchingExistingControlPoints(CourseBase courseDesign) {
|
||||
final Iterable<IControl> candidates = domainFactory.getControlsForCourseArea(tractracRace.getEvent(), tractracRace.getCourseArea());
|
||||
final CourseBase result = new CourseDataImpl(courseDesign.getName());
|
||||
int zeroBasedPosition = 0;
|
||||
|
||||
@@ -47,5 +47,12 @@ Require-Bundle: com.googlecode.java-diff-utils;bundle-version="1.3.0",
|
||||
com.sap.sse.shared.android,
|
||||
org.apache.commons.math,
|
||||
com.sap.sailing.declination,
|
||||
com.sap.sailing.server.gateway.serialization.shared.android,
|
||||
com.sap.sse.datamining.annotations
|
||||
Import-Package: org.apache.http,
|
||||
org.apache.http.client;version="[4.2.5,4.3.0)",
|
||||
org.apache.http.client.entity;version="[4.2.5,4.3.0)",
|
||||
org.apache.http.client.methods;version="[4.2.5,4.3.0)",
|
||||
org.apache.http.impl.client;version="[4.2.5,4.3.0)",
|
||||
org.apache.http.message;version="[4.2.5,4.3.0)"
|
||||
Automatic-Module-Name: com.sap.sailing.domain
|
||||
+1
-1
@@ -205,7 +205,7 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
|
||||
raceDTO.status.status = trackedRace.getStatus() == null ? null : trackedRace.getStatus().getStatus();
|
||||
raceDTO.status.loadingProgress = trackedRace.getStatus() == null ? 0.0 : trackedRace.getStatus().getLoadingProgress();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public TrackedRaceDTO createTrackedRaceDTO(TrackedRace trackedRace) {
|
||||
TrackedRaceDTO trackedRaceDTO = new TrackedRaceDTO();
|
||||
|
||||
Executable
+78
@@ -0,0 +1,78 @@
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.sap.sailing.domain.base.CourseBase;
|
||||
import com.sap.sailing.domain.tracking.CourseDesignChangedListener;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.ControlPointJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.CourseBaseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.CourseJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.GateJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.MarkJsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.coursedata.impl.WaypointJsonSerializer;
|
||||
|
||||
public class CourseDesignUpdateHandler extends UpdateHandler implements CourseDesignChangedListener {
|
||||
|
||||
private final static String ACTION = "update_course";
|
||||
|
||||
private final static Logger logger = Logger.getLogger(CourseDesignUpdateHandler.class.getName());
|
||||
private final JsonSerializer<CourseBase> courseSerializer;
|
||||
|
||||
public CourseDesignUpdateHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) {
|
||||
super(updateURI, ACTION, username, password, eventId, raceId);
|
||||
this.courseSerializer = new CourseJsonSerializer(
|
||||
new CourseBaseJsonSerializer(
|
||||
new WaypointJsonSerializer(
|
||||
new ControlPointJsonSerializer(
|
||||
new MarkJsonSerializer(),
|
||||
new GateJsonSerializer(new MarkJsonSerializer())))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void courseDesignChanged(final CourseBase newCourseDesign) throws MalformedURLException, IOException {
|
||||
if (!isActive()) {
|
||||
logger.info("Not sending course update to TracTrac because no URL has been provided.");
|
||||
return;
|
||||
}
|
||||
final CourseBase newCourseDesignWithExistingControlPoints = replaceControlPointsByMatchingExistingControlPoints(newCourseDesign);
|
||||
JSONObject serializedCourseDesign = courseSerializer.serialize(newCourseDesignWithExistingControlPoints);
|
||||
String payload = serializedCourseDesign.toJSONString();
|
||||
URL currentCourseDesignURL = buildUpdateURL();
|
||||
logger.info("Using " + currentCourseDesignURL.toString() + " for the course update!");
|
||||
logger.info("Payload is " + payload);
|
||||
HttpURLConnection connection = (HttpURLConnection) currentCourseDesignURL.openConnection();
|
||||
try {
|
||||
setConnectionPropertiesAndSendWithPayload(connection, payload);
|
||||
try {
|
||||
checkAndLogUpdateResponse(connection);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} finally {
|
||||
if (connection != null) {
|
||||
connection.disconnect();
|
||||
} else {
|
||||
logger.severe("Connection to TracTrac Course Update URL " + currentCourseDesignURL.toString() + " could not be established");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This default implementation returns the {@code courseDesign} unchanged. Subclasses have the possibility to
|
||||
* override this method in order to replace individual course marks provided in a detailed course design,
|
||||
* based on the actual course marks available.
|
||||
*/
|
||||
protected CourseBase replaceControlPointsByMatchingExistingControlPoints(CourseBase courseDesign) {
|
||||
return courseDesign;
|
||||
}
|
||||
}
|
||||
+6
-7
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -20,12 +20,11 @@ import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.impl.AbstractRaceChangeListener;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.util.LaxRedirectStrategyForAllRedirectResponseCodes;
|
||||
|
||||
public class TracTracFinishTimeUpdateHandler extends UpdateHandler {
|
||||
private final static Logger logger = Logger.getLogger(TracTracFinishTimeUpdateHandler.class.getName());
|
||||
public class FinishTimeUpdateHandler extends UpdateHandler {
|
||||
private final static Logger logger = Logger.getLogger(FinishTimeUpdateHandler.class.getName());
|
||||
|
||||
private final static String ACTION_STOP_TRACKING = "end_tracking";
|
||||
private final static String FIELD_TRACKING_END_TIME = "tracking_end_time";
|
||||
@@ -36,9 +35,9 @@ public class TracTracFinishTimeUpdateHandler extends UpdateHandler {
|
||||
*/
|
||||
private final Regatta regatta;
|
||||
|
||||
public TracTracFinishTimeUpdateHandler(URI updateURI, String tracTracUsername, String tracTracPassword,
|
||||
Serializable tracTracEventId, Serializable raceId, Regatta regatta) {
|
||||
super(updateURI, ACTION_STOP_TRACKING, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
public FinishTimeUpdateHandler(URI updateURI, String username, String password,
|
||||
Serializable eventId, Serializable raceId, Regatta regatta) {
|
||||
super(updateURI, ACTION_STOP_TRACKING, username, password, eventId, raceId);
|
||||
this.regatta = regatta;
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
@@ -15,14 +15,14 @@ import org.json.simple.parser.ParseException;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.domain.tracking.RaceAbortedListener;
|
||||
|
||||
public class TracTracRaceAbortedHandler extends UpdateHandler implements RaceAbortedListener {
|
||||
public class RaceAbortedHandler extends UpdateHandler implements RaceAbortedListener {
|
||||
|
||||
private final static String ACTION = "update_race_status";
|
||||
|
||||
private final static Logger logger = Logger.getLogger(TracTracRaceAbortedHandler.class.getName());
|
||||
private final static Logger logger = Logger.getLogger(RaceAbortedHandler.class.getName());
|
||||
|
||||
public TracTracRaceAbortedHandler(URI updateURI, String tracTracUsername, String tracTracPassword, Serializable tracTracEventId, Serializable raceId) {
|
||||
super(updateURI, ACTION, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
public RaceAbortedHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) {
|
||||
super(updateURI, ACTION, username, password, eventId, raceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Serializable;
|
||||
@@ -13,14 +13,14 @@ import org.json.simple.parser.ParseException;
|
||||
import com.sap.sailing.domain.tracking.StartTimeChangedListener;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class TracTracStartTimeResetHandler extends UpdateHandler implements StartTimeChangedListener {
|
||||
public class StartTimeResetHandler extends UpdateHandler implements StartTimeChangedListener {
|
||||
|
||||
private static final String ACTION = "resetStartTime";
|
||||
|
||||
private final static Logger logger = Logger.getLogger(TracTracStartTimeResetHandler.class.getName());
|
||||
private final static Logger logger = Logger.getLogger(StartTimeResetHandler.class.getName());
|
||||
|
||||
public TracTracStartTimeResetHandler(URI updateURI, String tracTracUsername, String tracTracPassword, Serializable tracTracEventId, Serializable raceId) {
|
||||
super(updateURI, ACTION, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
public StartTimeResetHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) {
|
||||
super(updateURI, ACTION, username, password, eventId, raceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -28,8 +28,8 @@ import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.util.LaxRedirectStrategyForAllRedirectResponseCodes;
|
||||
|
||||
public class TracTracStartTimeUpdateHandler extends UpdateHandler implements StartTimeChangedListener {
|
||||
private final static Logger logger = Logger.getLogger(TracTracStartTimeUpdateHandler.class.getName());
|
||||
public class StartTimeUpdateHandler extends UpdateHandler implements StartTimeChangedListener {
|
||||
private final static Logger logger = Logger.getLogger(StartTimeUpdateHandler.class.getName());
|
||||
|
||||
private final static String ACTION = "update_race_start_time";
|
||||
private final static String ACTION_START_TRACKING = "start_tracking";
|
||||
@@ -42,7 +42,7 @@ public class TracTracStartTimeUpdateHandler extends UpdateHandler implements Sta
|
||||
*/
|
||||
private final Regatta regatta;
|
||||
|
||||
public TracTracStartTimeUpdateHandler(URI updateURI, String tracTracUsername, String tracTracPassword,
|
||||
public StartTimeUpdateHandler(URI updateURI, String tracTracUsername, String tracTracPassword,
|
||||
Serializable tracTracEventId, Serializable raceId, Regatta regatta) {
|
||||
super(updateURI, ACTION, tracTracUsername, tracTracPassword, tracTracEventId, raceId);
|
||||
this.regatta = regatta;
|
||||
+28
-21
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -25,21 +25,28 @@ import org.json.simple.JSONObject;
|
||||
import org.json.simple.JSONValue;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import com.sap.sailing.domain.tractracadapter.UpdateResponse;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.impl.Helpers;
|
||||
import com.sap.sse.common.Duration;
|
||||
|
||||
/**
|
||||
* An update handler can be registered as a listener on a {@link TrackedRace} and can then propagate information to
|
||||
* an external service. This can, e.g., be a tracking partner's system that is interested in receiving race status
|
||||
* updates such as new start times or postponements.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public class UpdateHandler {
|
||||
|
||||
private final static Logger logger = Logger.getLogger(UpdateHandler.class.getName());
|
||||
|
||||
private JsonDeserializer<UpdateResponse> updateDeserializer;
|
||||
private final URI baseURI;
|
||||
private final String tracTracUsername;
|
||||
private final String tracTracPassword;
|
||||
private final Serializable tracTracEventId;
|
||||
private final String username;
|
||||
private final String password;
|
||||
private final Serializable eventId;
|
||||
private final Serializable raceId;
|
||||
private final String action;
|
||||
private final boolean active;
|
||||
@@ -53,16 +60,16 @@ public class UpdateHandler {
|
||||
private final static String ResponseCodeForFailure = "FAILURE";
|
||||
private final static String UpdateUrlTemplate = "%s%s?eventid=%s&raceid=%s&username=%s&password=%s";
|
||||
|
||||
public UpdateHandler(URI updateURI, String action, String tracTracUsername, String tracTracPassword, Serializable tracTracEventId, Serializable raceId) {
|
||||
public UpdateHandler(URI updateURI, String action, String username, String password, Serializable eventId, Serializable raceId) {
|
||||
this.baseURI = updateURI;
|
||||
this.action = action;
|
||||
this.tracTracUsername = tracTracUsername;
|
||||
this.tracTracPassword = tracTracPassword;
|
||||
this.tracTracEventId = tracTracEventId;
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
this.eventId = eventId;
|
||||
this.raceId = raceId;
|
||||
this.updateDeserializer = new UpdateResponseDeserializer();
|
||||
if (updateURI != null && !updateURI.toString().equals("")) {
|
||||
logger.info("Activating TracTrac update handler "+this+" for race with ID "+raceId);
|
||||
logger.info("Activating update handler "+this+" for race with ID "+raceId);
|
||||
this.active = true;
|
||||
} else {
|
||||
this.active = false;
|
||||
@@ -87,10 +94,10 @@ public class UpdateHandler {
|
||||
*/
|
||||
protected List<BasicNameValuePair> getDefaultParametersAsNewList() {
|
||||
final List<BasicNameValuePair> result = new ArrayList<>();
|
||||
result.add(new BasicNameValuePair("eventid", tracTracEventId.toString()));
|
||||
result.add(new BasicNameValuePair("eventid", eventId.toString()));
|
||||
result.add(new BasicNameValuePair("raceid", this.raceId.toString()));
|
||||
result.add(new BasicNameValuePair("username", tracTracUsername));
|
||||
result.add(new BasicNameValuePair("password", tracTracPassword));
|
||||
result.add(new BasicNameValuePair("username", username));
|
||||
result.add(new BasicNameValuePair("password", password));
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -103,10 +110,10 @@ public class UpdateHandler {
|
||||
String url = String.format(UpdateUrlTemplate,
|
||||
serverUpdateURI.toString(),
|
||||
this.action,
|
||||
URLEncoder.encode(this.tracTracEventId.toString(), EncodingUtf8),
|
||||
URLEncoder.encode(this.eventId.toString(), EncodingUtf8),
|
||||
URLEncoder.encode(this.raceId.toString(), EncodingUtf8),
|
||||
URLEncoder.encode(tracTracUsername, EncodingUtf8),
|
||||
URLEncoder.encode(tracTracPassword, EncodingUtf8));
|
||||
URLEncoder.encode(username, EncodingUtf8),
|
||||
URLEncoder.encode(password, EncodingUtf8));
|
||||
|
||||
for (Entry<String, String> entry : additionalParameters.entrySet()) {
|
||||
url += String.format("&%s=%s",
|
||||
@@ -123,7 +130,7 @@ public class UpdateHandler {
|
||||
protected void checkAndLogUpdateResponse(HttpURLConnection connection) throws IOException, ParseException {
|
||||
connection.setConnectTimeout(10000/*milliseconds*/);
|
||||
connection.connect();
|
||||
BufferedReader reader = getResponseOnUpdateFromTracTrac(connection);
|
||||
BufferedReader reader = getResponseOnUpdateFromProvider(connection);
|
||||
parseAndLogResponse(reader);
|
||||
}
|
||||
|
||||
@@ -133,13 +140,13 @@ public class UpdateHandler {
|
||||
JSONObject responseObject = Helpers.toJSONObjectSafe(responseBody);
|
||||
UpdateResponse updateResponse = updateDeserializer.deserialize(responseObject);
|
||||
if (updateResponse.getStatus().equals(ResponseCodeForFailure)) {
|
||||
logger.severe("Failed to send data to TracTrac, got following response: " + updateResponse.getMessage());
|
||||
logger.severe("Failed to send data to provider, got following response: " + updateResponse.getMessage());
|
||||
} else {
|
||||
logger.info("Successfully sent data to TracTrac with response: " + updateResponse.getMessage());
|
||||
logger.info("Successfully sent data to provider with response: " + updateResponse.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private BufferedReader getResponseOnUpdateFromTracTrac(HttpURLConnection connection) throws IOException {
|
||||
private BufferedReader getResponseOnUpdateFromProvider(HttpURLConnection connection) throws IOException {
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
return reader;
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.domain.tractracadapter;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
public interface UpdateResponse {
|
||||
|
||||
String getStatus();
|
||||
|
||||
String getMessage();
|
||||
+1
-2
@@ -1,8 +1,7 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.tractracadapter.UpdateResponse;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
package com.sap.sailing.domain.tractracadapter.impl;
|
||||
|
||||
import com.sap.sailing.domain.tractracadapter.UpdateResponse;
|
||||
package com.sap.sailing.domain.tracking.impl;
|
||||
|
||||
public class UpdateResponseImpl implements UpdateResponse {
|
||||
|
||||
Reference in new issue
Block a user