|  | @@ -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"));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 |