[ISSUE #780]Fix assesses can't delete 2.6 version (#788)
* fix assesses can't delete 2.6 version
* fix route toUrl
diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/RouteUtils.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/RouteUtils.java
index 40ee18d..69d8da8 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/RouteUtils.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/RouteUtils.java
@@ -342,7 +342,7 @@
if (scope.equals(Constants.APPLICATION)) {
accessDTO.setApplication(key);
} else {
- accessDTO.setService(key);
+ ConvertUtil.detachIdToService(key, accessDTO);
}
if (blackWhiteList != null) {
for (String condition : blackWhiteList) {
@@ -363,7 +363,7 @@
public static Route convertAccessDTOtoRoute(AccessDTO accessDTO) {
Route route = new Route();
- route.setService(accessDTO.getService());
+ route.setService(ConvertUtil.getIdFromDTO(accessDTO));
route.setForce(true);
route.setFilterRule("false");
route.setEnabled(true);
diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/model/domain/Route.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/model/domain/Route.java
index b80c61b..41f3513 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/model/domain/Route.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/model/domain/Route.java
@@ -19,7 +19,7 @@
import org.apache.dubbo.admin.common.util.Constants;
-import org.apache.dubbo.admin.common.util.Tool;
+import org.apache.dubbo.admin.common.util.ConvertUtil;
import org.apache.dubbo.common.URL;
import java.util.List;
@@ -209,9 +209,16 @@
}
public URL toUrl() {
- String group = Tool.getGroup(service);
- String version = Tool.getVersion(service);
- String interfaze = Tool.getInterface(service);
+ String[] detachResult = ConvertUtil.detachId(service);
+ String group = null;
+ String version = null;
+ String interfaze = detachResult[0];
+ if (detachResult.length > 1) {
+ version = detachResult[1];
+ }
+ if (detachResult.length > 2) {
+ group = detachResult[2];
+ }
return URL.valueOf(Constants.ROUTE_PROTOCOL + "://" + Constants.ANYHOST_VALUE + "/" + interfaze
+ "?" + Constants.CATEGORY_KEY + "=" + Constants.ROUTERS_CATEGORY
+ "&router=condition&runtime=" + isRuntime() + "&enabled=" + isEnabled() + "&priority=" + getPriority() + "&force=" + (getMatchRule().contains("host") ? "true" : isForce()) + "&dynamic=" + isDynamic()
diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
index a9d3b1b..ed28d64 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
@@ -398,7 +398,7 @@
List<Route> oldList = new LinkedList<Route>();
for (String condition : route.getConditions()) {
Route old = new Route();
- old.setService(route.getService());
+ old.setService(ConvertUtil.getIdFromDTO(route));
old.setEnabled(route.isEnabled());
old.setForce(route.isForce());
old.setRuntime(route.isRuntime());