Merge branch 'master' into android_apps

Conflicts:
	java/com.sap.sailing.gwt.ui/SailingGWT.launch
	java/com.sap.sailing.server.gateway.serialization/src/com/sap/sailing/server/gateway/deserialization/impl/FlatSmartphoneUuidAndGPSFixMovingJsonDeserializer.java
	mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java
This commit is contained in:
Peter Siegmund committed 2014-11-19 07:58:37 +01:00
commit fc5cabb080
133 files changed
+2035 -1267

No files matched your search

@@ -1,7 +1,10 @@
package com.sap.sailing.server.gateway.deserialization.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.sap.sailing.domain.common.impl.MeterPerSecondSpeedImpl;
@@ -12,35 +15,45 @@ import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
import com.sap.sse.common.Util.Pair;
/**
* Make serialization on the smartphone easier by providing a flat structure rather
* than nested JSON documents.
* Make serialization on the smartphone easier by providing a flat structure rather than nested JSON documents.
*
* @author Fredrik Teschke
*
*/
public class FlatSmartphoneUuidAndGPSFixMovingJsonDeserializer implements JsonDeserializer<Pair<UUID, GPSFixMoving>> {
public class FlatSmartphoneUuidAndGPSFixMovingJsonDeserializer implements
JsonDeserializer<Pair<UUID, List<GPSFixMoving>>> {
public static final String DEVICE_UUID = "deviceUuid";
public static final String LON_DEG = "lonDeg";
public static final String LAT_DEG = "latDeg";
public static final String TIME_MILLIS = "timeMillis";
public static final String SPEED_M_PER_S = "speedMperS";
public static final String BEARING_DEG = "bearingDeg";
public static final String FIXES = "fixes";
public static final String LON_DEG = "longitude";
public static final String LAT_DEG = "latitude";
public static final String TIME_MILLIS = "timestamp";
public static final String SPEED_M_PER_S = "speed";
public static final String BEARING_DEG = "course";
public static final String ACCURACY = "accuracy";
public static final String ALTITUDE = "altitude";
public static final String PROVIDER = "provider";
@Override
public Pair<UUID, GPSFixMoving> deserialize(JSONObject object) throws JsonDeserializationException {
public Pair<UUID, List<GPSFixMoving>> deserialize(JSONObject object) throws JsonDeserializationException {
UUID device = UUID.fromString(object.get(DEVICE_UUID).toString());
double lonDeg = Double.parseDouble(object.get(LON_DEG).toString());
double latDeg = Double.parseDouble(object.get(LAT_DEG).toString());
long timeMillis = Long.parseLong(object.get(TIME_MILLIS).toString());
double speedMperS = Double.parseDouble(object.get(SPEED_M_PER_S).toString());
double speedKnots = new MeterPerSecondSpeedImpl(speedMperS).getKnots();
double bearingDeg = Double.parseDouble(object.get(BEARING_DEG).toString());
double accuracy = Double.parseDouble(object.get(ACCURACY).toString());
double altitude = Double.parseDouble(object.get(ALTITUDE).toString());
String provider = object.get(PROVIDER).toString();
GPSFixMoving fix = GPSFixMovingImpl.create(lonDeg, latDeg, timeMillis, speedKnots, bearingDeg, accuracy, altitude, provider);
return new Pair<UUID, GPSFixMoving>(device, fix);
JSONArray jsonFixes = Helpers.getNestedArraySafe(object, FIXES);
List<GPSFixMoving> fixes = new ArrayList<GPSFixMoving>();
for (int i = 0; i < jsonFixes.size(); i++) {
JSONObject fixObject = Helpers.toJSONObjectSafe(jsonFixes.get(i));
double lonDeg = Double.parseDouble(fixObject.get(LON_DEG).toString());
double latDeg = Double.parseDouble(fixObject.get(LAT_DEG).toString());
long timeMillis = Long.parseLong(fixObject.get(TIME_MILLIS).toString());
double speedMperS = Double.parseDouble(fixObject.get(SPEED_M_PER_S).toString());
double speedKnots = new MeterPerSecondSpeedImpl(speedMperS).getKnots();
double bearingDeg = Double.parseDouble(fixObject.get(BEARING_DEG).toString());
double accuracy = Double.parseDouble(object.get(ACCURACY).toString());
double altitude = Double.parseDouble(object.get(ALTITUDE).toString());
String provider = object.get(PROVIDER).toString();
GPSFixMoving fix = GPSFixMovingImpl.create(lonDeg, latDeg, timeMillis, speedKnots, bearingDeg);
fixes.add(fix);
}
return new Pair<UUID, List<GPSFixMoving>>(device, fixes);
}
}