Merge pull request #38 from lambdaxs/main

feature: get service list by given namespace
pull/41/head
Haotian Zhang 2 years ago committed by GitHub
commit f887d63c14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -63,7 +63,7 @@
<properties>
<revision>1.1.4.Hoxton.SR9-SNAPSHOT</revision>
<polaris.version>1.2.2-SNAPSHOT</polaris.version>
<polaris.version>1.2.4-SNAPSHOT</polaris.version>
<tomcat.version>10.0.0-M6</tomcat.version>
<powermock.version>2.0.0</powermock.version>

@ -26,7 +26,11 @@ import com.tencent.polaris.api.pojo.ServiceInfo;
import com.tencent.polaris.api.rpc.GetAllInstancesRequest;
import com.tencent.polaris.api.rpc.GetInstancesRequest;
import com.tencent.polaris.api.rpc.InstancesResponse;
import com.tencent.polaris.api.rpc.ServicesResponse;
import com.tencent.polaris.api.rpc.GetServicesRequest;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -93,4 +97,16 @@ public class PolarisDiscoveryHandler {
return providerAPI;
}
/**
* Return all service for given namespace
*
* @return service list
*/
public ServicesResponse GetServices() {
String namespace = polarisProperties.getNamespace();
GetServicesRequest request = new GetServicesRequest();
request.setNamespace(namespace);
return polarisConsumer.getServices(request);
}
}

@ -17,15 +17,21 @@
package com.tencent.cloud.polaris.discovery;
import com.tencent.cloud.polaris.PolarisProperties;
import com.tencent.cloud.polaris.pojo.PolarisServiceInstance;
import com.tencent.polaris.api.exception.PolarisException;
import com.tencent.polaris.api.pojo.Instance;
import com.tencent.polaris.api.pojo.ServiceInfo;
import com.tencent.polaris.api.pojo.ServiceInstances;
import com.tencent.polaris.api.rpc.InstancesResponse;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import com.tencent.polaris.api.rpc.ServicesResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
/**
@ -57,13 +63,18 @@ public class PolarisServiceDiscovery {
}
/**
* TODO Return the names of all services.
* Return the names of all services.
*
* @return list of service names
* @throws PolarisException polarisException
*/
public List<String> getServices() throws PolarisException {
return Collections.emptyList();
return polarisDiscoveryHandler.
GetServices().
getServices().
stream().
map(ServiceInfo::getService).
collect(Collectors.toList());
}
}

@ -94,8 +94,7 @@ public class PolarisServiceDiscoveryTest {
this.contextRunner.run(context -> {
PolarisServiceDiscovery polarisServiceDiscovery = context.getBean(PolarisServiceDiscovery.class);
List<String> services = polarisServiceDiscovery.getServices();
assertThat(services.size()).isEqualTo(0);
assertThat(services.size()).isEqualTo(1);
});
}

Loading…
Cancel
Save