|
|
|
@ -60,8 +60,11 @@ public class IcdXmlUtil {
|
|
|
|
|
|
|
|
|
|
JsonNode lnNode = mapLN.get(lnClass + lnInst);
|
|
|
|
|
String lnType = lnNode.get("lnType").asText();
|
|
|
|
|
String lnDesc = lnNode.get("desc").asText();
|
|
|
|
|
JsonNode nodeLNodeType = mapLNodeType.get(lnType);
|
|
|
|
|
String doType = findLNodeType_DO_Type(nodeLNodeType, doName);
|
|
|
|
|
JsonNode nodeDO = findLNodeType_DO_Node(nodeLNodeType, doName);
|
|
|
|
|
String doType = nodeDO.get("type").asText();
|
|
|
|
|
String doDesc = nodeDO.get("desc").asText();
|
|
|
|
|
JsonNode nodeDOType = mapDOType.get(doType);
|
|
|
|
|
String lastname = findLastname(nodeDOType, fc, mapDAType);
|
|
|
|
|
|
|
|
|
@ -73,12 +76,13 @@ public class IcdXmlUtil {
|
|
|
|
|
.iedName(iedName)
|
|
|
|
|
.ldeviceInst(ldeviceInst)
|
|
|
|
|
.lnClass(lnClass)
|
|
|
|
|
.lnDesc(lnDesc)
|
|
|
|
|
.build();
|
|
|
|
|
result.put(key, config);
|
|
|
|
|
}
|
|
|
|
|
String param = fc + "$" + doName + "$" + lastname;
|
|
|
|
|
config.addInst(lnInst);
|
|
|
|
|
config.addAtt(doName, param);
|
|
|
|
|
config.addAtt(doName, doDesc, param);
|
|
|
|
|
} else if ("ST".equals(fc)) {
|
|
|
|
|
// IcdConfigType config = result.get(key);
|
|
|
|
|
// if (config == null) {
|
|
|
|
@ -137,13 +141,13 @@ public class IcdXmlUtil {
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static String findLNodeType_DO_Type(JsonNode lnNode, String doName) {
|
|
|
|
|
String result = "";
|
|
|
|
|
private static JsonNode findLNodeType_DO_Node(JsonNode lnNode, String doName) {
|
|
|
|
|
JsonNode result = null;
|
|
|
|
|
List<JsonNode> doiList = findNodes(lnNode, "DO");
|
|
|
|
|
for (JsonNode doiNode : doiList) {
|
|
|
|
|
String doiName = doiNode.get("name").asText();
|
|
|
|
|
if (doiName.equals(doName)) {
|
|
|
|
|
result = doiNode.get("type").asText();
|
|
|
|
|
result = doiNode;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|