@Override public DiscoveryTreeNode discovery(DiscoveryContext context, DiscoveryTreeNode parent) { String expectTransportName = findTransportName(context, parent); return parent.children() .computeIfAbsent(expectTransportName, etn -> createDiscoveryTreeNode(expectTransportName, context, parent)); }
@Override public DiscoveryTreeNode discovery(DiscoveryContext context, DiscoveryTreeNode parent) { return parent.children() .computeIfAbsent(context.getInputParameters(), etn -> createDiscoveryTreeNode(context, parent)); }
public DiscoveryTreeNode discovery(DiscoveryContext context, VersionedCache inputCache) { DiscoveryTreeNode tmpRoot = getOrCreateRoot(inputCache); DiscoveryTreeNode parent = tmpRoot.children() .computeIfAbsent(inputCache.name(), name -> new DiscoveryTreeNode().fromCache(inputCache)); return doDiscovery(context, parent); }
@Override protected void init(DiscoveryContext context, DiscoveryTreeNode parent) { MicroserviceInstance myself = RegistryUtils.getMicroserviceInstance(); Map<String, MicroserviceInstance> instancesRegionAndAZMatch = new HashMap<>(); Map<String, MicroserviceInstance> instancesAZMatch = new HashMap<>(); Map<String, MicroserviceInstance> instancesNoMatch = new HashMap<>(); Map<String, MicroserviceInstance> instances = parent.data(); for (String id : instances.keySet()) { MicroserviceInstance target = instances.get(id); if (regionAndAZMatch(myself, target)) { instancesRegionAndAZMatch.put(id, target); } else if (regionMatch(myself, target)) { instancesAZMatch.put(id, target); } else { instancesNoMatch.put(id, target); } } Map<String, DiscoveryTreeNode> children = new HashMap<>(); children.put(GROUP_RegionAndAZMatch, new DiscoveryTreeNode() .subName(parent, GROUP_RegionAndAZMatch) .data(instancesRegionAndAZMatch)); children.put(GROUP_instancesAZMatch, new DiscoveryTreeNode() .subName(parent, GROUP_instancesAZMatch) .data(instancesAZMatch)); children.put(GROUP_instancesNoMatch, new DiscoveryTreeNode() .subName(parent, GROUP_instancesNoMatch) .data(instancesNoMatch)); parent.children(children); }
@Override public void init(DiscoveryContext context, DiscoveryTreeNode parent) { Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap = groupByVersion(context.getInputParameters(), parent.data()); Map<String, DiscoveryTreeNode> operationNodes = initOperationNodes(parent, versionMap); fillInstances(operationNodes, versionMap); parent.children(operationNodes); }
@Override public DiscoveryTreeNode discovery(DiscoveryContext context, DiscoveryTreeNode parent) { String expectTransportName = findTransportName(context, parent); return parent.children() .computeIfAbsent(expectTransportName, etn -> createDiscoveryTreeNode(expectTransportName, context, parent)); }
@Override public DiscoveryTreeNode discovery(DiscoveryContext context, DiscoveryTreeNode parent) { return parent.children() .computeIfAbsent(context.getInputParameters(), etn -> createDiscoveryTreeNode(context, parent)); }
public DiscoveryTreeNode discovery(DiscoveryContext context, VersionedCache inputCache) { DiscoveryTreeNode tmpRoot = getOrCreateRoot(inputCache); DiscoveryTreeNode parent = tmpRoot.children() .computeIfAbsent(inputCache.name(), name -> new DiscoveryTreeNode().fromCache(inputCache)); return doDiscovery(context, parent); }
@Override protected void init(DiscoveryContext context, DiscoveryTreeNode parent) { MicroserviceInstance myself = RegistryUtils.getMicroserviceInstance(); Map<String, MicroserviceInstance> instancesRegionAndAZMatch = new HashMap<>(); Map<String, MicroserviceInstance> instancesAZMatch = new HashMap<>(); Map<String, MicroserviceInstance> instancesNoMatch = new HashMap<>(); Map<String, MicroserviceInstance> instances = parent.data(); for (String id : instances.keySet()) { MicroserviceInstance target = instances.get(id); if (regionAndAZMatch(myself, target)) { instancesRegionAndAZMatch.put(id, target); } else if (regionMatch(myself, target)) { instancesAZMatch.put(id, target); } else { instancesNoMatch.put(id, target); } } Map<String, DiscoveryTreeNode> children = new HashMap<>(); children.put(GROUP_RegionAndAZMatch, new DiscoveryTreeNode() .subName(parent, GROUP_RegionAndAZMatch) .data(instancesRegionAndAZMatch)); children.put(GROUP_instancesAZMatch, new DiscoveryTreeNode() .subName(parent, GROUP_instancesAZMatch) .data(instancesAZMatch)); children.put(GROUP_instancesNoMatch, new DiscoveryTreeNode() .subName(parent, GROUP_instancesNoMatch) .data(instancesNoMatch)); parent.children(children); }
@Override public void init(DiscoveryContext context, DiscoveryTreeNode parent) { Map<MicroserviceVersionMeta, Map<String, MicroserviceInstance>> versionMap = groupByVersion(context.getInputParameters(), parent.data()); Map<String, DiscoveryTreeNode> operationNodes = initOperationNodes(parent, versionMap); fillInstances(operationNodes, versionMap); parent.children(operationNodes); }