|
@@ -10,6 +10,8 @@ import OpenDDS.DCPS.*;
|
|
|
import OpenDDS.DCPS.transport.*;
|
|
|
import com.example.backend.model.MessageStatus;
|
|
|
import com.example.backend.model.Position;
|
|
|
+import com.example.backend.model.ecmStatus;
|
|
|
+import com.example.backend.model.sdrStatus;
|
|
|
import org.omg.CORBA.StringSeqHolder;
|
|
|
import Messenger.*;
|
|
|
|
|
@@ -28,6 +30,9 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
public int isRecall = 0;
|
|
|
public int isTeam = 0;
|
|
|
public int versionID = 1;
|
|
|
+ public int isCoopParamsInit = 0;
|
|
|
+ public String realJamID = "";
|
|
|
+ public String realRadarID = "";
|
|
|
public String text = "";
|
|
|
private static final int N_EXPECTED = 40;
|
|
|
private ArrayList<Boolean> counts = new ArrayList<Boolean>(N_EXPECTED);
|
|
@@ -36,6 +41,7 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
public Map<String, List<String>> coopTeamMap = new ConcurrentHashMap<>();
|
|
|
public final Map<String, List<com.example.backend.model.Message>> messageList = new ConcurrentHashMap<>();
|
|
|
public Map<String, MessageStatus> messageStatusMap = new ConcurrentHashMap<>();
|
|
|
+ public Map<String, sdrStatus> sdrStatueMap = new ConcurrentHashMap<>();
|
|
|
|
|
|
private void initialize_counts() {
|
|
|
if (counts.size() > 0) {
|
|
@@ -118,6 +124,7 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
p.coopID = s[1];
|
|
|
p.jaming = s[2];
|
|
|
p.isReal = s[3];
|
|
|
+ if(s[3].equals("2"))realJamID = s[0];
|
|
|
p.x = Double.parseDouble(s[4]);
|
|
|
p.y = Double.parseDouble(s[5]);
|
|
|
p.z = Double.parseDouble(s[6]);
|
|
@@ -129,6 +136,7 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
p.coopID = "未知";
|
|
|
p.jaming = "未知";
|
|
|
p.isReal = "未知";
|
|
|
+ if(s[3].equals("2"))realRadarID = s[0];
|
|
|
p.x = Double.parseDouble(s[4]);
|
|
|
p.y = Double.parseDouble(s[5]);
|
|
|
p.z = Double.parseDouble(s[6]);
|
|
@@ -221,6 +229,7 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
}
|
|
|
if(mh.value.subject.equals("10")){
|
|
|
//收到分组状态参数初始化
|
|
|
+ isCoopParamsInit = 1;
|
|
|
String message = mh.value.text;
|
|
|
String[] messageList = message.split("\n");
|
|
|
String[] countList = messageList[0].split(" ");
|
|
@@ -234,6 +243,18 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
messageStatusMap.put(platformID,m);
|
|
|
}
|
|
|
}
|
|
|
+ if(mh.value.subject.equals("120")){
|
|
|
+ //收到sdr状态消息
|
|
|
+ String message = mh.value.text;
|
|
|
+ String[] messageList = message.split(" ");
|
|
|
+ sdrStatus s = new sdrStatus();
|
|
|
+ s.platformStatus = messageList[0];
|
|
|
+ s.serviceStatus = messageList[1];
|
|
|
+ s.jamingPolicy = messageList[2];
|
|
|
+ s.investingPolicy = messageList[3];
|
|
|
+ sdrStatueMap.put(realJamID,s);
|
|
|
+ sdrStatueMap.put(realRadarID,s);
|
|
|
+ }
|
|
|
if (invalid_count == true) {
|
|
|
System.out.println("ERROR: Invalid message.count (" + mh.value.count + ")");
|
|
|
}
|
|
@@ -304,6 +325,10 @@ public class DataReaderListenerImpl extends DDS._DataReaderListenerLocalBase {
|
|
|
this.isInit = 0;
|
|
|
this.isRecall = 0;
|
|
|
this.isTeam = 0;
|
|
|
+ this.isCoopParamsInit = 0;
|
|
|
+ this.sdrStatueMap.clear();
|
|
|
+ realJamID = "";
|
|
|
+ realRadarID = "";
|
|
|
}
|
|
|
|
|
|
public void report_validity() {
|