|  | @@ -50,26 +50,20 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private final static Logger logger = LoggerFactory.getLogger(MessageRequestProcessor.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	private SIPCommander cmder;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  	private IVideoManagerStorager storager;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private IRedisCatchStorage redisCatchStorage;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private EventPublisher publisher;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	private RedisUtil redis;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	private DeferredResultHolder deferredResultHolder;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  	private DeviceOffLineDetector offLineDetector;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private static final String NOTIFY_CATALOG = "Catalog";
 | 
	
		
			
				|  |  |  	private static final String NOTIFY_ALARM = "Alarm";
 | 
	
		
			
				|  |  |  	private static final String NOTIFY_MOBILE_POSITION = "MobilePosition";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @Override
 | 
	
		
			
				|  |  | -    public void process(RequestEvent evt) {
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  | +	public void process(RequestEvent evt) {
 | 
	
		
			
				|  |  |  		try {
 | 
	
		
			
				|  |  |  			Element rootElement = getRootElement(evt);
 | 
	
		
			
				|  |  |  			String cmd = XmlUtil.getText(rootElement, "CmdType");
 | 
	
	
		
			
				|  | @@ -87,18 +81,19 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  				logger.info("接收到消息:" + cmd);
 | 
	
		
			
				|  |  |  				response200Ok(evt);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -		} catch (DocumentException | SipException |InvalidArgumentException | ParseException e) {
 | 
	
		
			
				|  |  | +		} catch (DocumentException | SipException | InvalidArgumentException | ParseException e) {
 | 
	
		
			
				|  |  |  			e.printStackTrace();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * 处理MobilePosition移动位置Notify
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  |  	 * @param evt
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	private void processNotifyMobilePosition(RequestEvent evt) {
 | 
	
		
			
				|  |  |  		try {
 | 
	
		
			
				|  |  | -			//回复 200 OK
 | 
	
		
			
				|  |  | +			// 回复 200 OK
 | 
	
		
			
				|  |  |  			Element rootElement = getRootElement(evt);
 | 
	
		
			
				|  |  |  			MobilePosition mobilePosition = new MobilePosition();
 | 
	
		
			
				|  |  |  			Element deviceIdElement = rootElement.element("DeviceID");
 | 
	
	
		
			
				|  | @@ -112,8 +107,8 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  			mobilePosition.setDeviceId(XmlUtil.getText(rootElement, "DeviceID"));
 | 
	
		
			
				|  |  |  			mobilePosition.setTime(XmlUtil.getText(rootElement, "Time"));
 | 
	
		
			
				|  |  |  			mobilePosition.setLongitude(Double.parseDouble(XmlUtil.getText(rootElement, "Longitude")));
 | 
	
		
			
				|  |  | -            mobilePosition.setLatitude(Double.parseDouble(XmlUtil.getText(rootElement, "Latitude")));
 | 
	
		
			
				|  |  | -            if (NumericUtil.isDouble(XmlUtil.getText(rootElement, "Speed"))) {
 | 
	
		
			
				|  |  | +			mobilePosition.setLatitude(Double.parseDouble(XmlUtil.getText(rootElement, "Latitude")));
 | 
	
		
			
				|  |  | +			if (NumericUtil.isDouble(XmlUtil.getText(rootElement, "Speed"))) {
 | 
	
		
			
				|  |  |  				mobilePosition.setSpeed(Double.parseDouble(XmlUtil.getText(rootElement, "Speed")));
 | 
	
		
			
				|  |  |  			} else {
 | 
	
		
			
				|  |  |  				mobilePosition.setSpeed(0.0);
 | 
	
	
		
			
				|  | @@ -147,6 +142,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/***
 | 
	
		
			
				|  |  |  	 * 处理alarm设备报警Notify
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  |  	 * @param evt
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	private void processNotifyAlarm(RequestEvent evt) {
 | 
	
	
		
			
				|  | @@ -180,7 +176,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  				deviceAlarm.setLatitude(0.00);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -			if ( deviceAlarm.getAlarmMethod().equals("4")) {
 | 
	
		
			
				|  |  | +			if (deviceAlarm.getAlarmMethod().equals("4")) {
 | 
	
		
			
				|  |  |  				MobilePosition mobilePosition = new MobilePosition();
 | 
	
		
			
				|  |  |  				mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
 | 
	
		
			
				|  |  |  				mobilePosition.setTime(deviceAlarm.getAlarmTime());
 | 
	
	
		
			
				|  | @@ -245,7 +241,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  					DeviceChannel deviceChannel = new DeviceChannel();
 | 
	
		
			
				|  |  |  					deviceChannel.setName(channelName);
 | 
	
		
			
				|  |  |  					deviceChannel.setChannelId(channelDeviceId);
 | 
	
		
			
				|  |  | -					// ONLINE OFFLINE  HIKVISION DS-7716N-E4 NVR的兼容性处理
 | 
	
		
			
				|  |  | +					// ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR的兼容性处理
 | 
	
		
			
				|  |  |  					if (status.equals("ON") || status.equals("On") || status.equals("ONLINE")) {
 | 
	
		
			
				|  |  |  						deviceChannel.setStatus(1);
 | 
	
		
			
				|  |  |  					}
 | 
	
	
		
			
				|  | @@ -259,29 +255,34 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  					deviceChannel.setCivilCode(XmlUtil.getText(itemDevice, "CivilCode"));
 | 
	
		
			
				|  |  |  					deviceChannel.setBlock(XmlUtil.getText(itemDevice, "Block"));
 | 
	
		
			
				|  |  |  					deviceChannel.setAddress(XmlUtil.getText(itemDevice, "Address"));
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "Parental") == null || XmlUtil.getText(itemDevice, "Parental") == "") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "Parental") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "Parental") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setParental(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setParental(Integer.parseInt(XmlUtil.getText(itemDevice, "Parental")));
 | 
	
		
			
				|  |  | -					} 
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  |  					deviceChannel.setParentId(XmlUtil.getText(itemDevice, "ParentID"));
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "SafetyWay") == null || XmlUtil.getText(itemDevice, "SafetyWay")== "") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "SafetyWay") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "SafetyWay") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setSafetyWay(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setSafetyWay(Integer.parseInt(XmlUtil.getText(itemDevice, "SafetyWay")));
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "RegisterWay") == null || XmlUtil.getText(itemDevice, "RegisterWay") =="") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "RegisterWay") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "RegisterWay") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setRegisterWay(1);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setRegisterWay(Integer.parseInt(XmlUtil.getText(itemDevice, "RegisterWay")));
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  					deviceChannel.setCertNum(XmlUtil.getText(itemDevice, "CertNum"));
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "Certifiable") == null || XmlUtil.getText(itemDevice, "Certifiable") == "") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "Certifiable") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "Certifiable") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setCertifiable(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setCertifiable(Integer.parseInt(XmlUtil.getText(itemDevice, "Certifiable")));
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "ErrCode") == null || XmlUtil.getText(itemDevice, "ErrCode") == "") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "ErrCode") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "ErrCode") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setErrCode(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setErrCode(Integer.parseInt(XmlUtil.getText(itemDevice, "ErrCode")));
 | 
	
	
		
			
				|  | @@ -289,7 +290,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  					deviceChannel.setEndTime(XmlUtil.getText(itemDevice, "EndTime"));
 | 
	
		
			
				|  |  |  					deviceChannel.setSecrecy(XmlUtil.getText(itemDevice, "Secrecy"));
 | 
	
		
			
				|  |  |  					deviceChannel.setIpAddress(XmlUtil.getText(itemDevice, "IPAddress"));
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "Port") == null || XmlUtil.getText(itemDevice, "Port") =="") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "Port") == null || XmlUtil.getText(itemDevice, "Port") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setPort(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setPort(Integer.parseInt(XmlUtil.getText(itemDevice, "Port")));
 | 
	
	
		
			
				|  | @@ -305,7 +306,8 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setLatitude(0.00);
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | -					if (XmlUtil.getText(itemDevice, "PTZType") == null || XmlUtil.getText(itemDevice, "PTZType") == "") {
 | 
	
		
			
				|  |  | +					if (XmlUtil.getText(itemDevice, "PTZType") == null
 | 
	
		
			
				|  |  | +							|| XmlUtil.getText(itemDevice, "PTZType") == "") {
 | 
	
		
			
				|  |  |  						deviceChannel.setPTZType(0);
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  |  						deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType")));
 | 
	
	
		
			
				|  | @@ -330,9 +332,9 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /***
 | 
	
		
			
				|  |  | +	/***
 | 
	
		
			
				|  |  |  	 * 回复200 OK
 | 
	
		
			
				|  |  | +	 * 
 | 
	
		
			
				|  |  |  	 * @param evt
 | 
	
		
			
				|  |  |  	 * @throws SipException
 | 
	
		
			
				|  |  |  	 * @throws InvalidArgumentException
 | 
	
	
		
			
				|  | @@ -343,7 +345,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  		getServerTransaction(evt).sendResponse(response);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private Element getRootElement(RequestEvent evt) throws DocumentException {
 | 
	
		
			
				|  |  | +	private Element getRootElement(RequestEvent evt) throws DocumentException {
 | 
	
		
			
				|  |  |  		Request request = evt.getRequest();
 | 
	
		
			
				|  |  |  		SAXReader reader = new SAXReader();
 | 
	
		
			
				|  |  |  		reader.setEncoding("gbk");
 | 
	
	
		
			
				|  | @@ -352,7 +354,6 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setCmder(SIPCommander cmder) {
 | 
	
		
			
				|  |  | -		this.cmder = cmder;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setStorager(IVideoManagerStorager storager) {
 | 
	
	
		
			
				|  | @@ -364,11 +365,9 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setRedis(RedisUtil redis) {
 | 
	
		
			
				|  |  | -		this.redis = redis;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setDeferredResultHolder(DeferredResultHolder deferredResultHolder) {
 | 
	
		
			
				|  |  | -		this.deferredResultHolder = deferredResultHolder;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setOffLineDetector(DeviceOffLineDetector offLineDetector) {
 |