|
|
@@ -32,7 +32,7 @@ import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.*;
|
|
|
@Component
|
|
|
public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
|
|
|
|
|
|
- private Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class);
|
|
|
+ private final Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class);
|
|
|
private final String cmdType = "Alarm";
|
|
|
|
|
|
@Autowired
|
|
|
@@ -85,24 +85,27 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
|
|
|
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));
|
|
|
deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod"));
|
|
|
deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime"));
|
|
|
- if (getText(rootElement, "AlarmDescription") == null) {
|
|
|
+ String alarmDescription = getText(rootElement, "AlarmDescription");
|
|
|
+ if (alarmDescription == null) {
|
|
|
deviceAlarm.setAlarmDescription("");
|
|
|
} else {
|
|
|
- deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription"));
|
|
|
+ deviceAlarm.setAlarmDescription(alarmDescription);
|
|
|
}
|
|
|
- if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) {
|
|
|
- deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude")));
|
|
|
+ String longitude = getText(rootElement, "Longitude");
|
|
|
+ if (longitude != null && NumericUtil.isDouble(longitude)) {
|
|
|
+ deviceAlarm.setLongitude(Double.parseDouble(longitude));
|
|
|
} else {
|
|
|
deviceAlarm.setLongitude(0.00);
|
|
|
}
|
|
|
- if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) {
|
|
|
- deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude")));
|
|
|
+ String latitude = getText(rootElement, "Latitude");
|
|
|
+ if (latitude != null && NumericUtil.isDouble(latitude)) {
|
|
|
+ deviceAlarm.setLatitude(Double.parseDouble(latitude));
|
|
|
} else {
|
|
|
deviceAlarm.setLatitude(0.00);
|
|
|
}
|
|
|
|
|
|
if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
|
|
|
- if ( deviceAlarm.getAlarmMethod().equals("4")) {
|
|
|
+ if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) {
|
|
|
MobilePosition mobilePosition = new MobilePosition();
|
|
|
mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
|
|
|
mobilePosition.setTime(deviceAlarm.getAlarmTime());
|
|
|
@@ -122,7 +125,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
|
|
|
}
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
|
|
|
- if (deviceAlarm.getAlarmMethod().equals("5")) {
|
|
|
+ if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
|
|
|
deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
|
|
|
}
|
|
|
}
|
|
|
@@ -173,25 +176,28 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
|
|
|
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));
|
|
|
deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod"));
|
|
|
deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime"));
|
|
|
- if (getText(rootElement, "AlarmDescription") == null) {
|
|
|
+ String alarmDescription = getText(rootElement, "AlarmDescription");
|
|
|
+ if (alarmDescription == null) {
|
|
|
deviceAlarm.setAlarmDescription("");
|
|
|
} else {
|
|
|
- deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription"));
|
|
|
+ deviceAlarm.setAlarmDescription(alarmDescription);
|
|
|
}
|
|
|
- if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) {
|
|
|
- deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude")));
|
|
|
+ String longitude = getText(rootElement, "Longitude");
|
|
|
+ if (longitude != null && NumericUtil.isDouble(longitude)) {
|
|
|
+ deviceAlarm.setLongitude(Double.parseDouble(longitude));
|
|
|
} else {
|
|
|
deviceAlarm.setLongitude(0.00);
|
|
|
}
|
|
|
- if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) {
|
|
|
- deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude")));
|
|
|
+ String latitude = getText(rootElement, "Latitude");
|
|
|
+ if (latitude != null && NumericUtil.isDouble(latitude)) {
|
|
|
+ deviceAlarm.setLatitude(Double.parseDouble(latitude));
|
|
|
} else {
|
|
|
deviceAlarm.setLatitude(0.00);
|
|
|
}
|
|
|
|
|
|
if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
|
|
|
|
|
|
- if (deviceAlarm.getAlarmMethod().equals("5")) {
|
|
|
+ if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) {
|
|
|
deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType"));
|
|
|
}
|
|
|
}
|