Moved IgtimiWindReceiver to shared package and fixed NPE when there is no heading

This commit is contained in:
Simon Pamies
2014-01-31 15:37:38 +01:00
parent 38cb52b589
commit a3779c9878
5 changed files with 12 additions and 4 deletions
@@ -31,4 +31,5 @@ Import-Package: javax.ws.rs;version="1.1.1",
Web-ContextPath: /igtimi
Bundle-Activator: com.sap.sailing.domain.igtimiadapter.impl.Activator
Export-Package: com.sap.sailing.domain.igtimiadapter,
com.sap.sailing.domain.igtimiadapter.datatypes
com.sap.sailing.domain.igtimiadapter.datatypes,
com.sap.sailing.domain.igtimiadapter.shared
@@ -34,6 +34,7 @@ import com.sap.sailing.domain.igtimiadapter.Session;
import com.sap.sailing.domain.igtimiadapter.User;
import com.sap.sailing.domain.igtimiadapter.datatypes.Fix;
import com.sap.sailing.domain.igtimiadapter.datatypes.Type;
import com.sap.sailing.domain.igtimiadapter.shared.IgtimiWindReceiver;
import com.sap.sailing.domain.igtimiadapter.websocket.WebSocketConnectionManager;
import com.sap.sailing.domain.tracking.DynamicTrack;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
@@ -16,6 +16,7 @@ import com.sap.sailing.domain.igtimiadapter.Account;
import com.sap.sailing.domain.igtimiadapter.IgtimiConnection;
import com.sap.sailing.domain.igtimiadapter.IgtimiConnectionFactory;
import com.sap.sailing.domain.igtimiadapter.LiveDataConnection;
import com.sap.sailing.domain.igtimiadapter.shared.IgtimiWindReceiver;
import com.sap.sailing.domain.tracking.AbstractWindTracker;
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
import com.sap.sailing.domain.tracking.WindTracker;
@@ -1,4 +1,4 @@
package com.sap.sailing.domain.igtimiadapter.impl;
package com.sap.sailing.domain.igtimiadapter.shared;
import java.io.IOException;
import java.text.ParseException;
@@ -358,8 +358,12 @@ public class IgtimiWindReceiver implements BulkFixReceiver {
trueHeading = hdg;
} else {
Bearing hdgm = getHDGM(timePoint, hdgmPair);
Declination declination = declinationService.getDeclination(timePoint, position, /* timeoutForOnlineFetchInMilliseconds 5s */ 5000);
trueHeading = hdgm.add(declination.getBearingCorrectedTo(timePoint));
if (hdgm != null) {
Declination declination = declinationService.getDeclination(timePoint, position, /* timeoutForOnlineFetchInMilliseconds 5s */ 5000);
trueHeading = hdgm.add(declination.getBearingCorrectedTo(timePoint));
} else {
trueHeading = null;
}
}
return trueHeading;
}