diff --git a/naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java b/naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java index a7f3ae998d0..ed7fa55f5e9 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/controllers/ServiceController.java @@ -44,6 +44,7 @@ import com.alibaba.nacos.naming.pojo.Subscriber; import com.alibaba.nacos.naming.selector.NoneSelector; import com.alibaba.nacos.naming.selector.SelectorManager; +import com.alibaba.nacos.naming.utils.ServiceUtil; import com.alibaba.nacos.naming.web.NamingResourceParser; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -164,17 +165,15 @@ public ObjectNode detail(@RequestParam(defaultValue = Constants.DEFAULT_NAMESPAC @GetMapping("/list") @Secured(parser = NamingResourceParser.class, action = ActionTypes.READ) public ObjectNode list(HttpServletRequest request) throws Exception { - final int pageNo = NumberUtils.toInt(WebUtils.required(request, "pageNo")); final int pageSize = NumberUtils.toInt(WebUtils.required(request, "pageSize")); String namespaceId = WebUtils.optional(request, CommonParams.NAMESPACE_ID, Constants.DEFAULT_NAMESPACE_ID); String groupName = WebUtils.optional(request, CommonParams.GROUP_NAME, Constants.DEFAULT_GROUP); String selectorString = WebUtils.optional(request, "selector", StringUtils.EMPTY); ObjectNode result = JacksonUtils.createEmptyJsonNode(); - List serviceNameList = getServiceOperator() - .listService(namespaceId, groupName, selectorString, pageSize, pageNo); - result.replace("doms", JacksonUtils.transferToJsonNode(serviceNameList)); + Collection serviceNameList = getServiceOperator().listService(namespaceId, groupName, selectorString); result.put("count", serviceNameList.size()); + result.replace("doms", JacksonUtils.transferToJsonNode(ServiceUtil.pageServiceName(pageNo, pageSize, serviceNameList))); return result; } diff --git a/naming/src/main/java/com/alibaba/nacos/naming/controllers/UpgradeOpsController.java b/naming/src/main/java/com/alibaba/nacos/naming/controllers/UpgradeOpsController.java index 861ffaeabe0..8a77082e1a2 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/controllers/UpgradeOpsController.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/controllers/UpgradeOpsController.java @@ -48,6 +48,7 @@ import com.alibaba.nacos.naming.pojo.instance.HttpRequestInstanceBuilder; import com.alibaba.nacos.naming.selector.NoneSelector; import com.alibaba.nacos.naming.selector.SelectorManager; +import com.alibaba.nacos.naming.utils.ServiceUtil; import com.alibaba.nacos.naming.web.CanDistro; import com.alibaba.nacos.naming.web.NamingResourceParser; import com.fasterxml.jackson.databind.JsonNode; @@ -68,7 +69,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -304,10 +304,9 @@ public ObjectNode listService(@RequestParam(defaultValue = "v2", required = fals String groupName = WebUtils.optional(request, CommonParams.GROUP_NAME, Constants.DEFAULT_GROUP); String selectorString = WebUtils.optional(request, "selector", StringUtils.EMPTY); ObjectNode result = JacksonUtils.createEmptyJsonNode(); - List serviceNameList = getServiceOperator(ver) - .listService(namespaceId, groupName, selectorString, pageSize, pageNo); - result.replace("doms", JacksonUtils.transferToJsonNode(serviceNameList)); + Collection serviceNameList = getServiceOperator(ver).listService(namespaceId, groupName, selectorString); result.put("count", serviceNameList.size()); + result.replace("doms", JacksonUtils.transferToJsonNode(ServiceUtil.pageServiceName(pageNo, pageSize, serviceNameList))); return result; } diff --git a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperator.java b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperator.java index bbb654451b9..de85be3472a 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperator.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperator.java @@ -22,7 +22,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import java.util.Collection; -import java.util.List; /** * Service operator. @@ -76,13 +75,10 @@ public interface ServiceOperator { * @param namespaceId namespace id of services * @param groupName group name of services * @param selector selector - * @param pageSize page size - * @param pageNo page number * @return services name list * @throws NacosException nacos exception during query */ - List listService(String namespaceId, String groupName, String selector, int pageSize, int pageNo) - throws NacosException; + Collection listService(String namespaceId, String groupName, String selector) throws NacosException; /** * list All service namespace. diff --git a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV1Impl.java b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV1Impl.java index d8e0e087190..879cea5c334 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV1Impl.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV1Impl.java @@ -122,8 +122,7 @@ public ObjectNode queryService(String namespaceId, String serviceName) throws Na } @Override - public List listService(String namespaceId, String groupName, String selector, int pageSize, int pageNo) - throws NacosException { + public Collection listService(String namespaceId, String groupName, String selector) throws NacosException { Map serviceMap = serviceManager.chooseServiceMap(namespaceId); if (serviceMap == null || serviceMap.isEmpty()) { return Collections.emptyList(); @@ -134,7 +133,7 @@ public List listService(String namespaceId, String groupName, String sel serviceMap.entrySet() .removeIf(entry -> !entry.getKey().startsWith(groupName + Constants.SERVICE_INFO_SPLITER)); } - return ServiceUtil.pageServiceName(pageNo, pageSize, serviceMap); + return serviceMap.keySet(); } @Override diff --git a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV2Impl.java b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV2Impl.java index 60f67a2da15..0b38dc2ee3d 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV2Impl.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceOperatorV2Impl.java @@ -28,7 +28,6 @@ import com.alibaba.nacos.naming.core.v2.metadata.NamingMetadataOperateService; import com.alibaba.nacos.naming.core.v2.metadata.ServiceMetadata; import com.alibaba.nacos.naming.core.v2.pojo.Service; -import com.alibaba.nacos.naming.utils.ServiceUtil; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.stereotype.Component; @@ -36,7 +35,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; -import java.util.List; import java.util.Objects; /** @@ -136,15 +134,14 @@ private ObjectNode newClusterNode(String clusterName, ClusterMetadata clusterMet @Override @SuppressWarnings("unchecked") - public List listService(String namespaceId, String groupName, String selector, int pageSize, int pageNo) + public Collection listService(String namespaceId, String groupName, String selector) throws NacosException { Collection services = ServiceManager.getInstance().getSingletons(namespaceId); if (services.isEmpty()) { return Collections.EMPTY_LIST; } - Collection serviceNameSet = selectServiceWithGroupName(services, groupName); // TODO select service by selector - return ServiceUtil.pageServiceName(pageNo, pageSize, serviceNameSet); + return selectServiceWithGroupName(services, groupName); } private Collection selectServiceWithGroupName(Collection serviceSet, String groupName) { diff --git a/naming/src/test/java/com/alibaba/nacos/naming/controllers/ServiceControllerTest.java b/naming/src/test/java/com/alibaba/nacos/naming/controllers/ServiceControllerTest.java index 6b21a65b8dd..414c0bd12df 100644 --- a/naming/src/test/java/com/alibaba/nacos/naming/controllers/ServiceControllerTest.java +++ b/naming/src/test/java/com/alibaba/nacos/naming/controllers/ServiceControllerTest.java @@ -63,7 +63,7 @@ public void before() { @Test public void testList() throws Exception { - Mockito.when(serviceOperatorV2.listService(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyInt(), Mockito.anyInt())) + Mockito.when(serviceOperatorV2.listService(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())) .thenReturn(Collections.singletonList("DEFAULT_GROUP@@providers:com.alibaba.nacos.controller.test:1")); MockHttpServletRequest servletRequest = new MockHttpServletRequest(); diff --git a/naming/src/test/java/com/alibaba/nacos/naming/core/ServiceOperatorV2ImplTest.java b/naming/src/test/java/com/alibaba/nacos/naming/core/ServiceOperatorV2ImplTest.java index 9606dda3047..61840ef0801 100644 --- a/naming/src/test/java/com/alibaba/nacos/naming/core/ServiceOperatorV2ImplTest.java +++ b/naming/src/test/java/com/alibaba/nacos/naming/core/ServiceOperatorV2ImplTest.java @@ -41,7 +41,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Optional; @@ -123,7 +122,7 @@ public void testQueryService() throws NacosException { @Test public void testListService() throws NacosException { - List res = serviceOperatorV2.listService("A", "B", null, 10, 1); + Collection res = serviceOperatorV2.listService("A", "B", null); Assert.assertEquals(1, res.size()); }