Bläddra i källkod

feat(adm-diagram): 避免NPE问题

liyang 3 år sedan
förälder
incheckning
bf724b58fa

+ 3 - 3
adm-business/adm-diagram/src/main/java/com/persagy/adm/diagram/core/impl/DataStrategyImpl.java

@@ -279,8 +279,8 @@ public class DataStrategyImpl implements DataStrategy {
         //获取所有id
         List<String> ids = objectNodes.stream().filter(node -> {
             String objectName = Optional.ofNullable(node.get(Constants.NAME)).map(JsonNode::asText).orElse(StrUtil.EMPTY);
-            return objectName.contains(name);
-        }).map(jsonNodes -> jsonNodes.get(Constants.ID).asText()).collect(Collectors.toList());
+            return StrUtil.contains(objectName, name);
+        }).map(jsonNodes -> jsonNodes.get(Constants.ID).asText()).filter(Objects::nonNull).collect(Collectors.toList());
 
         if (CollectionUtil.isNotEmpty(ids)) {
             //由系统实例名模糊匹配到的系统图列表
@@ -298,7 +298,7 @@ public class DataStrategyImpl implements DataStrategy {
         Map<String, ObjectNode> map = objectNodes.stream().collect(Collectors.toMap(node
                 -> node.get(Constants.ID).asText(), node -> node));
 
-        return result.stream().map(diagramEntity -> {
+        return result.stream().filter(Objects::nonNull).map(diagramEntity -> {
             Diagram diagram = modelAdapter.toDiagram(diagramEntity);
             ObjectNode node = map.get(diagramEntity.getSystemId());
             if (node != null) {