ProtocolConverter.java
1.42 KB
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
package com.bsth.util;
import com.bsth.entity.AlarmData;
import com.bsth.entity.Data;
import com.bsth.entity.PeakData;
import com.bsth.entity.VehicleData;
import com.bsth.socket.protocol.*;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author Hill
*/
public class ProtocolConverter {
public static Map<String, Object> convert(Message message) {
Map<String, Object> result = new LinkedHashMap<>();
IMessageBody messageBody = message.getMessageBody();
if (messageBody instanceof Message02) {
for (IMessageBody02 messageBody02 : ((Message02) messageBody).getBody02List()) {
Data data = convert(messageBody02);
if (data != null) {
result.put(data.getType(), data);
}
}
if (result.size() > 0) {
result.put("vin", message.getVin());
}
}
return result;
}
public static Data convert(IMessageBody02 messageBody02) {
if (messageBody02 instanceof Message0201) {
return new VehicleData((Message0201) messageBody02);
}
if (messageBody02 instanceof Message0206) {
return new PeakData((Message0206) messageBody02);
}
if (messageBody02 instanceof Message0207) {
return new AlarmData((Message0207) messageBody02);
}
return null;
}
}