From 908960bd35f878b8260ecc8e26528cbd12f09b0a Mon Sep 17 00:00:00 2001 From: nzomkxia Date: Wed, 20 Feb 2019 20:54:28 +0800 Subject: [PATCH] fix #313 get service name from simplified url --- .../service/impl/ProviderServiceImpl.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/ProviderServiceImpl.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/ProviderServiceImpl.java index 084746f..1ffebe4 100644 --- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/ProviderServiceImpl.java +++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/ProviderServiceImpl.java @@ -28,6 +28,7 @@ import org.apache.dubbo.admin.service.ProviderService; import org.apache.dubbo.common.URL; import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.metadata.identifier.MetadataIdentifier; +import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -459,11 +460,20 @@ public class ProviderServiceImpl extends AbstractService implements ProviderServ public Set convertProviders2DTO(List providers) { Set result = new TreeSet<>(); for (Provider provider : providers) { - Map map = StringUtils.parseQueryString(provider.getParameters()); String app = provider.getApplication(); - String service = map.get(Constants.INTERFACE_KEY); - String group = map.get(Constants.GROUP_KEY); - String version = map.get(Constants.VERSION_KEY); + String service = provider.getService(); + String group = null; + String version = null; + int i = service.indexOf("/"); + if (i >= 0) { + group = service.substring(0, i); + service = service.substring(i + 1); + } + i = service.lastIndexOf(":"); + if (i >= 0) { + version = service.substring(i + 1); + service = service.substring(0, i); + } ServiceDTO s = new ServiceDTO(); s.setAppName(app); s.setService(service); -- GitLab