| 
						
						
							
								
							
						
						
					 | 
					@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.bean.Device; | 
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.bean.Device; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; | 
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent; | 
					 | 
					 | 
					import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import org.dom4j.DocumentException; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.dom4j.Element; | 
					 | 
					 | 
					import org.dom4j.Element; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -14,28 +15,35 @@ import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.getText; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					public abstract class MessageHandlerAbstract extends SIPRequestProcessorParent implements IMessageHandler{ | 
					 | 
					 | 
					public abstract class MessageHandlerAbstract extends SIPRequestProcessorParent implements IMessageHandler{ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public static Map<String, IMessageHandler> messageHandlerMap = new ConcurrentHashMap<>(); | 
					 | 
					 | 
					    public static Map<String, Map<String, IMessageHandler>> messageHandlerMap = new ConcurrentHashMap<>(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Autowired | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    public MessageRequestProcessor messageRequestProcessor; | 
					 | 
					 | 
					    public MessageRequestProcessor messageRequestProcessor; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public void addHandler(String cmdType, IMessageHandler messageHandler) { | 
					 | 
					 | 
					    public void addHandler(String messageType, String cmdType, IMessageHandler messageHandler) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        messageHandlerMap.put(cmdType, messageHandler); | 
					 | 
					 | 
					        if (!messageHandlerMap.containsKey(cmdType)){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            messageHandlerMap.put(cmdType, new ConcurrentHashMap<>()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        }else{ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            Map<String, IMessageHandler> messageAllHandlerMap = messageHandlerMap.get(cmdType); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            messageAllHandlerMap.put(messageType, messageHandler); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public void handForDevice(RequestEvent evt, Device device, Element element) { | 
					 | 
					 | 
					    public void handForDevice(RequestEvent evt, Device device, Element element) throws DocumentException { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        String name = getRootElement(evt).getName(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        String cmd = getText(element, "CmdType"); | 
					 | 
					 | 
					        String cmd = getText(element, "CmdType"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        IMessageHandler messageHandler = messageHandlerMap.get(cmd); | 
					 | 
					 | 
					        IMessageHandler messageHandler = messageHandlerMap.get(cmd).get(name); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        if (messageHandler != null) { | 
					 | 
					 | 
					        if (messageHandler != null) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            messageHandler.handForDevice(evt, device, element); | 
					 | 
					 | 
					            messageHandler.handForDevice(evt, device, element); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element element) { | 
					 | 
					 | 
					    public void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element element) throws DocumentException { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        String name = getRootElement(evt).getName(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        String cmd = getText(element, "CmdType"); | 
					 | 
					 | 
					        String cmd = getText(element, "CmdType"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        IMessageHandler messageHandler = messageHandlerMap.get(cmd); | 
					 | 
					 | 
					        IMessageHandler messageHandler = messageHandlerMap.get(cmd).get(name); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        if (messageHandler != null) { | 
					 | 
					 | 
					        if (messageHandler != null) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            messageHandler.handForPlatform(evt, parentPlatform, element); | 
					 | 
					 | 
					            messageHandler.handForPlatform(evt, parentPlatform, element); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |