You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by mi...@apache.org on 2018/09/28 07:34:00 UTC
[incubator-dubbo-ops] branch develop updated: update baseDTO
This is an automated email from the ASF dual-hosted git repository.
min pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-ops.git
The following commit(s) were added to refs/heads/develop by this push:
new 3412f5d update baseDTO
3412f5d is described below
commit 3412f5de704cdc205962cdb760fde947db05c8bb
Author: nzomkxia <z8...@gmail.com>
AuthorDate: Fri Sep 28 15:33:41 2018 +0800
update baseDTO
---
.../admin/controller/LoadBalanceController.java | 67 +-
.../admin/controller/OverridesController.java | 44 ++
.../dubbo/admin/controller/RoutesController.java | 82 +-
.../dubbo/admin/controller/ServiceController.java | 39 +-
.../dubbo/admin/controller/WeightController.java | 34 +-
.../org/apache/dubbo/admin/dto/BalancingDTO.java | 35 +-
.../admin/dto/{RouteDTO.java => OverrideDTO.java} | 74 +-
.../java/org/apache/dubbo/admin/dto/RouteDTO.java | 21 +-
.../{domain/ServiceDO.java => dto/ServiceDTO.java} | 14 +-
.../ServiceDetailDTO.java} | 4 +-
.../java/org/apache/dubbo/admin/dto/WeightDTO.java | 13 +-
.../org/apache/dubbo/admin/filter/LoginFilter.java | 6 +-
.../i18n/impl/MessageResourceServiceImpl.java | 2 +-
.../service/impl/OverrideServiceImpl.java | 2 +-
.../governance/service/impl/OwnerServiceImpl.java | 2 +-
.../service/impl/ProviderServiceImpl.java | 3 +-
.../admin/governance/sync/util/SyncUtils.java | 2 +-
.../admin/registry/common/domain/Provider.java | 2 +-
.../admin/registry/common/route/OverrideUtils.java | 2 +-
.../admin/registry/common/route/RouteRule.java | 8 +-
.../admin/registry/common/route/RouteUtils.java | 2 +-
.../admin/registry/common/util/OverrideUtils.java | 2 +-
.../web/mvc/governance/OverridesController.java | 868 ++++++++++-----------
.../mvc/governance/ServiceDetailController.java | 2 +-
.../web/mvc/governance/ServicesController.java | 2 +-
.../org/apache/dubbo/admin/web/pulltool/Tool.java | 8 +-
.../src/components/AccessControl.vue | 1 +
.../src/components/LoadBalance.vue | 72 +-
dubbo-admin-frontend/src/components/Overrides.vue | 10 +-
.../src/components/RoutingRule.vue | 70 +-
.../src/components/ServiceSearch.vue | 4 +-
.../src/components/WeightAdjust.vue | 65 +-
32 files changed, 753 insertions(+), 809 deletions(-)
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/LoadBalanceController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/LoadBalanceController.java
index 6544e2a..1f33968 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/LoadBalanceController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/LoadBalanceController.java
@@ -18,17 +18,18 @@
package org.apache.dubbo.admin.controller;
import org.apache.dubbo.admin.dto.BalancingDTO;
+import org.apache.dubbo.admin.dto.BaseDTO;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.registry.common.domain.LoadBalance;
import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.util.OverrideUtils;
-import org.apache.dubbo.admin.util.YamlUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
+
+import static org.apache.dubbo.admin.registry.common.util.OverrideUtils.overrideToLoadBalance;
@RestController
@RequestMapping("/api/balancing")
@@ -39,15 +40,14 @@ public class LoadBalanceController {
@RequestMapping(value = "/create", method = RequestMethod.POST)
public boolean createLoadbalance(@RequestBody BalancingDTO balancingDTO) {
- String serviceName = balancingDTO.getServiceName();
- String rule = balancingDTO.getRule();
+ String serviceName = balancingDTO.getService();
if (serviceName == null || serviceName.length() == 0) {
//TODO throw exception
}
-
- Map<String, Object> result = YamlUtil.loadString(rule);
- LoadBalance loadBalance = generateLoadbalance(result);
+ LoadBalance loadBalance = new LoadBalance();
loadBalance.setService(serviceName);
+ loadBalance.setMethod(formatMethodName(balancingDTO.getMethodName()));
+ loadBalance.setStrategy(balancingDTO.getStrategy());
overrideService.saveOverride(OverrideUtils.loadBalanceToOverride(loadBalance));
return true;
}
@@ -55,33 +55,37 @@ public class LoadBalanceController {
@RequestMapping(value = "/update", method = RequestMethod.POST)
public boolean updateLoadbalance(@RequestBody BalancingDTO balancingDTO) {
Long id = balancingDTO.getId();
- String rule = balancingDTO.getRule();
Override override = overrideService.findById(id);
if (override == null) {
//TODO throw exception
}
- LoadBalance old = OverrideUtils.overrideToLoadBalance(override);
- Map<String, Object> result = YamlUtil.loadString(rule);
- LoadBalance loadBalance = generateLoadbalance(result);
+ LoadBalance old = overrideToLoadBalance(override);
+ LoadBalance loadBalance = new LoadBalance();
+ loadBalance.setStrategy(balancingDTO.getStrategy());
+ loadBalance.setMethod(formatMethodName(balancingDTO.getMethodName()));
loadBalance.setService(old.getService());
loadBalance.setId(old.getId());
overrideService.updateOverride(OverrideUtils.loadBalanceToOverride(loadBalance));
return true;
}
- @RequestMapping(value = "/search", method = RequestMethod.POST)
- public List<LoadBalance> allLoadbalances(@RequestBody Map<String, String> params) {
- String serviceName = params.get(params);
+ @RequestMapping(value = "/search", method = RequestMethod.GET)
+ public List<BalancingDTO> allLoadbalances(@RequestParam String serviceName) {
if (serviceName == null || serviceName.length() == 0) {
//TODO throw Exception
}
List<Override> overrides = overrideService.findByService(serviceName);
- List<LoadBalance> loadBalances = new ArrayList<>();
+ List<BalancingDTO> loadBalances = new ArrayList<>();
if (overrides != null) {
for (Override override : overrides) {
- LoadBalance l = OverrideUtils.overrideToLoadBalance(override);
+ LoadBalance l = overrideToLoadBalance(override);
if (l != null) {
- loadBalances.add(l);
+ BalancingDTO balancingDTO = new BalancingDTO();
+ balancingDTO.setService(l.getService());
+ balancingDTO.setMethodName(l.getMethod());
+ balancingDTO.setStrategy(l.getStrategy());
+ balancingDTO.setId(l.getId());
+ loadBalances.add(balancingDTO);
}
}
}
@@ -89,32 +93,31 @@ public class LoadBalanceController {
}
@RequestMapping("/detail")
- public LoadBalance detail(@RequestParam Long id) {
+ public BalancingDTO detail(@RequestParam Long id) {
Override override = overrideService.findById(id);
if (override == null) {
//TODO throw exception
}
- return OverrideUtils.overrideToLoadBalance(override);
+
+ LoadBalance loadBalance = OverrideUtils.overrideToLoadBalance(override);
+ BalancingDTO balancingDTO = new BalancingDTO();
+ balancingDTO.setService(loadBalance.getService());
+ balancingDTO.setMethodName(loadBalance.getMethod());
+ balancingDTO.setStrategy(loadBalance.getStrategy());
+ return balancingDTO;
}
@RequestMapping(value = "/delete", method = RequestMethod.POST)
- public boolean delete(@RequestBody Map<String, Long> params) {
- Long id = params.get("id");
+ public boolean delete(@RequestBody BaseDTO baseDTO) {
+ Long id = baseDTO.getId();
overrideService.deleteOverride(id);
return true;
}
- private LoadBalance generateLoadbalance(Map<String, Object> yaml) {
- LoadBalance loadBalance = new LoadBalance();
- String methodName;
- if (yaml.get("methodName").equals(0)) {
- methodName = "*";
- } else {
- methodName = (String)yaml.get("methodName");
+ private String formatMethodName(String method) {
+ if (method.equals("0")) {
+ return "*";
}
- String strategy = (String)yaml.get("strategy");
- loadBalance.setMethod(methodName);
- loadBalance.setStrategy(strategy);
- return loadBalance;
+ return method;
}
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
index 2bb1c4d..610ea27 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
@@ -17,6 +17,50 @@
package org.apache.dubbo.admin.controller;
+import org.apache.dubbo.admin.dto.OverrideDTO;
+import org.apache.dubbo.admin.governance.service.OverrideService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api/override")
public class OverridesController {
+ @Autowired
+ private OverrideService overrideService;
+
+ @RequestMapping(value = "/create", method = RequestMethod.POST)
+ public boolean createOverride(@RequestBody OverrideDTO overrideDTO) {
+ String serviceName = overrideDTO.getService();
+ if (serviceName == null || serviceName.length() == 0) {
+ //TODO throw exception
+ }
+// String[] mock =
+
+ return false;
+ }
+
+ @RequestMapping(value = "/update", method = RequestMethod.POST)
+ public boolean updateOverride(@RequestBody OverrideDTO overrideDTO) {
+ return false;
+ }
+
+ @RequestMapping(value = "/search", method = RequestMethod.POST)
+ public List<OverrideDTO> allOverride(@RequestBody Map<String, String> params) {
+ return null;
+ }
+
+ @RequestMapping("/detail")
+ public OverrideDTO detail(@RequestParam Long id) {
+ return null;
+ }
+
+ @RequestMapping(value = "/delete", method = RequestMethod.POST)
+ public boolean delete(@RequestBody Map<String, Long> params) {
+ return false;
+ }
+
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java
index e5b1b5b..90c91f0 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java
@@ -17,6 +17,7 @@
package org.apache.dubbo.admin.controller;
+import org.apache.dubbo.admin.dto.BaseDTO;
import org.apache.dubbo.admin.dto.RouteDTO;
import org.apache.dubbo.admin.governance.service.ProviderService;
import org.apache.dubbo.admin.governance.service.RouteService;
@@ -24,8 +25,8 @@ import org.apache.dubbo.admin.registry.common.domain.Route;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
@RestController
@RequestMapping("/api/routes")
@@ -38,7 +39,7 @@ public class RoutesController {
@RequestMapping(value = "/create", method = RequestMethod.POST)
public boolean createRule(@RequestBody RouteDTO routeDTO) {
- String serviceName = routeDTO.getServiceName();
+ String serviceName = routeDTO.getService();
String app = routeDTO.getApp();
if (serviceName == null && app == null) {
@@ -98,10 +99,9 @@ public class RoutesController {
return true;
}
- @RequestMapping(value = "/search", method = RequestMethod.POST)
- public List<Route> allRoutes(@RequestBody Map<String, String> params) {
- String app = params.get("app");
- String serviceName = params.get("serviceName");
+ @RequestMapping(value = "/search", method = RequestMethod.GET)
+ public List<RouteDTO> allRoutes(@RequestParam(required = false) String app,
+ @RequestParam(required = false) String serviceName) {
List<Route> routes = null;
if (app != null) {
// app scope in 2.7
@@ -112,54 +112,64 @@ public class RoutesController {
if (serviceName == null && app == null) {
// TODO throw exception
}
- //no support for findAll and findByaddress
- return routes;
+ List<RouteDTO> routeDTOS = new ArrayList<>();
+ for (Route route : routes) {
+ RouteDTO routeDTO = new RouteDTO();
+ routeDTO.setDynamic(route.isDynamic());
+ routeDTO.setConditions(new String[]{route.getRule()});
+ routeDTO.setEnabled(route.isEnabled());
+ routeDTO.setForce(route.isForce());
+ routeDTO.setGroup(route.getGroup());
+ routeDTO.setPriority(route.getPriority());
+ routeDTO.setRuntime(route.isRuntime());
+ routeDTO.setService(route.getService());
+ routeDTO.setId(route.getId());
+ routeDTOS.add(routeDTO);
+ }
+ //no support for findAll or findByaddress
+ return routeDTOS;
}
@RequestMapping("/detail")
- public Route routeDetail(@RequestParam long id) {
+ public RouteDTO routeDetail(@RequestParam long id) {
Route route = routeService.findRoute(id);
if (route == null) {
// TODO throw exception
}
- return route;
+ RouteDTO routeDTO = new RouteDTO();
+ routeDTO.setDynamic(route.isDynamic());
+ routeDTO.setConditions(new String[]{route.getRule()});
+ routeDTO.setEnabled(route.isEnabled());
+ routeDTO.setForce(route.isForce());
+ routeDTO.setGroup(route.getGroup());
+ routeDTO.setPriority(route.getPriority());
+ routeDTO.setRuntime(route.isRuntime());
+ routeDTO.setService(route.getService());
+ routeDTO.setId(route.getId());
+ return routeDTO;
}
@RequestMapping(value = "/delete", method = RequestMethod.POST)
- public boolean deleteRoute(@RequestBody Map<String, Long> params) {
- Long id = params.get("id");
+ public boolean deleteRoute(@RequestBody BaseDTO baseDTO) {
+ Long id = baseDTO.getId();
routeService.deleteRoute(id);
return true;
}
- @RequestMapping(value = "/edit", method = RequestMethod.POST)
- public Route editRule(@RequestBody Map<String, Long> params) {
- Long id = params.get("id");
- Route route = routeService.findRoute(id);
- if (route == null) {
- // TODO throw exception
- }
- return route;
- }
-
- @RequestMapping(value = "/changeStatus", method = RequestMethod.POST)
- public boolean enableRoute(@RequestBody Map<String, Object> params) {
- boolean enabled = (boolean)params.get("enabled");
+ @RequestMapping(value = "/enable", method = RequestMethod.POST)
+ public boolean enableRoute(@RequestBody BaseDTO baseDTO) {
- long id = Long.parseLong(params.get("id").toString());
- if (enabled) {
- routeService.disableRoute(id);
- } else {
- routeService.enableRoute(id);
- }
+ Long id = baseDTO.getId();
+ routeService.enableRoute(id);
return true;
}
- private Object getParameter(Map<String, Object> result, String key, Object defaultValue) {
- if (result.get(key) != null) {
- return result.get(key);
- }
- return defaultValue;
+ @RequestMapping(value = "/disable", method = RequestMethod.POST)
+ public boolean disableRoute(@RequestBody BaseDTO baseDTO) {
+
+ Long id = baseDTO.getId();
+ routeService.disableRoute(id);
+ return true;
}
public static void main(String[] args) {
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
index 4c3730d..a7187c0 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java
@@ -17,20 +17,17 @@
package org.apache.dubbo.admin.controller;
-import org.apache.dubbo.admin.domain.ServiceDO;
-import org.apache.dubbo.admin.domain.ServiceDetailDO;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.utils.StringUtils;
+import org.apache.dubbo.admin.dto.ServiceDTO;
+import org.apache.dubbo.admin.dto.ServiceDetailDTO;
import org.apache.dubbo.admin.governance.service.ConsumerService;
import org.apache.dubbo.admin.governance.service.ProviderService;
import org.apache.dubbo.admin.registry.common.domain.Consumer;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -46,23 +43,21 @@ public class ServiceController {
@Autowired
private ConsumerService consumerService;
- @RequestMapping(value = "/search", method = RequestMethod.POST)
- public List<ServiceDO> search(@RequestBody Map<String, String> params) {
-
- String pattern = params.get("pattern");
- String filter = params.get("filter");
+ @RequestMapping(value = "/search", method = RequestMethod.GET)
+ public List<ServiceDTO> search(@RequestParam String pattern,
+ @RequestParam String filter) {
List<Provider> allProviders = providerService.findAll();
- List<ServiceDO> result = new ArrayList<>();
+ List<ServiceDTO> result = new ArrayList<>();
if (pattern.equals("application")) {
for (Provider provider : allProviders) {
Map<String, String> map = StringUtils.parseQueryString(provider.getParameters());
String app = map.get(Constants.APPLICATION_KEY);
if (app.toLowerCase().contains(filter)) {
- ServiceDO s = new ServiceDO();
+ ServiceDTO s = new ServiceDTO();
s.setAppName(app);
- s.setServiceName(provider.getService());
+ s.setService(provider.getService());
s.setGroup(map.get(Constants.GROUP_KEY));
s.setVersion(map.get(Constants.VERSION_KEY));
result.add(s);
@@ -74,9 +69,9 @@ public class ServiceController {
String service = provider.getService();
Map<String, String> map = StringUtils.parseQueryString(provider.getParameters());
if (service.toLowerCase().contains(filter.toLowerCase())) {
- ServiceDO s = new ServiceDO();
+ ServiceDTO s = new ServiceDTO();
s.setAppName(map.get(Constants.APPLICATION_KEY));
- s.setServiceName(service);
+ s.setService(service);
s.setGroup(map.get(Constants.GROUP_KEY));
s.setVersion(map.get(Constants.VERSION_KEY));
result.add(s);
@@ -88,9 +83,9 @@ public class ServiceController {
String address = provider.getAddress();
Map<String, String> map = StringUtils.parseQueryString(provider.getParameters());
if (address.contains(filter)) {
- ServiceDO s = new ServiceDO();
+ ServiceDTO s = new ServiceDTO();
s.setAppName(map.get(Constants.APPLICATION_KEY));
- s.setServiceName(provider.getService());
+ s.setService(provider.getService());
s.setGroup(map.get(Constants.GROUP_KEY));
s.setVersion(map.get(Constants.VERSION_KEY));
result.add(s);
@@ -102,15 +97,15 @@ public class ServiceController {
}
@RequestMapping("/detail")
- public ServiceDetailDO serviceDetail(@RequestParam String app, @RequestParam String service) {
+ public ServiceDetailDTO serviceDetail(@RequestParam String app, @RequestParam String service) {
List<Provider> providers = providerService.findByAppandService(app, service);
List<Consumer> consumers = consumerService.findByAppandService(app, service);
- ServiceDetailDO serviceDetailDO = new ServiceDetailDO();
- serviceDetailDO.setConsumers(consumers);
- serviceDetailDO.setProviders(providers);
- return serviceDetailDO;
+ ServiceDetailDTO serviceDetailDTO = new ServiceDetailDTO();
+ serviceDetailDTO.setConsumers(consumers);
+ serviceDetailDTO.setProviders(providers);
+ return serviceDetailDTO;
}
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/WeightController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/WeightController.java
index 42eda14..e0fcc24 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/WeightController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/WeightController.java
@@ -17,11 +17,12 @@
package org.apache.dubbo.admin.controller;
+import org.apache.dubbo.admin.dto.BaseDTO;
+import org.apache.dubbo.admin.dto.WeightDTO;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Weight;
import org.apache.dubbo.admin.registry.common.util.OverrideUtils;
-import org.apache.dubbo.admin.dto.WeightDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -65,32 +66,43 @@ public class WeightController {
return true;
}
- @RequestMapping(value = "/search", method = RequestMethod.POST)
- public List<Weight> allWeight(@RequestBody Map<String, String> params) {
- String serviceName = params.get("serviceName");
+ @RequestMapping(value = "/search", method = RequestMethod.GET)
+ public List<WeightDTO> allWeight(@RequestParam String serviceName) {
List<Override> overrides = overrideService.findByService(serviceName);
- List<Weight> weights = new ArrayList<>();
+ List<WeightDTO> weightDTOS = new ArrayList<>();
for (Override override : overrides) {
Weight w = OverrideUtils.overrideToWeight(override);
if (w != null) {
- weights.add(w);
+ WeightDTO weightDTO = new WeightDTO();
+ weightDTO.setProvider(new String[]{w.getAddress()});
+ weightDTO.setService(w.getService());
+ weightDTO.setWeight(w.getWeight());
+ weightDTO.setId(w.getId());
+ weightDTOS.add(weightDTO);
}
}
- return weights;
+ return weightDTOS;
}
@RequestMapping("/detail")
- public Weight detail(@RequestParam Long id) {
+ public WeightDTO detail(@RequestParam Long id) {
Override override = overrideService.findById(id);
if (override != null) {
- return OverrideUtils.overrideToWeight(override);
+
+ Weight w = OverrideUtils.overrideToWeight(override);
+ WeightDTO weightDTO = new WeightDTO();
+ weightDTO.setProvider(new String[]{w.getAddress()});
+ weightDTO.setService(w.getService());
+ weightDTO.setWeight(w.getWeight());
+ weightDTO.setId(w.getId());
+ return weightDTO;
}
return null;
}
@RequestMapping(value = "/delete", method = RequestMethod.POST)
- public boolean delete(@RequestBody Map<String, Long> params) {
- Long id = params.get("id");
+ public boolean delete(@RequestBody BaseDTO baseDTO) {
+ Long id = baseDTO.getId();
overrideService.deleteOverride(id);
return true;
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BalancingDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BalancingDTO.java
index ead2b39..d73d348 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BalancingDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BalancingDTO.java
@@ -17,36 +17,33 @@
package org.apache.dubbo.admin.dto;
-/**
- * @author zmx ON 2018/9/25
- */
-public class BalancingDTO {
+public class BalancingDTO extends BaseDTO{
- private Long id;
- private String serviceName;
- private String rule;
+ private String service;
+ private String methodName;
+ private String strategy;
- public Long getId() {
- return id;
+ public String getService() {
+ return service;
}
- public void setId(Long id) {
- this.id = id;
+ public void setService(String service) {
+ this.service = service;
}
- public String getServiceName() {
- return serviceName;
+ public String getMethodName() {
+ return methodName;
}
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
+ public void setMethodName(String methodName) {
+ this.methodName = methodName;
}
- public String getRule() {
- return rule;
+ public String getStrategy() {
+ return strategy;
}
- public void setRule(String rule) {
- this.rule = rule;
+ public void setStrategy(String strategy) {
+ this.strategy = strategy;
}
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/OverrideDTO.java
similarity index 51%
copy from dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java
copy to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/OverrideDTO.java
index f8e0f29..d29936f 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/OverrideDTO.java
@@ -17,25 +17,15 @@
package org.apache.dubbo.admin.dto;
-public class RouteDTO {
- private Long id;
- private String app;
- private String serviceName;
- private String group;
- private boolean dynamic;
- private int priority;
- private boolean enabled;
- private boolean force;
- private boolean runtime;
- private String[] conditions;
-
- public Long getId() {
- return id;
- }
+public class OverrideDTO {
- public void setId(Long id) {
- this.id = id;
- }
+ String app;
+ String service;
+ String address;
+ boolean dynamic;
+ boolean enabled;
+ String[] parameters;
+ String[] mock;
public String getApp() {
return app;
@@ -45,20 +35,20 @@ public class RouteDTO {
this.app = app;
}
- public String getServiceName() {
- return serviceName;
+ public String getService() {
+ return service;
}
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
+ public void setService(String service) {
+ this.service = service;
}
- public String getGroup() {
- return group;
+ public String getAddress() {
+ return address;
}
- public void setGroup(String group) {
- this.group = group;
+ public void setAddress(String address) {
+ this.address = address;
}
public boolean isDynamic() {
@@ -69,14 +59,6 @@ public class RouteDTO {
this.dynamic = dynamic;
}
- public int getPriority() {
- return priority;
- }
-
- public void setPriority(int priority) {
- this.priority = priority;
- }
-
public boolean isEnabled() {
return enabled;
}
@@ -85,27 +67,19 @@ public class RouteDTO {
this.enabled = enabled;
}
- public boolean isForce() {
- return force;
- }
-
- public void setForce(boolean force) {
- this.force = force;
- }
-
- public boolean isRuntime() {
- return runtime;
+ public String[] getParameters() {
+ return parameters;
}
- public void setRuntime(boolean runtime) {
- this.runtime = runtime;
+ public void setParameters(String[] parameters) {
+ this.parameters = parameters;
}
- public String[] getConditions() {
- return conditions;
+ public String[] getMock() {
+ return mock;
}
- public void setConditions(String[] conditions) {
- this.conditions = conditions;
+ public void setMock(String[] mock) {
+ this.mock = mock;
}
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java
index f8e0f29..10196a4 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/RouteDTO.java
@@ -17,10 +17,9 @@
package org.apache.dubbo.admin.dto;
-public class RouteDTO {
- private Long id;
+public class RouteDTO extends BaseDTO{
private String app;
- private String serviceName;
+ private String service;
private String group;
private boolean dynamic;
private int priority;
@@ -29,14 +28,6 @@ public class RouteDTO {
private boolean runtime;
private String[] conditions;
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
public String getApp() {
return app;
}
@@ -45,12 +36,12 @@ public class RouteDTO {
this.app = app;
}
- public String getServiceName() {
- return serviceName;
+ public String getService() {
+ return service;
}
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
+ public void setService(String service) {
+ this.service = service;
}
public String getGroup() {
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDTO.java
similarity index 84%
rename from dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java
rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDTO.java
index f69f461..a510293 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDTO.java
@@ -15,20 +15,20 @@
* limitations under the License.
*/
-package org.apache.dubbo.admin.domain;
+package org.apache.dubbo.admin.dto;
-public class ServiceDO {
- private String serviceName;
+public class ServiceDTO {
+ private String service;
private String appName;
private String group;
private String version;
- public String getServiceName() {
- return serviceName;
+ public String getService() {
+ return service;
}
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
+ public void setService(String service) {
+ this.service = service;
}
public String getAppName() {
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDetailDTO.java
similarity index 95%
rename from dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java
rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDetailDTO.java
index fbb6a76..757b1c5 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/ServiceDetailDTO.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.dubbo.admin.domain;
+package org.apache.dubbo.admin.dto;
import org.apache.dubbo.admin.registry.common.domain.Consumer;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import java.util.List;
-public class ServiceDetailDO {
+public class ServiceDetailDTO {
List<Provider> providers;
List<Consumer> consumers;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/WeightDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/WeightDTO.java
index 46b53a7..b59fe2c 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/WeightDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/WeightDTO.java
@@ -17,12 +17,9 @@
package org.apache.dubbo.admin.dto;
-import java.util.List;
-
-public class WeightDTO {
+public class WeightDTO extends BaseDTO{
private String service;
- private Long id;
private int weight;
private String[] provider;
@@ -34,14 +31,6 @@ public class WeightDTO {
this.service = service;
}
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
public int getWeight() {
return weight;
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java
index 56959b3..127b5fa 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java
@@ -17,13 +17,13 @@
package org.apache.dubbo.admin.filter;
+import com.alibaba.dubbo.common.logger.Logger;
+import com.alibaba.dubbo.common.logger.LoggerFactory;
+import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.governance.service.UserService;
import org.apache.dubbo.admin.governance.util.WebConstants;
import org.apache.dubbo.admin.registry.common.domain.User;
import org.apache.dubbo.admin.registry.common.util.Coder;
-import com.alibaba.dubbo.common.logger.Logger;
-import com.alibaba.dubbo.common.logger.LoggerFactory;
-import com.alibaba.dubbo.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.*;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java
index 43f060f..a352778 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java
@@ -17,8 +17,8 @@
package org.apache.dubbo.admin.governance.biz.common.i18n.impl;
-import org.apache.dubbo.admin.web.mvc.common.i18n.LocaleUtil;
import org.apache.dubbo.admin.governance.biz.common.i18n.MessageResourceService;
+import org.apache.dubbo.admin.web.mvc.common.i18n.LocaleUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.NoSuchMessageException;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java
index 45af685..484c203 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java
@@ -16,12 +16,12 @@
*/
package org.apache.dubbo.admin.governance.service.impl;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.URL;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.sync.util.Pair;
import org.apache.dubbo.admin.governance.sync.util.SyncUtils;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.springframework.stereotype.Component;
import java.util.HashMap;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java
index dd276a7..b436726 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java
@@ -16,12 +16,12 @@
*/
package org.apache.dubbo.admin.governance.service.impl;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.service.OwnerService;
import org.apache.dubbo.admin.governance.service.ProviderService;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Owner;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java
index 2732258..fc0dcf3 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java
@@ -16,7 +16,6 @@
*/
package org.apache.dubbo.admin.governance.service.impl;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.StringUtils;
@@ -24,12 +23,12 @@ import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.service.ProviderService;
import org.apache.dubbo.admin.governance.sync.util.Pair;
import org.apache.dubbo.admin.governance.sync.util.SyncUtils;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.apache.dubbo.admin.registry.common.route.ParseUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java
index f6941c2..b634afa 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java
@@ -16,11 +16,11 @@
*/
package org.apache.dubbo.admin.governance.sync.util;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.registry.common.domain.Consumer;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.apache.dubbo.admin.registry.common.domain.Route;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java
index ecc977e..ccc95cd 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java
@@ -16,9 +16,9 @@
*/
package org.apache.dubbo.admin.registry.common.domain;
-import org.apache.dubbo.admin.registry.common.registry.ConvertUtil;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.URL;
+import org.apache.dubbo.admin.registry.common.registry.ConvertUtil;
import java.util.Date;
import java.util.List;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java
index 374c67f..d229ed5 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java
@@ -16,10 +16,10 @@
*/
package org.apache.dubbo.admin.registry.common.route;
+import com.alibaba.dubbo.common.Constants;
import org.apache.dubbo.admin.registry.common.domain.Consumer;
import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Provider;
-import com.alibaba.dubbo.common.Constants;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java
index 4575a9f..ab8f3f7 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java
@@ -16,15 +16,11 @@
*/
package org.apache.dubbo.admin.registry.common.route;
-import org.apache.dubbo.admin.registry.common.domain.Route;
import com.alibaba.dubbo.common.utils.StringUtils;
+import org.apache.dubbo.admin.registry.common.domain.Route;
import java.text.ParseException;
-import java.util.Map;
-import java.util.Set;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Collections;
+import java.util.*;
import java.util.Map.Entry;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java
index 0ba04d3..8bab986 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java
@@ -16,10 +16,10 @@
*/
package org.apache.dubbo.admin.registry.common.route;
+import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.apache.dubbo.admin.registry.common.domain.Route;
-import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.web.pulltool.Tool;
import java.net.URI;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java
index 288d6f0..0f9f439 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java
@@ -16,10 +16,10 @@
*/
package org.apache.dubbo.admin.registry.common.util;
+import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.registry.common.domain.LoadBalance;
import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Weight;
-import com.alibaba.dubbo.common.utils.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java
index 2f96c3f..8bf7f1d 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java
@@ -1,434 +1,434 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.admin.web.mvc.governance;
-
-import org.apache.dubbo.admin.registry.common.domain.Override;
-import com.alibaba.dubbo.common.URL;
-import com.alibaba.dubbo.common.utils.CollectionUtils;
-import com.alibaba.dubbo.common.utils.StringUtils;
-import org.apache.dubbo.admin.governance.service.ConsumerService;
-import org.apache.dubbo.admin.governance.service.OverrideService;
-import org.apache.dubbo.admin.governance.service.ProviderService;
-import org.apache.dubbo.admin.web.mvc.BaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.validation.support.BindingAwareModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-@Controller
-@RequestMapping("/governance/overrides")
-public class OverridesController extends BaseController {
- static final Pattern AND = Pattern.compile("\\&");
- static final Pattern EQUAL = Pattern.compile("([^=\\s]*)\\s*=\\s*(\\S*)");
- static final String DEFAULT_MOCK_JSON_KEY = "mock";
- static final String MOCK_JSON_KEY_POSTFIX = ".mock";
- static final String FORM_OVERRIDE_KEY = "overrideKey";
- static final String FORM_OVERRIDE_VALUE = "overrideValue";
- static final String FORM_DEFAULT_MOCK_METHOD_FORCE = "mockDefaultMethodForce";
- static final String FORM_DEFAULT_MOCK_METHOD_JSON = "mockDefaultMethodJson";
- static final String FORM_ORIGINAL_METHOD_FORCE_PREFIX = "mockMethodForce.";
- static final String FORM_ORIGINAL_METHOD_PREFIX = "mockMethod.";
- static final String FORM_DYNAMIC_METHOD_NAME_PREFIX = "mockMethodName";
- static final String FORM_DYNAMIC_METHOD_FORCE_PREFIX = "mockMethodForce";
- static final String FORM_DYNAMIC_METHOD_JSON_PREFIX = "mockMethodJson";
- @Autowired
- private OverrideService overrideService;
-
- // FORM KEY
- @Autowired
- private ProviderService providerService;
- @Autowired
- private ConsumerService consumerService;
-
- static Map<String, String> parseQueryString(String query) {
- HashMap<String, String> ret = new HashMap<String, String>();
- if (query == null || (query = query.trim()).length() == 0) return ret;
-
- String[] kvs = AND.split(query);
- for (String kv : kvs) {
- Matcher matcher = EQUAL.matcher(kv);
- if (!matcher.matches()) continue;
- String key = matcher.group(1);
- String value = matcher.group(2);
- ret.put(key, value);
- }
-
- return ret;
- }
-
- @RequestMapping("")
- public String index(HttpServletRequest request, HttpServletResponse response, Model model) {
- prepare(request, response, model, "index", "overrides");
- BindingAwareModelMap newModel = (BindingAwareModelMap)model;
- String service = (String)newModel.get("service");
- String application = (String)newModel.get("app");
- String address = (String)newModel.get("address");
- List<Override> overrides;
- if (StringUtils.isNotEmpty(service)) {
- overrides = overrideService.findByService(service);
- } else if (StringUtils.isNotEmpty(application)) {
- overrides = overrideService.findByApplication(application);
- } else if (StringUtils.isNotEmpty(address)) {
- overrides = overrideService.findByAddress(address);
- } else {
- overrides = overrideService.findAll();
- }
- model.addAttribute("overrides", overrides);
- return "governance/screen/overrides/index";
- }
-
- @RequestMapping("/detail")
- public String show(@RequestParam Long id, HttpServletRequest request, HttpServletResponse response,
- Model model) {
- prepare(request, response, model, "show", "overrides");
- Override override = overrideService.findById(id);
-
- Map<String, String> parameters = parseQueryString(override.getParams());
-
- if (parameters.get(DEFAULT_MOCK_JSON_KEY) != null) {
- String mock = URL.decode(parameters.get(DEFAULT_MOCK_JSON_KEY));
- String[] tokens = parseMock(mock);
- model.addAttribute(FORM_DEFAULT_MOCK_METHOD_FORCE, tokens[0]);
- model.addAttribute(FORM_DEFAULT_MOCK_METHOD_JSON, tokens[1]);
- parameters.remove(DEFAULT_MOCK_JSON_KEY);
- }
-
- Map<String, String> method2Force = new LinkedHashMap<String, String>();
- Map<String, String> method2Json = new LinkedHashMap<String, String>();
-
- for (Iterator<Entry<String, String>> iterator = parameters.entrySet().iterator(); iterator.hasNext(); ) {
- Map.Entry<String, String> e = iterator.next();
- String key = e.getKey();
-
- if (key.endsWith(MOCK_JSON_KEY_POSTFIX)) {
- String m = key.substring(0, key.length() - MOCK_JSON_KEY_POSTFIX.length());
- parseMock(m, e.getValue(), method2Force, method2Json);
- iterator.remove();
- }
- }
-
- model.addAttribute("methodForces", method2Force);
- model.addAttribute("methodJsons", method2Json);
- model.addAttribute("parameters", parameters);
- model.addAttribute("override", override);
- return "governance/screen/overrides/show";
- }
-
- @RequestMapping("/add")
- public String add(HttpServletRequest request, HttpServletResponse response, Model model) {
- prepare(request, response, model,"add", "overrides");
- BindingAwareModelMap newModel = (BindingAwareModelMap)model;
- String application = (String)newModel.get("app");
- String service = (String)newModel.get("service");
- List<String> serviceList = new ArrayList<String>();
- List<String> applicationList = new ArrayList<String>();
- if (StringUtils.isNotEmpty(application)) {
- serviceList.addAll(providerService.findServicesByApplication(application));
- serviceList.addAll(consumerService.findServicesByApplication(application));
- model.addAttribute("serviceList", serviceList);
- } else if (StringUtils.isNotEmpty(service)) {
- applicationList.addAll(providerService.findApplicationsByServiceName(service));
- applicationList.addAll(consumerService.findApplicationsByServiceName(service));
- model.addAttribute("applicationList", applicationList);
- } else {
- serviceList.addAll(providerService.findServices());
- serviceList.addAll(consumerService.findServices());
- providerService.findServicesByApplication(application);
- consumerService.findServicesByApplication(application);
- }
- model.addAttribute("serviceList", serviceList);
-
- if (StringUtils.isNotEmpty(service) && !service.contains("*")) {
- model.addAttribute("methods", CollectionUtils.sort(new ArrayList<String>(providerService.findMethodsByService(service))));
- }
- return "governance/screen/overrides/add";
- }
-
- @RequestMapping("/edit")
- public String edit(@RequestParam("id") Long id, HttpServletRequest request, HttpServletResponse response,
- Model model) {
- prepare(request, response, model, "edit", "overrides");
- Override override = overrideService.findById(id);
-
- Map<String, String> parameters = parseQueryString(override.getParams());
-
- if (parameters.get(DEFAULT_MOCK_JSON_KEY) != null) {
- String mock = URL.decode(parameters.get(DEFAULT_MOCK_JSON_KEY));
- String[] tokens = parseMock(mock);
- model.addAttribute(FORM_DEFAULT_MOCK_METHOD_FORCE, tokens[0]);
- model.addAttribute(FORM_DEFAULT_MOCK_METHOD_JSON, tokens[1]);
- parameters.remove(DEFAULT_MOCK_JSON_KEY);
- }
-
- Map<String, String> method2Force = new LinkedHashMap<String, String>();
- Map<String, String> method2Json = new LinkedHashMap<String, String>();
-
- List<String> methods = CollectionUtils.sort(new ArrayList<String>(providerService.findMethodsByService(override.getService())));
- if (methods != null && methods.isEmpty()) {
- for (String m : methods) {
- parseMock(m, parameters.get(m + MOCK_JSON_KEY_POSTFIX), method2Force, method2Json);
- parameters.remove(m + MOCK_JSON_KEY_POSTFIX);
- }
- }
- for (Iterator<Entry<String, String>> iterator = parameters.entrySet().iterator(); iterator.hasNext(); ) {
- Map.Entry<String, String> e = iterator.next();
- String key = e.getKey();
-
- if (key.endsWith(MOCK_JSON_KEY_POSTFIX)) {
- String m = key.substring(0, key.length() - MOCK_JSON_KEY_POSTFIX.length());
- parseMock(m, e.getValue(), method2Force, method2Json);
- iterator.remove();
- }
- }
-
- model.addAttribute("methods", methods);
- model.addAttribute("methodForces", method2Force);
- model.addAttribute("methodJsons", method2Json);
- model.addAttribute("parameters", parameters);
- model.addAttribute("override", override);
- return "governance/screen/overrides/edit";
- }
-
- private void parseMock(String m, String mock, Map<String, String> method2Force, Map<String, String> method2Json) {
- String[] tokens = parseMock(mock);
- method2Force.put(m, tokens[0]);
- method2Json.put(m, tokens[1]);
- }
-
- private String[] parseMock(String mock) {
- mock = URL.decode(mock);
- String force;
- if (mock.startsWith("force:")) {
- force = "force";
- mock = mock.substring("force:".length());
- } else if (mock.startsWith("fail:")) {
- force = "fail";
- mock = mock.substring("fail:".length());
- } else {
- force = "fail";
- }
- String[] tokens = new String[2];
- tokens[0] = force;
- tokens[1] = mock;
- return tokens;
- }
-
- boolean catchParams(Override override, HttpServletRequest request, Model model) {
- Map<String, String[]> map = request.getParameterMap();
- String service = map.get("service")[0];
- if (service == null || service.trim().length() == 0) {
- model.addAttribute("message", getMessage("service is blank!"));
- return false;
- }
- if (!super.currentUser.hasServicePrivilege(service)) {
- model.addAttribute("message", getMessage("HaveNoServicePrivilege", service));
- return false;
- }
-
- String defaultMockMethodForce = map.get(FORM_DEFAULT_MOCK_METHOD_FORCE)[0];
- String defaultMockMethodJson = map.get(FORM_DEFAULT_MOCK_METHOD_JSON)[0];
-
- Map<String, String> override2Value = new HashMap<String, String>();
- Map<String, String> method2Json = new HashMap<String, String>();
-
- for (Map.Entry<String, String[]> param : map.entrySet()) {
- String key = param.getKey().trim();
- if(param.getValue().length != 1) continue;;
-
- String value = param.getValue()[0];
-
- if (key.startsWith(FORM_OVERRIDE_KEY) && value != null && value.trim().length() > 0) {
- String index = key.substring(FORM_OVERRIDE_KEY.length());
- String overrideValue = map.get(FORM_OVERRIDE_VALUE + index)[0];
- if (overrideValue != null && overrideValue.trim().length() > 0) {
- override2Value.put(value.trim(), overrideValue.trim());
- }
- }
-
- if (key.startsWith(FORM_ORIGINAL_METHOD_PREFIX) && value != null && value.trim().length() > 0) {
- String method = key.substring(FORM_ORIGINAL_METHOD_PREFIX.length());
- String force = map.get(FORM_ORIGINAL_METHOD_FORCE_PREFIX + method)[0];
- method2Json.put(method, force + ":" + value.trim());
- }
-
- if (key.startsWith(FORM_DYNAMIC_METHOD_NAME_PREFIX) && value != null && value.trim().length() > 0) {
- String index = key.substring(FORM_DYNAMIC_METHOD_NAME_PREFIX.length());
- String force = map.get(FORM_DYNAMIC_METHOD_FORCE_PREFIX + index)[0];
- String json = map.get(FORM_DYNAMIC_METHOD_JSON_PREFIX + index)[0];
-
- if (json != null && json.trim().length() > 0) {
- method2Json.put(value.trim(), force + ":" + json.trim());
- }
- }
- }
-
- StringBuilder paramters = new StringBuilder();
- boolean isFirst = true;
- if (defaultMockMethodJson != null && defaultMockMethodJson.trim().length() > 0) {
- paramters.append("mock=").append(URL.encode(defaultMockMethodForce + ":" + defaultMockMethodJson.trim()));
- isFirst = false;
- }
- for (Map.Entry<String, String> e : method2Json.entrySet()) {
- if (isFirst) isFirst = false;
- else paramters.append("&");
-
- paramters.append(e.getKey()).append(MOCK_JSON_KEY_POSTFIX).append("=").append(URL.encode(e.getValue()));
- }
- for (Map.Entry<String, String> e : override2Value.entrySet()) {
- if (isFirst) isFirst = false;
- else paramters.append("&");
-
- paramters.append(e.getKey()).append("=").append(URL.encode(e.getValue()));
- }
-
- String p = paramters.toString();
- if (p.trim().length() == 0) {
- model.addAttribute("message", getMessage("Please enter Parameters!"));
- return false;
- }
-
- override.setParams(p);
- return true;
- }
-
-
- @RequestMapping("/create")
- public String create(Override override, HttpServletRequest request,
- HttpServletResponse response, Model model) {
- prepare(request,response,model,"update", "overrides");
- boolean success = true;
- if (!catchParams(override, request, model)) {
- success =false;
- } else {
- overrideService.saveOverride(override);
- }
-
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../overrides");
- return "governance/screen/redirect";
- }
-
- @RequestMapping("/update")
- public String update(Override override, HttpServletRequest request,
- HttpServletResponse response, Model model) {
- prepare(request, response, model, "update", "overrides");
- boolean succcess = true;
- Override o = overrideService.findById(override.getId());
- override.setService(o.getService());
- override.setAddress(o.getAddress());
- override.setApplication(o.getApplication());
-
- if (!catchParams(override, request, model)) {
- succcess = false;
- } else {
- overrideService.updateOverride(override);
- }
-
- model.addAttribute("success", succcess);
- model.addAttribute("redirect", "../overrides");
- return "governance/screen/redirect";
-
- }
-
- @RequestMapping("/delete")
- public String delete(@RequestParam("ids") Long[] ids, HttpServletRequest request,
- HttpServletResponse response, Model model) {
- prepare(request, response, model, "delete", "overrides");
- for (Long id : ids) {
- overrideService.deleteOverride(id);
- }
-
- model.addAttribute("success", true);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- }
-
- @RequestMapping("/enable")
- public String enable(@RequestParam("ids") Long[] ids, HttpServletRequest request,
- HttpServletResponse response, Model model) {
- prepare(request, response, model, "enable", "overrides");
- boolean success = true;
- for (Long id : ids) {
- Override override = overrideService.findById(id);
- if (override == null) {
- model.addAttribute("message", getMessage("NoSuchOperationData", id));
- success = false;
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- } else {
- if (!super.currentUser.hasServicePrivilege(override.getService())) {
- model.addAttribute("message", getMessage("HaveNoServicePrivilege", override.getService()));
- success = false;
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- }
- }
- }
-
- for (Long id : ids) {
- overrideService.enableOverride(id);
- }
-
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- }
-
- @RequestMapping("/disable")
- public String disable(@RequestParam("ids") Long[] ids, HttpServletRequest request,
- HttpServletResponse response, Model model) {
- prepare(request, response, model, "disable", "overrides");
- boolean success = true;
- for (Long id : ids) {
- Override override = overrideService.findById(id);
- if (override == null) {
- model.addAttribute("message", getMessage("NoSuchOperationData", id));
- success = false;
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- } else {
- if (!super.currentUser.hasServicePrivilege(override.getService())) {
- model.addAttribute("message", getMessage("HaveNoServicePrivilege", override.getService()));
- success = false;
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- }
- }
- }
-
- for (Long id : ids) {
- overrideService.disableOverride(id);
- }
- model.addAttribute("success", success);
- model.addAttribute("redirect", "../../overrides");
- return "governance/screen/redirect";
- }
-
-}
+///*
+// * Licensed to the Apache Software Foundation (ASF) under one or more
+// * contributor license agreements. See the NOTICE file distributed with
+// * this work for additional information regarding copyright ownership.
+// * The ASF licenses this file to You under the Apache License, Version 2.0
+// * (the "License"); you may not use this file except in compliance with
+// * the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing, software
+// * distributed under the License is distributed on an "AS IS" BASIS,
+// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// * See the License for the specific language governing permissions and
+// * limitations under the License.
+// */
+//package org.apache.dubbo.admin.web.mvc.governance;
+//
+//import org.apache.dubbo.admin.registry.common.domain.Override;
+//import com.alibaba.dubbo.common.URL;
+//import com.alibaba.dubbo.common.utils.CollectionUtils;
+//import com.alibaba.dubbo.common.utils.StringUtils;
+//import org.apache.dubbo.admin.governance.service.ConsumerService;
+//import org.apache.dubbo.admin.governance.service.OverrideService;
+//import org.apache.dubbo.admin.governance.service.ProviderService;
+//import org.apache.dubbo.admin.web.mvc.BaseController;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Controller;
+//import org.springframework.ui.Model;
+//import org.springframework.validation.support.BindingAwareModelMap;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RequestParam;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.util.*;
+//import java.util.Map.Entry;
+//import java.util.regex.Matcher;
+//import java.util.regex.Pattern;
+//
+//@Controller
+//@RequestMapping("/governance/overrides")
+//public class OverridesController extends BaseController {
+// static final Pattern AND = Pattern.compile("\\&");
+// static final Pattern EQUAL = Pattern.compile("([^=\\s]*)\\s*=\\s*(\\S*)");
+// static final String DEFAULT_MOCK_JSON_KEY = "mock";
+// static final String MOCK_JSON_KEY_POSTFIX = ".mock";
+// static final String FORM_OVERRIDE_KEY = "overrideKey";
+// static final String FORM_OVERRIDE_VALUE = "overrideValue";
+// static final String FORM_DEFAULT_MOCK_METHOD_FORCE = "mockDefaultMethodForce";
+// static final String FORM_DEFAULT_MOCK_METHOD_JSON = "mockDefaultMethodJson";
+// static final String FORM_ORIGINAL_METHOD_FORCE_PREFIX = "mockMethodForce.";
+// static final String FORM_ORIGINAL_METHOD_PREFIX = "mockMethod.";
+// static final String FORM_DYNAMIC_METHOD_NAME_PREFIX = "mockMethodName";
+// static final String FORM_DYNAMIC_METHOD_FORCE_PREFIX = "mockMethodForce";
+// static final String FORM_DYNAMIC_METHOD_JSON_PREFIX = "mockMethodJson";
+// @Autowired
+// private OverrideService overrideService;
+//
+// // FORM KEY
+// @Autowired
+// private ProviderService providerService;
+// @Autowired
+// private ConsumerService consumerService;
+//
+// static Map<String, String> parseQueryString(String query) {
+// HashMap<String, String> ret = new HashMap<String, String>();
+// if (query == null || (query = query.trim()).length() == 0) return ret;
+//
+// String[] kvs = AND.split(query);
+// for (String kv : kvs) {
+// Matcher matcher = EQUAL.matcher(kv);
+// if (!matcher.matches()) continue;
+// String key = matcher.group(1);
+// String value = matcher.group(2);
+// ret.put(key, value);
+// }
+//
+// return ret;
+// }
+//
+// @RequestMapping("")
+// public String index(HttpServletRequest request, HttpServletResponse response, Model model) {
+// prepare(request, response, model, "index", "overrides");
+// BindingAwareModelMap newModel = (BindingAwareModelMap)model;
+// String service = (String)newModel.get("service");
+// String application = (String)newModel.get("app");
+// String address = (String)newModel.get("address");
+// List<Override> overrides;
+// if (StringUtils.isNotEmpty(service)) {
+// overrides = overrideService.findByService(service);
+// } else if (StringUtils.isNotEmpty(application)) {
+// overrides = overrideService.findByApplication(application);
+// } else if (StringUtils.isNotEmpty(address)) {
+// overrides = overrideService.findByAddress(address);
+// } else {
+// overrides = overrideService.findAll();
+// }
+// model.addAttribute("overrides", overrides);
+// return "governance/screen/overrides/index";
+// }
+//
+// @RequestMapping("/detail")
+// public String show(@RequestParam Long id, HttpServletRequest request, HttpServletResponse response,
+// Model model) {
+// prepare(request, response, model, "show", "overrides");
+// Override override = overrideService.findById(id);
+//
+// Map<String, String> parameters = parseQueryString(override.getParams());
+//
+// if (parameters.get(DEFAULT_MOCK_JSON_KEY) != null) {
+// String mock = URL.decode(parameters.get(DEFAULT_MOCK_JSON_KEY));
+// String[] tokens = parseMock(mock);
+// model.addAttribute(FORM_DEFAULT_MOCK_METHOD_FORCE, tokens[0]);
+// model.addAttribute(FORM_DEFAULT_MOCK_METHOD_JSON, tokens[1]);
+// parameters.remove(DEFAULT_MOCK_JSON_KEY);
+// }
+//
+// Map<String, String> method2Force = new LinkedHashMap<String, String>();
+// Map<String, String> method2Json = new LinkedHashMap<String, String>();
+//
+// for (Iterator<Entry<String, String>> iterator = parameters.entrySet().iterator(); iterator.hasNext(); ) {
+// Map.Entry<String, String> e = iterator.next();
+// String key = e.getKey();
+//
+// if (key.endsWith(MOCK_JSON_KEY_POSTFIX)) {
+// String m = key.substring(0, key.length() - MOCK_JSON_KEY_POSTFIX.length());
+// parseMock(m, e.getValue(), method2Force, method2Json);
+// iterator.remove();
+// }
+// }
+//
+// model.addAttribute("methodForces", method2Force);
+// model.addAttribute("methodJsons", method2Json);
+// model.addAttribute("parameters", parameters);
+// model.addAttribute("override", override);
+// return "governance/screen/overrides/show";
+// }
+//
+// @RequestMapping("/add")
+// public String add(HttpServletRequest request, HttpServletResponse response, Model model) {
+// prepare(request, response, model,"add", "overrides");
+// BindingAwareModelMap newModel = (BindingAwareModelMap)model;
+// String application = (String)newModel.get("app");
+// String service = (String)newModel.get("service");
+// List<String> serviceList = new ArrayList<String>();
+// List<String> applicationList = new ArrayList<String>();
+// if (StringUtils.isNotEmpty(application)) {
+// serviceList.addAll(providerService.findServicesByApplication(application));
+// serviceList.addAll(consumerService.findServicesByApplication(application));
+// model.addAttribute("serviceList", serviceList);
+// } else if (StringUtils.isNotEmpty(service)) {
+// applicationList.addAll(providerService.findApplicationsByServiceName(service));
+// applicationList.addAll(consumerService.findApplicationsByServiceName(service));
+// model.addAttribute("applicationList", applicationList);
+// } else {
+// serviceList.addAll(providerService.findServices());
+// serviceList.addAll(consumerService.findServices());
+// providerService.findServicesByApplication(application);
+// consumerService.findServicesByApplication(application);
+// }
+// model.addAttribute("serviceList", serviceList);
+//
+// if (StringUtils.isNotEmpty(service) && !service.contains("*")) {
+// model.addAttribute("methods", CollectionUtils.sort(new ArrayList<String>(providerService.findMethodsByService(service))));
+// }
+// return "governance/screen/overrides/add";
+// }
+//
+// @RequestMapping("/edit")
+// public String edit(@RequestParam("id") Long id, HttpServletRequest request, HttpServletResponse response,
+// Model model) {
+// prepare(request, response, model, "edit", "overrides");
+// Override override = overrideService.findById(id);
+//
+// Map<String, String> parameters = parseQueryString(override.getParams());
+//
+// if (parameters.get(DEFAULT_MOCK_JSON_KEY) != null) {
+// String mock = URL.decode(parameters.get(DEFAULT_MOCK_JSON_KEY));
+// String[] tokens = parseMock(mock);
+// model.addAttribute(FORM_DEFAULT_MOCK_METHOD_FORCE, tokens[0]);
+// model.addAttribute(FORM_DEFAULT_MOCK_METHOD_JSON, tokens[1]);
+// parameters.remove(DEFAULT_MOCK_JSON_KEY);
+// }
+//
+// Map<String, String> method2Force = new LinkedHashMap<String, String>();
+// Map<String, String> method2Json = new LinkedHashMap<String, String>();
+//
+// List<String> methods = CollectionUtils.sort(new ArrayList<String>(providerService.findMethodsByService(override.getService())));
+// if (methods != null && methods.isEmpty()) {
+// for (String m : methods) {
+// parseMock(m, parameters.get(m + MOCK_JSON_KEY_POSTFIX), method2Force, method2Json);
+// parameters.remove(m + MOCK_JSON_KEY_POSTFIX);
+// }
+// }
+// for (Iterator<Entry<String, String>> iterator = parameters.entrySet().iterator(); iterator.hasNext(); ) {
+// Map.Entry<String, String> e = iterator.next();
+// String key = e.getKey();
+//
+// if (key.endsWith(MOCK_JSON_KEY_POSTFIX)) {
+// String m = key.substring(0, key.length() - MOCK_JSON_KEY_POSTFIX.length());
+// parseMock(m, e.getValue(), method2Force, method2Json);
+// iterator.remove();
+// }
+// }
+//
+// model.addAttribute("methods", methods);
+// model.addAttribute("methodForces", method2Force);
+// model.addAttribute("methodJsons", method2Json);
+// model.addAttribute("parameters", parameters);
+// model.addAttribute("override", override);
+// return "governance/screen/overrides/edit";
+// }
+//
+// private void parseMock(String m, String mock, Map<String, String> method2Force, Map<String, String> method2Json) {
+// String[] tokens = parseMock(mock);
+// method2Force.put(m, tokens[0]);
+// method2Json.put(m, tokens[1]);
+// }
+//
+// private String[] parseMock(String mock) {
+// mock = URL.decode(mock);
+// String force;
+// if (mock.startsWith("force:")) {
+// force = "force";
+// mock = mock.substring("force:".length());
+// } else if (mock.startsWith("fail:")) {
+// force = "fail";
+// mock = mock.substring("fail:".length());
+// } else {
+// force = "fail";
+// }
+// String[] tokens = new String[2];
+// tokens[0] = force;
+// tokens[1] = mock;
+// return tokens;
+// }
+//
+// boolean catchParams(Override override, HttpServletRequest request, Model model) {
+// Map<String, String[]> map = request.getParameterMap();
+// String service = map.get("service")[0];
+// if (service == null || service.trim().length() == 0) {
+// model.addAttribute("message", getMessage("service is blank!"));
+// return false;
+// }
+// if (!super.currentUser.hasServicePrivilege(service)) {
+// model.addAttribute("message", getMessage("HaveNoServicePrivilege", service));
+// return false;
+// }
+//
+// String defaultMockMethodForce = map.get(FORM_DEFAULT_MOCK_METHOD_FORCE)[0];
+// String defaultMockMethodJson = map.get(FORM_DEFAULT_MOCK_METHOD_JSON)[0];
+//
+// Map<String, String> override2Value = new HashMap<String, String>();
+// Map<String, String> method2Json = new HashMap<String, String>();
+//
+// for (Map.Entry<String, String[]> param : map.entrySet()) {
+// String key = param.getKey().trim();
+// if(param.getValue().length != 1) continue;;
+//
+// String value = param.getValue()[0];
+//
+// if (key.startsWith(FORM_OVERRIDE_KEY) && value != null && value.trim().length() > 0) {
+// String index = key.substring(FORM_OVERRIDE_KEY.length());
+// String overrideValue = map.get(FORM_OVERRIDE_VALUE + index)[0];
+// if (overrideValue != null && overrideValue.trim().length() > 0) {
+// override2Value.put(value.trim(), overrideValue.trim());
+// }
+// }
+//
+// if (key.startsWith(FORM_ORIGINAL_METHOD_PREFIX) && value != null && value.trim().length() > 0) {
+// String method = key.substring(FORM_ORIGINAL_METHOD_PREFIX.length());
+// String force = map.get(FORM_ORIGINAL_METHOD_FORCE_PREFIX + method)[0];
+// method2Json.put(method, force + ":" + value.trim());
+// }
+//
+// if (key.startsWith(FORM_DYNAMIC_METHOD_NAME_PREFIX) && value != null && value.trim().length() > 0) {
+// String index = key.substring(FORM_DYNAMIC_METHOD_NAME_PREFIX.length());
+// String force = map.get(FORM_DYNAMIC_METHOD_FORCE_PREFIX + index)[0];
+// String json = map.get(FORM_DYNAMIC_METHOD_JSON_PREFIX + index)[0];
+//
+// if (json != null && json.trim().length() > 0) {
+// method2Json.put(value.trim(), force + ":" + json.trim());
+// }
+// }
+// }
+//
+// StringBuilder paramters = new StringBuilder();
+// boolean isFirst = true;
+// if (defaultMockMethodJson != null && defaultMockMethodJson.trim().length() > 0) {
+// paramters.append("mock=").append(URL.encode(defaultMockMethodForce + ":" + defaultMockMethodJson.trim()));
+// isFirst = false;
+// }
+// for (Map.Entry<String, String> e : method2Json.entrySet()) {
+// if (isFirst) isFirst = false;
+// else paramters.append("&");
+//
+// paramters.append(e.getKey()).append(MOCK_JSON_KEY_POSTFIX).append("=").append(URL.encode(e.getValue()));
+// }
+// for (Map.Entry<String, String> e : override2Value.entrySet()) {
+// if (isFirst) isFirst = false;
+// else paramters.append("&");
+//
+// paramters.append(e.getKey()).append("=").append(URL.encode(e.getValue()));
+// }
+//
+// String p = paramters.toString();
+// if (p.trim().length() == 0) {
+// model.addAttribute("message", getMessage("Please enter Parameters!"));
+// return false;
+// }
+//
+// override.setParams(p);
+// return true;
+// }
+//
+//
+// @RequestMapping("/create")
+// public String create(Override override, HttpServletRequest request,
+// HttpServletResponse response, Model model) {
+// prepare(request,response,model,"update", "overrides");
+// boolean success = true;
+// if (!catchParams(override, request, model)) {
+// success =false;
+// } else {
+// overrideService.saveOverride(override);
+// }
+//
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../overrides");
+// return "governance/screen/redirect";
+// }
+//
+// @RequestMapping("/update")
+// public String update(Override override, HttpServletRequest request,
+// HttpServletResponse response, Model model) {
+// prepare(request, response, model, "update", "overrides");
+// boolean succcess = true;
+// Override o = overrideService.findById(override.getId());
+// override.setService(o.getService());
+// override.setAddress(o.getAddress());
+// override.setApplication(o.getApplication());
+//
+// if (!catchParams(override, request, model)) {
+// succcess = false;
+// } else {
+// overrideService.updateOverride(override);
+// }
+//
+// model.addAttribute("success", succcess);
+// model.addAttribute("redirect", "../overrides");
+// return "governance/screen/redirect";
+//
+// }
+//
+// @RequestMapping("/delete")
+// public String delete(@RequestParam("ids") Long[] ids, HttpServletRequest request,
+// HttpServletResponse response, Model model) {
+// prepare(request, response, model, "delete", "overrides");
+// for (Long id : ids) {
+// overrideService.deleteOverride(id);
+// }
+//
+// model.addAttribute("success", true);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// }
+//
+// @RequestMapping("/enable")
+// public String enable(@RequestParam("ids") Long[] ids, HttpServletRequest request,
+// HttpServletResponse response, Model model) {
+// prepare(request, response, model, "enable", "overrides");
+// boolean success = true;
+// for (Long id : ids) {
+// Override override = overrideService.findById(id);
+// if (override == null) {
+// model.addAttribute("message", getMessage("NoSuchOperationData", id));
+// success = false;
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// } else {
+// if (!super.currentUser.hasServicePrivilege(override.getService())) {
+// model.addAttribute("message", getMessage("HaveNoServicePrivilege", override.getService()));
+// success = false;
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// }
+// }
+// }
+//
+// for (Long id : ids) {
+// overrideService.enableOverride(id);
+// }
+//
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// }
+//
+// @RequestMapping("/disable")
+// public String disable(@RequestParam("ids") Long[] ids, HttpServletRequest request,
+// HttpServletResponse response, Model model) {
+// prepare(request, response, model, "disable", "overrides");
+// boolean success = true;
+// for (Long id : ids) {
+// Override override = overrideService.findById(id);
+// if (override == null) {
+// model.addAttribute("message", getMessage("NoSuchOperationData", id));
+// success = false;
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// } else {
+// if (!super.currentUser.hasServicePrivilege(override.getService())) {
+// model.addAttribute("message", getMessage("HaveNoServicePrivilege", override.getService()));
+// success = false;
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// }
+// }
+// }
+//
+// for (Long id : ids) {
+// overrideService.disableOverride(id);
+// }
+// model.addAttribute("success", success);
+// model.addAttribute("redirect", "../../overrides");
+// return "governance/screen/redirect";
+// }
+//
+//}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java
index 373ff48..768ce91 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java
@@ -17,7 +17,6 @@
package org.apache.dubbo.admin.web.mvc.governance;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.governance.service.ConsumerService;
@@ -25,6 +24,7 @@ import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.service.ProviderService;
import org.apache.dubbo.admin.governance.service.RouteService;
import org.apache.dubbo.admin.registry.common.domain.Consumer;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.domain.Provider;
import org.apache.dubbo.admin.registry.common.domain.Route;
import org.apache.dubbo.admin.registry.common.route.OverrideUtils;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java
index 755d86f..8988d51 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java
@@ -16,12 +16,12 @@
*/
package org.apache.dubbo.admin.web.mvc.governance;
-import org.apache.dubbo.admin.registry.common.domain.Override;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.governance.service.ConsumerService;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.service.ProviderService;
+import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.route.OverrideUtils;
import org.apache.dubbo.admin.web.mvc.BaseController;
import org.apache.dubbo.admin.web.pulltool.Tool;
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java
index 0678476..bbf9450 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java
@@ -16,6 +16,10 @@
*/
package org.apache.dubbo.admin.web.pulltool;
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.common.URL;
+import com.alibaba.dubbo.common.utils.NetUtils;
+import com.alibaba.dubbo.common.utils.StringUtils;
import org.apache.dubbo.admin.governance.service.OverrideService;
import org.apache.dubbo.admin.governance.service.RouteService;
import org.apache.dubbo.admin.registry.common.domain.*;
@@ -23,10 +27,6 @@ import org.apache.dubbo.admin.registry.common.domain.Override;
import org.apache.dubbo.admin.registry.common.route.ParseUtils;
import org.apache.dubbo.admin.registry.common.route.RouteRule;
import org.apache.dubbo.admin.registry.common.util.StringEscapeUtils;
-import com.alibaba.dubbo.common.Constants;
-import com.alibaba.dubbo.common.URL;
-import com.alibaba.dubbo.common.utils.NetUtils;
-import com.alibaba.dubbo.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/dubbo-admin-frontend/src/components/AccessControl.vue b/dubbo-admin-frontend/src/components/AccessControl.vue
index 42fb311..73d9063 100644
--- a/dubbo-admin-frontend/src/components/AccessControl.vue
+++ b/dubbo-admin-frontend/src/components/AccessControl.vue
@@ -240,6 +240,7 @@ export default {
},
createItem () {
let doc = yaml.load(this.modal.content)
+ this.filter = this.modal.service
AXIOS.post('/access/create', {
service: this.modal.service,
whitelist: doc.whitelist,
diff --git a/dubbo-admin-frontend/src/components/LoadBalance.vue b/dubbo-admin-frontend/src/components/LoadBalance.vue
index 9b27fff..ac791b2 100644
--- a/dubbo-admin-frontend/src/components/LoadBalance.vue
+++ b/dubbo-admin-frontend/src/components/LoadBalance.vue
@@ -53,7 +53,7 @@
>
<template slot="items" slot-scope="props">
<td class="text-xs-left">{{ props.item.service }}</td>
- <td class="text-xs-left">{{ props.item.method }}</td>
+ <td class="text-xs-left">{{ props.item.methodName }}</td>
<td class="justify-center px-0">
<v-tooltip bottom v-for="op in operations" :key="op.id">
<v-icon small class="mr-2" slot="activator" @click="itemOperation(op.icon(props.item), props.item)">
@@ -196,25 +196,14 @@
this.search(this.filter, true)
},
search: function (filter, rewrite) {
- let params = {}
- params.serviceName = filter
- AXIOS.post('/balancing/search', params)
+ AXIOS.get('/balancing/search?service=' + filter)
.then(response => {
this.loadBalances = response.data
if (rewrite) {
- this.$router.push({path: 'loadbalance', query: {serviceName: filter}})
+ this.$router.push({path: 'loadbalance', query: {service: filter}})
}
})
},
- handleRule: function (route) {
- let result = {}
- for (let property in route) {
- if (this.ruleKeys.includes(property)) {
- result[property] = route[property]
- }
- }
- return yaml.safeDump(result)
- },
closeDialog: function () {
this.ruleText = this.template
this.service = ''
@@ -235,15 +224,15 @@
this.warn = false
},
saveItem: function () {
- let text = encodeURIComponent(this.ruleText) // contains illegal url character, need encode
- let rule = {}
- rule.serviceName = this.service
- rule.rule = text
- AXIOS.post('/balancing/create', rule)
+ let balancing = yaml.safeLoad(this.ruleText)
+ balancing.service = this.service
+ AXIOS.post('/balancing/create', balancing)
.then(response => {
if (response.data) {
this.search(this.service, true)
+ this.filter = this.service
}
+ this.closeDialog()
})
},
itemOperation: function (icon, item) {
@@ -252,28 +241,26 @@
AXIOS.get('/balancing/detail?id=' + item.id)
.then(response => {
let balancing = response.data
- let result = this.handleRule(balancing)
this.service = balancing.service
- this.ruleText = result
+ delete balancing.service
+ this.ruleText = yaml.safeDump(balancing)
this.cmOption.readOnly = true
this.dialog = true
})
break
case 'edit':
- let edit = {}
- edit.id = item.id
- AXIOS.post('/balancing/edit', edit)
+ AXIOS.get('/balancing/detail?id=' + item.id)
.then(response => {
- let loadbalance = response.data
- let result = this.handleRule(loadbalance)
- this.service = loadbalance.service
- this.ruleText = result
+ let balancing = response.data
+ this.service = balancing.service
+ delete balancing.service
+ this.ruleText = yaml.safeDump(balancing)
this.cmOption.readOnly = false
this.dialog = true
})
break
case 'delete':
- this.openWarn(' Are you sure to Delete Routing Rule', 'serviceName: ' + item.service)
+ this.openWarn(' Are you sure to Delete Routing Rule', 'service: ' + item.service)
this.warnStatus.operation = 'delete'
this.warnStatus.id = item.id
}
@@ -282,24 +269,13 @@
this.height = window.innerHeight * 0.5
},
deleteItem: function (warnStatus) {
- if (warnStatus.operation === 'delete') {
- let id = {}
- id.id = warnStatus.id
- AXIOS.post('/balancing/delete', id)
- .then(response => {
- this.warn = false
- this.search(this.filter, false)
- })
- } else if (warnStatus.operation === 'block') {
- let status = {}
- status.enabled = warnStatus.enabled
- status.id = warnStatus.id
- AXIOS.post('/routes/changeStatus', status)
- .then(response => {
- this.warn = false
- this.search(this.filter, false)
- })
- }
+ let id = {}
+ id.id = warnStatus.id
+ AXIOS.post('/balancing/delete', id)
+ .then(response => {
+ this.warn = false
+ this.search(this.filter, false)
+ })
}
},
computed: {
@@ -315,7 +291,7 @@
let query = this.$route.query
let service = ''
Object.keys(query).forEach(function (key) {
- if (key === 'serviceName') {
+ if (key === 'service') {
service = query[key]
}
})
diff --git a/dubbo-admin-frontend/src/components/Overrides.vue b/dubbo-admin-frontend/src/components/Overrides.vue
index 4ad1295..5fe89ca 100644
--- a/dubbo-admin-frontend/src/components/Overrides.vue
+++ b/dubbo-admin-frontend/src/components/Overrides.vue
@@ -206,12 +206,12 @@
},
search: function (filter, rewrite) {
let params = {}
- params.serviceName = filter
+ params.service = filter
AXIOS.post('/balancing/search', params)
.then(response => {
this.loadBalances = response.data
if (rewrite) {
- this.$router.push({path: 'loadbalance', query: {serviceName: filter}})
+ this.$router.push({path: 'loadbalance', query: {service: filter}})
}
})
},
@@ -246,7 +246,7 @@
saveItem: function () {
let text = encodeURIComponent(this.ruleText) // contains illegal url character, need encode
let rule = {}
- rule.serviceName = this.service
+ rule.service = this.service
rule.rule = text
AXIOS.post('/balancing/create', rule)
.then(response => {
@@ -282,7 +282,7 @@
})
break
case 'delete':
- this.openWarn(' Are you sure to Delete Routing Rule', 'serviceName: ' + item.service)
+ this.openWarn(' Are you sure to Delete Routing Rule', 'service: ' + item.service)
this.warnStatus.operation = 'delete'
this.warnStatus.id = item.id
}
@@ -324,7 +324,7 @@
let query = this.$route.query
let service = ''
Object.keys(query).forEach(function (key) {
- if (key === 'serviceName') {
+ if (key === 'service') {
service = query[key]
}
})
diff --git a/dubbo-admin-frontend/src/components/RoutingRule.vue b/dubbo-admin-frontend/src/components/RoutingRule.vue
index d535563..6bcba1c 100644
--- a/dubbo-admin-frontend/src/components/RoutingRule.vue
+++ b/dubbo-admin-frontend/src/components/RoutingRule.vue
@@ -238,37 +238,14 @@
this.search(this.filter, true)
},
search: function (filter, rewrite) {
- let params = {}
- params.serviceName = filter
-
- AXIOS.post('/routes/search', params)
+ AXIOS.get('/routes/search?serviceName=' + filter)
.then(response => {
this.routingRules = response.data
if (rewrite) {
- this.$router.push({path: 'routingRule', query: {serviceName: filter}})
+ this.$router.push({path: 'routingRule', query: {service: filter}})
}
})
},
- handleRule: function (route) {
- console.log(route)
- let result = {}
- let conditions = []
- for (let property in route) {
- if (this.ruleKeys.includes(property)) {
- if (property === 'rule') {
- conditions.push(route[property])
- } else {
- result[property] = route[property]
- }
- }
- }
- if (conditions.length > 0) {
- result['conditions'] = conditions
- }
- console.log('result====')
- console.log(result)
- return yaml.safeDump(result)
- },
closeDialog: function () {
this.ruleText = this.template
this.updateId = -1
@@ -291,7 +268,7 @@
},
saveItem: function () {
let rule = yaml.safeLoad(this.ruleText)
- rule.serviceName = this.service
+ rule.service = this.service
if (this.updateId !== -1) {
rule.id = this.updateId
AXIOS.post('/routes/update', rule)
@@ -306,6 +283,7 @@
.then(response => {
if (response.data) {
this.search(this.service, true)
+ this.filter = this.service
}
this.closeDialog()
})
@@ -317,9 +295,9 @@
AXIOS.get('/routes/detail?id=' + item.id)
.then(response => {
let route = response.data
- let result = this.handleRule(route)
this.service = route.service
- this.ruleText = result
+ delete route.service
+ this.ruleText = yaml.safeDump(route)
this.cmOption.readOnly = true
this.dialog = true
})
@@ -327,26 +305,29 @@
case 'edit':
let id = {}
id.id = item.id
- AXIOS.post('/routes/edit', id)
+ AXIOS.get('/routes/detail?id=' + item.id)
.then(response => {
let route = response.data
- let result = this.handleRule(route)
this.service = route.service
- this.ruleText = result
+ delete route.service
+ this.ruleText = yaml.safeDump(route)
this.cmOption.readOnly = false
this.dialog = true
this.updateId = item.id
})
break
case 'block':
+ this.openWarn(' Are you sure to block Routing Rule', 'service: ' + item.service)
+ this.warnStatus.operation = 'disable'
+ this.warnStatus.id = item.id
+ break
case 'check_circle_outline':
- this.openWarn(' Are you sure to ' + icon + ' Routing Rule', 'serviceName: ' + item.service)
- this.warnStatus.operation = 'block'
+ this.openWarn(' Are you sure to enable Routing Rule', 'service: ' + item.service)
+ this.warnStatus.operation = 'enable'
this.warnStatus.id = item.id
- this.warnStatus.enabled = item.enabled
break
case 'delete':
- this.openWarn(' Are you sure to Delete Routing Rule', 'serviceName: ' + item.service)
+ this.openWarn(' Are you sure to Delete Routing Rule', 'service: ' + item.service)
this.warnStatus.operation = 'delete'
this.warnStatus.id = item.id
}
@@ -363,11 +344,18 @@
this.warn = false
this.search(this.filter, false)
})
- } else if (warnStatus.operation === 'block') {
- let status = {}
- status.id = warnStatus.id
- status.enabled = warnStatus.enabled
- AXIOS.post('/routes/changeStatus', status)
+ } else if (warnStatus.operation === 'disable') {
+ let id = {}
+ id.id = warnStatus.id
+ AXIOS.post('/routes/disable', id)
+ .then(response => {
+ this.warn = false
+ this.search(this.filter, false)
+ })
+ } else if (warnStatus.operation === 'enable') {
+ let id = {}
+ id.id = warnStatus.id
+ AXIOS.post('/routes/enable', id)
.then(response => {
this.warn = false
this.search(this.filter, false)
@@ -388,7 +376,7 @@
let query = this.$route.query
let service = ''
Object.keys(query).forEach(function (key) {
- if (key === 'serviceName') {
+ if (key === 'service') {
service = query[key]
}
})
diff --git a/dubbo-admin-frontend/src/components/ServiceSearch.vue b/dubbo-admin-frontend/src/components/ServiceSearch.vue
index a407e74..24e4754 100644
--- a/dubbo-admin-frontend/src/components/ServiceSearch.vue
+++ b/dubbo-admin-frontend/src/components/ServiceSearch.vue
@@ -72,10 +72,10 @@
:items="services"
>
<template slot="items" slot-scope="props">
- <td>{{props.item.serviceName}}</td>
+ <td>{{props.item.service}}</td>
<td>{{props.item.group}}</td>
<td>{{props.item.appName}}</td>
- <td><v-btn small color='primary' :href='getHref(props.item.serviceName, props.item.appName)'>Detail</v-btn></td>
+ <td><v-btn small color='primary' :href='getHref(props.item.service, props.item.appName)'>Detail</v-btn></td>
</template>
</v-data-table>
</template>
diff --git a/dubbo-admin-frontend/src/components/WeightAdjust.vue b/dubbo-admin-frontend/src/components/WeightAdjust.vue
index 4cfa632..93167f7 100644
--- a/dubbo-admin-frontend/src/components/WeightAdjust.vue
+++ b/dubbo-admin-frontend/src/components/WeightAdjust.vue
@@ -198,33 +198,14 @@
this.search(this.filter, true)
},
search: function (filter, rewrite) {
- let params = {}
- params.serviceName = filter
- AXIOS.post('/weight/search', params)
+ AXIOS.get('/weight/search?serviceName=' + filter)
.then(response => {
this.loadBalances = response.data
if (rewrite) {
- this.$router.push({path: 'weight', query: {serviceName: filter}})
+ this.$router.push({path: 'weight', query: {service: filter}})
}
})
},
- handleRule: function (weight) {
- let result = {}
- let provider = []
- for (let property in weight) {
- if (this.ruleKeys.includes(property)) {
- if (property === 'address') {
- provider.push(weight[property])
- } else {
- result[property] = weight[property]
- }
- }
- }
- if (provider.length > 0) {
- result['provider'] = provider
- }
- return yaml.safeDump(result)
- },
closeDialog: function () {
this.ruleText = this.template
this.service = ''
@@ -250,6 +231,7 @@
AXIOS.post('/weight/create', weight)
.then(response => {
this.search(this.service, true)
+ this.filter = this.service
this.closeDialog()
})
},
@@ -259,28 +241,26 @@
AXIOS.get('/weight/detail?id=' + item.id)
.then(response => {
let weight = response.data
- let result = this.handleRule(weight)
this.service = weight.service
- this.ruleText = result
+ delete weight.service
+ this.ruleText = yaml.safeDump(weight)
this.cmOption.readOnly = true
this.dialog = true
})
break
case 'edit':
- let id = {}
- id.id = item.id
- AXIOS.post('/weight/edit' + id)
+ AXIOS.get('/weight/detail?id=' + item.id)
.then(response => {
let weight = response.data
- let result = this.handleRule(weight)
this.service = weight.service
- this.ruleText = result
+ delete weight.service
+ this.ruleText = yaml.safeDump(weight)
this.cmOption.readOnly = false
this.dialog = true
})
break
case 'delete':
- this.openWarn(' Are you sure to Delete Routing Rule', 'serviceName: ' + item.service)
+ this.openWarn(' Are you sure to Delete Routing Rule', 'service: ' + item.service)
this.warnStatus.operation = 'delete'
this.warnStatus.id = item.id
}
@@ -289,24 +269,13 @@
this.height = window.innerHeight * 0.5
},
deleteItem: function (warnStatus) {
- if (warnStatus.operation === 'delete') {
- let id = {}
- id.id = warnStatus.id
- AXIOS.post('/weight/delete', id)
- .then(response => {
- this.warn = false
- this.search(this.filter, false)
- })
- } else if (warnStatus.operation === 'block') {
- let status = {}
- status.enabled = warnStatus.enabled
- status.id = warnStatus.id
- AXIOS.post('/weight/changeStatus', status)
- .then(response => {
- this.warn = false
- this.search(this.filter, false)
- })
- }
+ let id = {}
+ id.id = warnStatus.id
+ AXIOS.post('/weight/delete', id)
+ .then(response => {
+ this.warn = false
+ this.search(this.filter, false)
+ })
}
},
computed: {
@@ -322,7 +291,7 @@
let query = this.$route.query
let service = ''
Object.keys(query).forEach(function (key) {
- if (key === 'serviceName') {
+ if (key === 'service') {
service = query[key]
}
})