in dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java [274:298]
public ConditionRouteDTO findConditionRoute(String id) {
String path = getPath(id, Constants.CONDITION_ROUTE);
String config = dynamicConfiguration.getConfig(path);
if (config != null) {
RoutingRule routingRule = YamlParser.loadObject(config, RoutingRule.class);
ConditionRouteDTO conditionRouteDTO = RouteUtils.createConditionRouteFromRule(routingRule);
if(null == conditionRouteDTO || CollectionUtils.isEmpty(conditionRouteDTO.getConditions())) {
return null;
}
String service = conditionRouteDTO.getService();
if (org.apache.commons.lang3.StringUtils.isNotBlank(service)) {
conditionRouteDTO.setService(service.replace("*", "/"));
}
String[] detachResult = ConvertUtil.detachId(id);
if (detachResult.length > 1) {
conditionRouteDTO.setServiceVersion(detachResult[1]);
}
if (detachResult.length > 2) {
conditionRouteDTO.setServiceGroup(detachResult[2]);
}
conditionRouteDTO.setId(id);
return conditionRouteDTO;
}
return null;
}