From 688c702af9a753fc15801518f54715f2d08ca624 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 31 Mar 2025 16:44:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0icd=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xydl/cac/util/IcdXmlUtil.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xydl/cac/util/IcdXmlUtil.java b/src/main/java/com/xydl/cac/util/IcdXmlUtil.java index 5da9067..b9d0f1a 100644 --- a/src/main/java/com/xydl/cac/util/IcdXmlUtil.java +++ b/src/main/java/com/xydl/cac/util/IcdXmlUtil.java @@ -31,7 +31,7 @@ public class IcdXmlUtil { return icdFile; } - private static void processTypeRoot(JsonNode root, IcdFile icdFile) { + private static void processTypeRoot(JsonNode root, IcdFile icdFile) throws BusinessException { LinkedHashMap configMap = new LinkedHashMap<>(); Map mapLNodeType = buildLNodeTypeMap(root); @@ -77,7 +77,7 @@ public class IcdXmlUtil { } private static void processIEDNode(LinkedHashMap configMap, JsonNode iedNode, - Map mapLNodeType, Map mapDOType, Map mapDAType) { + Map mapLNodeType, Map mapDOType, Map mapDAType) throws BusinessException { String iedName = iedNode.get("name").asText(); List devList = findNodes(iedNode, "LDevice"); @@ -88,7 +88,7 @@ public class IcdXmlUtil { } private static void processTypeDeviceNode(LinkedHashMap configMap, String iedName, JsonNode deviceNode, - Map mapLNodeType, Map mapDOType, Map mapDAType) { + Map mapLNodeType, Map mapDOType, Map mapDAType) throws BusinessException { String ldeviceInst = deviceNode.get("inst").asText(); Map mapLN = buildLNMap(deviceNode); @@ -115,6 +115,9 @@ public class IcdXmlUtil { } JsonNode nodeLNodeType = mapLNodeType.get(lnType); JsonNode nodeDO = findLNodeType_DO_Node(nodeLNodeType, doName); + if (nodeDO == null) { + throw new BusinessException(lnType + "该LNodeType节点下缺少名字为" + doName + "的DO节点"); + } String doType = nodeDO.get("type").asText(); JsonNode nodeDoDesc = nodeDO.get("desc"); String doDesc = null;