blob: e0ca449e8577b0343b44e51157596a6f3fa1cd2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
package com.benburwell.planes.data;
import com.benburwell.planes.sbs.SBSPacket;
import java.util.List;
import java.util.ArrayList;
/**
* Created by ben on 11/15/16.
*/
public class Aircraft implements Comparable<Aircraft> {
private final String hexIdent;
private Position currentPosition = new Position();
private List<Position> positionHistory = new ArrayList<>();
private String callsign = "";
private String squawk = "";
private long packetCount = 0;
private double track;
private double groundSpeed;
public Aircraft(String hexIdent) {
this.hexIdent = hexIdent;
}
public void handleUpdate(SBSPacket packet) {
this.packetCount++;
if (packet.getAltitude() != null) {
this.currentPosition.setAltitude(packet.getAltitude());
}
if (packet.getLatitude() != null) {
this.currentPosition.setLatitude(packet.getLatitude());
}
if (packet.getLongitude() != null) {
this.currentPosition.setLongitude(packet.getLongitude());
}
if (packet.getCallsign() != null && !packet.getCallsign().isEmpty()) {
this.callsign = packet.getCallsign();
}
if (packet.getSquawk() != null && !packet.getSquawk().isEmpty()) {
this.callsign = packet.getSquawk();
}
if (packet.getTrack() != null) {
this.track = packet.getTrack();
}
if (packet.getGroundSpeed() != null) {
this.groundSpeed = packet.getGroundSpeed();
}
}
public Position getCurrentPosition() {
return currentPosition;
}
public String getCallsign() {
return callsign;
}
public String getSquawk() {
return squawk;
}
public Long getPacketCount() {
return packetCount;
}
public String getHexIdent() {
return this.hexIdent;
}
public double getTrack() {
return this.track;
}
public double getGroundSpeed() {
return this.groundSpeed;
}
@Override
public int compareTo(Aircraft that) {
return this.getHexIdent().compareTo(that.getHexIdent());
}
}
|