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

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


The following commit(s) were added to refs/heads/develop by this push:
     new c7bc09a  Fix error when host is null (#920)
c7bc09a is described below

commit c7bc09a983231dc3b9a2ab38a899bab7146d2270
Author: cnjxzhao <[email protected]>
AuthorDate: Tue Sep 6 10:31:02 2022 +0800

    Fix error when host is null (#920)
    
    * 解决重复点功能,浏览器控制台报错问题,如点击:服务查询-搜索按钮
    
    * 解决可能产生的空指针问题,导致 '消费者'标签无法显示数据
    
    * 解决在服务测试,方法执行成功后。动态生成的consumer元数据,host取值为空的问题情况(dubbo version 3.0.8)
---
 .../main/java/org/apache/dubbo/admin/common/util/SyncUtils.java  | 9 ++++++++-
 dubbo-admin-ui/src/components/ServiceDetail.vue                  | 4 ++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/SyncUtils.java
 
b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/SyncUtils.java
index 2499454..34b4e65 100644
--- 
a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/SyncUtils.java
+++ 
b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/SyncUtils.java
@@ -22,6 +22,7 @@ import org.apache.dubbo.admin.model.domain.RegistrySource;
 import org.apache.dubbo.common.BaseServiceMetadata;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.constants.CommonConstants;
+import org.apache.dubbo.common.url.component.DubboServiceAddressURL;
 import org.apache.dubbo.common.utils.StringUtils;
 
 import java.util.ArrayList;
@@ -97,7 +98,13 @@ public class SyncUtils {
         String version = url.getUrlParam().getParameter(Constants.VERSION_KEY);
         String service = 
BaseServiceMetadata.buildServiceKey(getServiceInterface(url), group, version);
         c.setService(service);
-        c.setAddress(url.getHost());
+        if (url.getHost() == null) {
+            if (url instanceof DubboServiceAddressURL) {
+                c.setAddress(((DubboServiceAddressURL) 
url).getConsumerURL().getRawParameter("host"));
+            }
+        } else {
+            c.setAddress(url.getHost());
+        }
         c.setApplication(url.getParameter(Constants.APPLICATION_KEY));
         c.setParameters(url.toParameterString());
 
diff --git a/dubbo-admin-ui/src/components/ServiceDetail.vue 
b/dubbo-admin-ui/src/components/ServiceDetail.vue
index e8ebe6b..bdb4c15 100644
--- a/dubbo-admin-ui/src/components/ServiceDetail.vue
+++ b/dubbo-admin-ui/src/components/ServiceDetail.vue
@@ -227,10 +227,10 @@
             })
       },
       getIp: function (address) {
-        return address.split(':')[0]
+        return address != null ? address.split(':')[0] : null
       },
       getPort: function (address) {
-        return address.split(':')[1]
+        return address != null && address.split(':').length >= 1 ? 
address.split(':')[1] : null
       },
       toCopyText (text) {
         this.$copyText(text).then(() => {

Reply via email to