You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by mi...@apache.org on 2018/11/01 02:27:21 UTC

[incubator-dubbo-ops] branch develop updated: filter dup service #170

This is an automated email from the ASF dual-hosted git repository.

min pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-ops.git


The following commit(s) were added to refs/heads/develop by this push:
     new 86c4995  filter dup service #170
86c4995 is described below

commit 86c4995afa90f1e96c88ae4ccb2b1f77c4ddd528
Author: nzomkxia <z8...@gmail.com>
AuthorDate: Thu Nov 1 10:26:56 2018 +0800

    filter dup service #170
---
 .../dubbo/admin/controller/ServiceController.java  | 23 +++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
index 66917dc..e274ad8 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
@@ -28,9 +28,7 @@ import org.apache.dubbo.admin.registry.common.domain.Provider;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 @RestController
@@ -48,17 +46,27 @@ public class ServiceController {
                                           @RequestParam(required = false) String filter) {
 
         List<Provider> allProviders = providerService.findAll();
+        Set<String> serviceUrl = new HashSet<>();
 
         List<ServiceDTO> result = new ArrayList<>();
         for (Provider provider : allProviders) {
             Map<String, String> map = StringUtils.parseQueryString(provider.getParameters());
+            String app = provider.getApplication();
+            String service = provider.getService();
+            String group = map.get(Constants.GROUP_KEY);
+            String version = map.get(Constants.VERSION_KEY);
+            String url = app + service + group + version;
+            if (serviceUrl.contains(url)) {
+                continue;
+            }
             ServiceDTO s = new ServiceDTO();
             if (org.apache.commons.lang3.StringUtils.isEmpty(filter)) {
-                s.setAppName(provider.getApplication());
-                s.setService(provider.getService());
-                s.setGroup(map.get(Constants.GROUP_KEY));
-                s.setVersion(map.get(Constants.VERSION_KEY));
+                s.setAppName(app);
+                s.setService(service);
+                s.setGroup(group);
+                s.setVersion(version);
                 result.add(s);
+                serviceUrl.add(url);
             } else {
                 filter = filter.toLowerCase();
                 String key = null;
@@ -75,6 +83,7 @@ public class ServiceController {
                 }
                 if (key != null && key.contains(filter)) {
                     result.add(createService(provider, map));
+                    serviceUrl.add(url);
                 }
             }
         }