protected void fillInstances(Map<String, DiscoveryTreeNode> operationNodes, Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap) { for (Entry<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> entry : versionMap.entrySet()) { for (DiscoveryTreeNode node : operationNodes.values()) { // versionRule is startFrom logic, so isAccept is enough VersionRule versionRule = node.attribute(VERSION_RULE); if (versionRule.isAccept(entry.getKey().getVersion())) { node.mapData().putAll(entry.getValue()); } } } }
protected Map<String, DiscoveryTreeNode> initOperationNodes(DiscoveryTreeNode parent, Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap) { Map<String, DiscoveryTreeNode> tmpChildren = new ConcurrentHashMapEx<>(); versionMap .keySet() .stream() .sorted(Comparator.comparing(MicroserviceVersion::getVersion)) .forEach(meta -> { for (OperationMeta operationMeta : meta.getMicroserviceMeta().getOperations()) { tmpChildren.computeIfAbsent(operationMeta.getMicroserviceQualifiedName(), qualifiedName -> { VersionRule versionRule = VersionRuleUtils.getOrCreate(meta.getVersion().getVersion() + "+"); return new DiscoveryTreeNode() .attribute(VERSION_RULE, versionRule) .subName(parent, versionRule.getVersionRule()) .data(new HashMap<>()); }); } }); return tmpChildren; }
protected void fillInstances(Map<String, DiscoveryTreeNode> operationNodes, Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap) { for (Entry<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> entry : versionMap.entrySet()) { for (DiscoveryTreeNode node : operationNodes.values()) { // versionRule is startFrom logic, so isAccept is enough VersionRule versionRule = node.attribute(VERSION_RULE); if (versionRule.isAccept(entry.getKey().getVersion())) { node.mapData().putAll(entry.getValue()); } } } }
protected Map<String, DiscoveryTreeNode> initOperationNodes(DiscoveryTreeNode parent, Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap) { Map<String, DiscoveryTreeNode> tmpChildren = new ConcurrentHashMapEx<>(); versionMap .keySet() .stream() .sorted(Comparator.comparing(MicroserviceVersion::getVersion)) .forEach(meta -> { for (OperationMeta operationMeta : meta.getMicroserviceMeta().getOperations()) { tmpChildren.computeIfAbsent(operationMeta.getMicroserviceQualifiedName(), qualifiedName -> { VersionRule versionRule = VersionRuleUtils.getOrCreate(meta.getVersion().getVersion() + "+"); return new DiscoveryTreeNode() .attribute(VERSION_RULE, versionRule) .subName(parent, versionRule.getVersionRule()) .data(new HashMap<>()); }); } }); return tmpChildren; }