This is an automated email from the ASF dual-hosted git repository.
huxing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-ops.git
The following commit(s) were added to refs/heads/master by this push:
new ae42777 Fix 404 issue #59 (#63)
ae42777 is described below
commit ae427775fe3af1e014501199dc1e57b824a60686
Author: min <[email protected]>
AuthorDate: Mon Jul 9 15:40:34 2018 +0800
Fix 404 issue #59 (#63)
---
.../dubboadmin/governance/util/WebConstants.java | 2 +
.../dubboadmin/web/mvc/RouterController.java | 62 ++++++++++++++--------
2 files changed, 43 insertions(+), 21 deletions(-)
diff --git
a/dubbo-admin/src/main/java/com/alibaba/dubboadmin/governance/util/WebConstants.java
b/dubbo-admin/src/main/java/com/alibaba/dubboadmin/governance/util/WebConstants.java
index fb1648d..c08f405 100644
---
a/dubbo-admin/src/main/java/com/alibaba/dubboadmin/governance/util/WebConstants.java
+++
b/dubbo-admin/src/main/java/com/alibaba/dubboadmin/governance/util/WebConstants.java
@@ -71,6 +71,8 @@ public class WebConstants {
mapper.put("loadbalances", "loadbalancesController");
mapper.put("owners", "ownersController");
mapper.put("weights", "weightsController");
+ mapper.put("addresses", "addressesController");
+ mapper.put("services", "servicesController");
}
diff --git
a/dubbo-admin/src/main/java/com/alibaba/dubboadmin/web/mvc/RouterController.java
b/dubbo-admin/src/main/java/com/alibaba/dubboadmin/web/mvc/RouterController.java
index 0c01951..adf04d3 100644
---
a/dubbo-admin/src/main/java/com/alibaba/dubboadmin/web/mvc/RouterController.java
+++
b/dubbo-admin/src/main/java/com/alibaba/dubboadmin/web/mvc/RouterController.java
@@ -20,9 +20,7 @@ package com.alibaba.dubboadmin.web.mvc;
import java.lang.reflect.Method;
import java.util.Map;
-import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.dubboadmin.SpringUtil;
@@ -77,7 +75,7 @@ public class RouterController {
public String addressRouter(@PathVariable("ip") String ip,
@PathVariable("type") String type,
HttpServletRequest request,
HttpServletResponse response, Model model) {
model.addAttribute("address", ip);
- return appRouter(null, null, type, request, response, model);
+ return appRouter(null, "addresses", ip, type, request, response,
model);
}
@RequestMapping("/governance/addresses/{ip:[0-9.]+:?[0-9]+}/{type}/{action}")
@@ -85,7 +83,7 @@ public class RouterController {
@PathVariable("action") String action,
HttpServletRequest request,
HttpServletResponse response, Model
model) {
model.addAttribute("address", ip);
- return appAction(params, null, null, type, action, request, response,
model);
+ return appAction(params, null, "addresses",ip, type, action, request,
response, model);
}
@RequestMapping("/governance/addresses/{ip:[0-9.]+:?[0-9]+}/{type}/{id}/{action}")
@@ -102,7 +100,7 @@ public class RouterController {
public String servicerRouter(@PathVariable("service") String service,
@PathVariable("type") String type,
HttpServletRequest request,
HttpServletResponse response, Model model) {
model.addAttribute("service", service);
- return appRouter(null, service, type, request, response, model);
+ return appRouter(null, "services", service, type, request, response,
model);
}
@RequestMapping("/governance/services/{service}/{type}/{action}")
@@ -115,7 +113,7 @@ public class RouterController {
System.out.println("value: " + entry.getValue());
}
model.addAttribute("service", service);
- return appAction(param, null, service, type, action, request,
response, model);
+ return appAction(param, null, "services", service, type, action,
request, response, model);
}
@RequestMapping("/governance/services/{service}/{type}/{id}/{action}")
@@ -146,17 +144,18 @@ public class RouterController {
// return "";
//}
- @RequestMapping("/governance/applications/{app}/services/{service}/{type}")
- public String appRouter(@PathVariable("app") String app,
@PathVariable("service") String service,
- @PathVariable("type") String type,
HttpServletRequest request,
+
@RequestMapping("/governance/applications/{app}/{elements}/{element}/{type}")
+ public String appRouter(@PathVariable("app") String app,
@PathVariable("elements") String elements,
+ @PathVariable("element") String element,
@PathVariable("type") String type,
+ HttpServletRequest request,
HttpServletResponse response, Model model) {
if (app != null) {
model.addAttribute("app", app);
}
- if (StringUtils.isNumeric(service)) {
+ if (StringUtils.isNumeric(element)) {
//service action, shield, recover..
Long[] ids = new Long[1];
- ids[0] = Long.valueOf(service);
+ ids[0] = Long.valueOf(element);
model.addAttribute("service", request.getParameter("service"));
try {
Method m =
servicesController.getClass().getDeclaredMethod(type, Long[].class,
HttpServletRequest.class,
@@ -167,8 +166,10 @@ public class RouterController {
e.printStackTrace();
}
}
- if (service != null) {
- model.addAttribute("service", service);
+ if (elements.equals("services")) {
+ model.addAttribute("service", element);
+ } else if (elements.equals("addresses")) {
+ model.addAttribute("address", element);
}
String name = WebConstants.mapper.get(type);
@@ -188,24 +189,43 @@ public class RouterController {
return "";
}
- @RequestMapping("/governance/applications/{app}/services")
- public String appWithService(@PathVariable("app") String app,
HttpServletRequest request,
+ @RequestMapping("/governance/applications/{app}/{type}")
+ public String appWithService(@PathVariable("app") String app,
@PathVariable("type") String type,
+ HttpServletRequest request,
HttpServletResponse response,
Model model) {
model.addAttribute("app", app);
- return servicesController.index(request, response, model);
+ String name = WebConstants.mapper.get(type);
+ if (name != null) {
+ Object controller = SpringUtil.getBean(name);
+ try {
+ Method index =
controller.getClass().getDeclaredMethod("index", HttpServletRequest.class,
+ HttpServletResponse.class, Model.class);
+ Object result = index.invoke(controller, request, response,
model);
+ return (String) result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ return "";
}
-
@RequestMapping("/governance/applications/{app}/services/{service}/{type}/{action}")
+
@RequestMapping("/governance/applications/{app}/{elements}/{element}/{type}/{action}")
public String appAction(@RequestParam Map<String, String> params,
@PathVariable("app") String app,
- @PathVariable("service") String service,
@PathVariable("type") String type,
- @PathVariable("action") String action,
HttpServletRequest request,
- HttpServletResponse response, Model model) {
+ @PathVariable("elements") String elements,
@PathVariable("element") String element,
+ @PathVariable("type") String type,
@PathVariable("action") String action,
+ HttpServletRequest request, HttpServletResponse
response, Model model) {
if (app != null) {
model.addAttribute("app", app);
}
- model.addAttribute("service", service);
+ if (elements.equals("services")) {
+ model.addAttribute("service", element);
+ } else if (elements.equals("addresses")) {
+ model.addAttribute("address", element);
+ }
+
String name = WebConstants.mapper.get(type);
if (name != null) {
Object controller = SpringUtil.getBean(name);