trim application name of old mapping content (#14133)
* trim application name of old mapping content
* trim and filter out empty name at ServiceNameMapping#getAppNames
* remove unused import
diff --git a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
index e2c58e6..91fce3c 100644
--- a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
+++ b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ServiceNameMapping.java
@@ -25,11 +25,12 @@
import org.apache.dubbo.rpc.model.ScopeModelUtil;
import org.apache.dubbo.rpc.service.Destroyable;
-import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
import static java.util.Collections.emptySet;
+import static java.util.stream.Collectors.toSet;
+import static java.util.stream.Stream.of;
import static org.apache.dubbo.common.constants.CommonConstants.COMMA_SEPARATOR;
import static org.apache.dubbo.common.extension.ExtensionScope.APPLICATION;
@@ -88,7 +89,10 @@
if (StringUtils.isBlank(content)) {
return emptySet();
}
- return new TreeSet<>(Arrays.asList(content.split(COMMA_SEPARATOR)));
+ return new TreeSet<>(of(content.split(COMMA_SEPARATOR))
+ .map(String::trim)
+ .filter(StringUtils::isNotEmpty)
+ .collect(toSet()));
}
static Set<String> getMappingByUrl(URL consumerURL) {
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
index 62322d8..57c7dd5 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataServiceNameMapping.java
@@ -109,7 +109,7 @@
String[] oldAppNames = oldConfigContent.split(",");
if (oldAppNames.length > 0) {
for (String oldAppName : oldAppNames) {
- if (oldAppName.equals(appName)) {
+ if (StringUtils.trim(oldAppName).equals(appName)) {
succeeded = true;
break;
}