From 4dcc7df555e0027adcea89aa2590eb56605398c2 Mon Sep 17 00:00:00 2001
From: xiaoxie <hotcoffie@163.com>
Date: 星期四, 21 四月 2022 10:03:21 +0800
Subject: [PATCH] 修复前端一处v-for没有key的警告
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 148 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 125 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index c82ba60..09e7a04 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -1,15 +1,8 @@
package com.genersoft.iot.vmp.gb28181.utils;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
@@ -17,11 +10,18 @@
import org.dom4j.io.SAXReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.util.StringUtils;
+
+import javax.sip.RequestEvent;
+import javax.sip.message.Request;
+import java.io.ByteArrayInputStream;
+import java.io.StringReader;
+import java.util.*;
/**
* 鍩轰簬dom4j鐨勫伐鍏峰寘
- *
- *
+ *
+ *
*/
public class XmlUtil {
/**
@@ -31,9 +31,9 @@
/**
* 瑙f瀽XML涓篋ocument瀵硅薄
- *
+ *
* @param xml 琚В鏋愮殑XMl
- *
+ *
* @return Document
*/
public static Element parseXml(String xml) {
@@ -51,7 +51,7 @@
/**
* 鑾峰彇element瀵硅薄鐨則ext鐨勫��
- *
+ *
* @param em 鑺傜偣鐨勫璞�
* @param tag 鑺傜偣鐨則ag
* @return 鑺傜偣
@@ -62,12 +62,12 @@
}
Element e = em.element(tag);
//
- return null == e ? null : e.getText();
+ return null == e ? null : e.getText().trim();
}
/**
* 閫掑綊瑙f瀽xml鑺傜偣锛岄�傜敤浜� 澶氳妭鐐规暟鎹�
- *
+ *
* @param node node
* @param nodeName nodeName
* @return List<Map<String, Object>>
@@ -106,7 +106,7 @@
/**
* xml杞琷son
- *
+ *
* @param element
* @param json
*/
@@ -114,12 +114,12 @@
// 濡傛灉鏄睘鎬�
for (Object o : element.attributes()) {
Attribute attr = (Attribute) o;
- if (!isEmpty(attr.getValue())) {
+ if (!StringUtils.isEmpty(attr.getValue())) {
json.put("@" + attr.getName(), attr.getValue());
}
}
List<Element> chdEl = element.elements();
- if (chdEl.isEmpty() && !isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓��
+ if (chdEl.isEmpty() && !StringUtils.isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓��
json.put(element.getName(), element.getText());
}
@@ -150,7 +150,7 @@
} else { // 瀛愬厓绱犳病鏈夊瓙鍏冪礌
for (Object o : element.attributes()) {
Attribute attr = (Attribute) o;
- if (!isEmpty(attr.getValue())) {
+ if (!StringUtils.isEmpty(attr.getValue())) {
json.put("@" + attr.getName(), attr.getValue());
}
}
@@ -160,11 +160,113 @@
}
}
}
+ public static Element getRootElement(RequestEvent evt) throws DocumentException {
- public static boolean isEmpty(String str) {
- if (str == null || str.trim().isEmpty() || "null".equals(str)) {
- return true;
+ return getRootElement(evt, "gb2312");
+ }
+
+ public static Element getRootElement(RequestEvent evt, String charset) throws DocumentException {
+ Request request = evt.getRequest();
+ return getRootElement(request.getRawContent(), charset);
+ }
+
+ public static Element getRootElement(byte[] content, String charset) throws DocumentException {
+ if (charset == null) {
+ charset = "gb2312";
}
- return false;
+ SAXReader reader = new SAXReader();
+ reader.setEncoding(charset);
+ Document xml = reader.read(new ByteArrayInputStream(content));
+ return xml.getRootElement();
+ }
+
+ public static DeviceChannel channelContentHander(Element itemDevice){
+ Element channdelNameElement = itemDevice.element("Name");
+ String channelName = channdelNameElement != null ? channdelNameElement.getTextTrim().toString() : "";
+ Element statusElement = itemDevice.element("Status");
+ String status = statusElement != null ? statusElement.getTextTrim().toString() : "ON";
+ DeviceChannel deviceChannel = new DeviceChannel();
+ deviceChannel.setName(channelName);
+ Element channdelIdElement = itemDevice.element("DeviceID");
+ String channelId = channdelIdElement != null ? channdelIdElement.getTextTrim().toString() : "";
+ deviceChannel.setChannelId(channelId);
+ // ONLINE OFFLINE HIKVISION DS-7716N-E4 NVR鐨勫吋瀹规�у鐞�
+ if (status.equals("ON") || status.equals("On") || status.equals("ONLINE") || status.equals("OK")) {
+ deviceChannel.setStatus(1);
+ }
+ if (status.equals("OFF") || status.equals("Off") || status.equals("OFFLINE")) {
+ deviceChannel.setStatus(0);
+ }
+
+ deviceChannel.setManufacture(XmlUtil.getText(itemDevice, "Manufacturer"));
+ deviceChannel.setModel(XmlUtil.getText(itemDevice, "Model"));
+ deviceChannel.setOwner(XmlUtil.getText(itemDevice, "Owner"));
+ 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") == "") {
+ 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") == "") {
+ deviceChannel.setSafetyWay(0);
+ } else {
+ deviceChannel.setSafetyWay(Integer.parseInt(XmlUtil.getText(itemDevice, "SafetyWay")));
+ }
+ 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") == "") {
+ deviceChannel.setCertifiable(0);
+ } else {
+ deviceChannel.setCertifiable(Integer.parseInt(XmlUtil.getText(itemDevice, "Certifiable")));
+ }
+ if (XmlUtil.getText(itemDevice, "ErrCode") == null
+ || XmlUtil.getText(itemDevice, "ErrCode") == "") {
+ deviceChannel.setErrCode(0);
+ } else {
+ deviceChannel.setErrCode(Integer.parseInt(XmlUtil.getText(itemDevice, "ErrCode")));
+ }
+ 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") == "") {
+ deviceChannel.setPort(0);
+ } else {
+ deviceChannel.setPort(Integer.parseInt(XmlUtil.getText(itemDevice, "Port")));
+ }
+ deviceChannel.setPassword(XmlUtil.getText(itemDevice, "Password"));
+ if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Longitude"))) {
+ deviceChannel.setLongitude(Double.parseDouble(XmlUtil.getText(itemDevice, "Longitude")));
+ } else {
+ deviceChannel.setLongitude(0.00);
+ }
+ if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Latitude"))) {
+ deviceChannel.setLatitude(Double.parseDouble(XmlUtil.getText(itemDevice, "Latitude")));
+ } else {
+ deviceChannel.setLatitude(0.00);
+ }
+ if (XmlUtil.getText(itemDevice, "PTZType") == null || "".equals(XmlUtil.getText(itemDevice, "PTZType"))) {
+ //鍏煎INFO涓殑淇℃伅
+ Element info = itemDevice.element("Info");
+ if(XmlUtil.getText(info, "PTZType") == null || "".equals(XmlUtil.getText(info, "PTZType"))){
+ deviceChannel.setPTZType(0);
+ }else{
+ deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(info, "PTZType")));
+ }
+ } else {
+ deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType")));
+ }
+ deviceChannel.setHasAudio(true); // 榛樿鍚湁闊抽锛屾挱鏀炬椂鍐嶆鏌ユ槸鍚︽湁闊抽鍙婃槸鍚AC
+ return deviceChannel;
}
}
--
Gitblit v1.8.0