Browse Source

重构message后bug解决

pull/231/head
fansc 4 years ago
parent
commit
ef3fe47e18
  1. 5
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/IMessageHandler.java
  2. 22
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java
  3. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
  4. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java
  5. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java
  6. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MediaStatusNotifyMessageHandler.java
  7. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java
  8. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java
  9. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceControlQueryMessageHandler.java
  10. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java
  11. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceStatusQueryMessageHandler.java
  12. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/AlarmResponseMessageHandler.java
  13. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/BroadcastResponseMessageHandler.java
  14. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
  15. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/ConfigDownloadResponseMessageHandler.java
  16. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceConfigResponseMessageHandler.java
  17. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceControlResponseMessageHandler.java
  18. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceInfoResponseMessageHandler.java
  19. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceStatusResponseMessageHandler.java
  20. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
  21. 2
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java

5
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/IMessageHandler.java

@ -2,6 +2,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.ParentPlatform;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import javax.sip.RequestEvent;
@ -12,12 +13,12 @@ public interface IMessageHandler {
* @param evt
* @param device
*/
void handForDevice(RequestEvent evt, Device device, Element element);
void handForDevice(RequestEvent evt, Device device, Element element) throws DocumentException;
/**
* 处理来自平台的信息
* @param evt
* @param parentPlatform
*/
void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element element);
void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element element) throws DocumentException;
}

22
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java

@ -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.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
import org.dom4j.DocumentException;
import org.dom4j.Element;
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 static Map<String, IMessageHandler> messageHandlerMap = new ConcurrentHashMap<>();
public static Map<String, Map<String, IMessageHandler>> messageHandlerMap = new ConcurrentHashMap<>();
@Autowired
public MessageRequestProcessor messageRequestProcessor;
public void addHandler(String cmdType, IMessageHandler messageHandler) {
messageHandlerMap.put(cmdType, messageHandler);
public void addHandler(String messageType, String cmdType, IMessageHandler messageHandler) {
if (!messageHandlerMap.containsKey(cmdType)){
messageHandlerMap.put(cmdType, new ConcurrentHashMap<>());
}else{
Map<String, IMessageHandler> messageAllHandlerMap = messageHandlerMap.get(cmdType);
messageAllHandlerMap.put(messageType, messageHandler);
}
}
@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");
IMessageHandler messageHandler = messageHandlerMap.get(cmd);
IMessageHandler messageHandler = messageHandlerMap.get(cmd).get(name);
if (messageHandler != null) {
messageHandler.handForDevice(evt, device, element);
}
}
@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");
IMessageHandler messageHandler = messageHandlerMap.get(cmd);
IMessageHandler messageHandler = messageHandlerMap.get(cmd).get(name);
if (messageHandler != null) {
messageHandler.handForPlatform(evt, parentPlatform, element);
}

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java

@ -49,7 +49,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
notifyMessageHandler.addHandler("Notify", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/CatalogNotifyMessageHandler.java

@ -51,7 +51,7 @@ public class CatalogNotifyMessageHandler extends SIPRequestProcessorParent imple
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
notifyMessageHandler.addHandler("Notify", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java

@ -34,7 +34,7 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
notifyMessageHandler.addHandler("Notify", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MediaStatusNotifyMessageHandler.java

@ -40,7 +40,7 @@ public class MediaStatusNotifyMessageHandler extends SIPRequestProcessorParent i
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
notifyMessageHandler.addHandler("Notify", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java

@ -45,7 +45,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
@Override
public void afterPropertiesSet() throws Exception {
notifyMessageHandler.addHandler(cmdType, this);
notifyMessageHandler.addHandler("Notify", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/CatalogQueryMessageHandler.java

@ -51,7 +51,7 @@ public class CatalogQueryMessageHandler extends SIPRequestProcessorParent implem
@Override
public void afterPropertiesSet() throws Exception {
queryMessageHandler.addHandler(cmdType, this);
queryMessageHandler.addHandler("Query", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceControlQueryMessageHandler.java

@ -50,7 +50,7 @@ public class DeviceControlQueryMessageHandler extends SIPRequestProcessorParent
@Override
public void afterPropertiesSet() throws Exception {
queryMessageHandler.addHandler(cmdType, this);
queryMessageHandler.addHandler("Query", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java

@ -34,7 +34,7 @@ public class DeviceInfoQueryMessageHandler extends SIPRequestProcessorParent imp
@Override
public void afterPropertiesSet() throws Exception {
queryMessageHandler.addHandler(cmdType, this);
queryMessageHandler.addHandler("Query", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceStatusQueryMessageHandler.java

@ -46,7 +46,7 @@ public class DeviceStatusQueryMessageHandler extends SIPRequestProcessorParent i
@Override
public void afterPropertiesSet() throws Exception {
queryMessageHandler.addHandler(cmdType, this);
queryMessageHandler.addHandler("Query", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/AlarmResponseMessageHandler.java

@ -32,7 +32,7 @@ public class AlarmResponseMessageHandler extends SIPRequestProcessorParent imple
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response",cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/BroadcastResponseMessageHandler.java

@ -38,7 +38,7 @@ public class BroadcastResponseMessageHandler extends SIPRequestProcessorParent i
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java

@ -57,7 +57,7 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/ConfigDownloadResponseMessageHandler.java

@ -42,7 +42,7 @@ public class ConfigDownloadResponseMessageHandler extends SIPRequestProcessorPar
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceConfigResponseMessageHandler.java

@ -34,7 +34,7 @@ public class DeviceConfigResponseMessageHandler extends SIPRequestProcessorParen
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response",cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceControlResponseMessageHandler.java

@ -34,7 +34,7 @@ public class DeviceControlResponseMessageHandler extends SIPRequestProcessorPare
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceInfoResponseMessageHandler.java

@ -55,7 +55,7 @@ public class DeviceInfoResponseMessageHandler extends SIPRequestProcessorParent
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceStatusResponseMessageHandler.java

@ -45,7 +45,7 @@ public class DeviceStatusResponseMessageHandler extends SIPRequestProcessorParen
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java

@ -45,7 +45,7 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/RecordInfoResponseMessageHandler.java

@ -51,7 +51,7 @@ public class RecordInfoResponseMessageHandler extends SIPRequestProcessorParent
@Override
public void afterPropertiesSet() throws Exception {
responseMessageHandler.addHandler(cmdType, this);
responseMessageHandler.addHandler("Response", cmdType, this);
}
@Override

Loading…
Cancel
Save