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(() => {