in dubbo-registry-extensions/dubbo-registry-nameservice/src/main/java/org/apache/dubbo/registry/nameservice/ServiceName.java [74:112]
public boolean isCompatible(ServiceName serviceName) {
// The argument must be the concrete NacosServiceName
if (!serviceName.isConcrete()) {
return false;
}
// Not match comparison
if (!StringUtils.isEquals(this.category, serviceName.category)
&& !matchRange(this.category, serviceName.category)) {
return false;
}
if (!StringUtils.isEquals(this.serviceInterface, serviceName.serviceInterface)) {
return false;
}
// wildcard condition
if (isWildcard(this.version)) {
return true;
}
if (isWildcard(this.group)) {
return true;
}
// range condition
if (!StringUtils.isEquals(this.version, serviceName.version)
&& !matchRange(this.version, serviceName.version)) {
return false;
}
if (!StringUtils.isEquals(this.group, serviceName.group) &&
!matchRange(this.group, serviceName.group)) {
return false;
}
return true;
}