NacosRegistryHelper { static List<Instance> convertProviderToInstances(ProviderConfig providerConfig) { @SuppressWarnings("unchecked") List<ServerConfig> servers = providerConfig.getServer(); if (servers != null && !servers.isEmpty()) { List<Instance> instances = new ArrayList<Instance>(); for (ServerConfig server : servers) { String serviceName = buildServiceName(providerConfig, server.getProtocol()); Instance instance = new Instance(); instance.setClusterName(DEFAULT_CLUSTER); instance.setServiceName(serviceName); String host = server.getVirtualHost(); if (host == null) { host = server.getHost(); if (NetUtils.isLocalHost(host) || NetUtils.isAnyHost(host)) { host = SystemInfo.getLocalHost(); } } instance.setIp(host); instance.setPort(server.getPort()); Map<String, String> metaData = RegistryUtils.convertProviderToMap(providerConfig, server); instance.setMetadata(metaData); instances.add(instance); } return instances; } return null; }    }
@Test public void convertProviderToInstances() { ServerConfig serverConfig = new ServerConfig() .setProtocol("bolt") .setHost("0.0.0.0") .setPort(12200); ProviderConfig<?> provider = new ProviderConfig(); provider.setInterfaceId("com.alipay.xxx.TestService") .setApplication(new ApplicationConfig().setAppName("test-server")) .setUniqueId("nacos-test") .setProxy("javassist") .setRegister(true) .setSerialization("hessian2") .setServer(serverConfig) .setWeight(222) .setTimeout(3000); List<Instance> instances = NacosRegistryHelper.convertProviderToInstances(provider); assertNotNull(instances); assertEquals(1, instances.size()); Instance instance = instances.get(0); assertNotNull(instance); assertEquals(NacosRegistryHelper.DEFAULT_CLUSTER, instance.getClusterName()); assertEquals(serverConfig.getPort(), instance.getPort()); assertEquals(serverConfig.getProtocol(), instance.getMetadata().get(RpcConstants.CONFIG_KEY_PROTOCOL)); assertEquals(provider.getSerialization(), instance.getMetadata().get(RpcConstants.CONFIG_KEY_SERIALIZATION)); assertEquals(provider.getUniqueId(), instance.getMetadata().get(RpcConstants.CONFIG_KEY_UNIQUEID)); assertEquals(provider.getWeight(), Integer.parseInt(instance.getMetadata().get(RpcConstants.CONFIG_KEY_WEIGHT))); assertEquals(provider.getTimeout(), Integer.parseInt(instance.getMetadata().get(RpcConstants.CONFIG_KEY_TIMEOUT))); assertEquals(provider.getSerialization(), instance.getMetadata().get(RpcConstants.CONFIG_KEY_SERIALIZATION)); assertEquals(provider.getAppName(), instance.getMetadata().get(RpcConstants.CONFIG_KEY_APP_NAME)); assertEquals("com.alipay.xxx.TestService:nacos-test:DEFAULT", instance.getServiceName()); }