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 d7f0551 add application scope validation
d7f0551 is described below
commit d7f055154ceda446a25fa77e5885e16a2fe85057
Author: nzomkxia <[email protected]>
AuthorDate: Thu Jan 10 16:30:01 2019 +0800
add application scope validation
---
.../dubbo/admin/controller/AccessesController.java | 10 +++++++++-
.../dubbo/admin/controller/LoadBalanceController.java | 19 +++++++++----------
.../dubbo/admin/controller/WeightController.java | 10 +++++++++-
3 files changed, 27 insertions(+), 12 deletions(-)
diff --git
a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
index c5e2351..ac350c5 100644
---
a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
+++
b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
@@ -16,8 +16,10 @@
*/
package org.apache.dubbo.admin.controller;
+import org.apache.dubbo.admin.common.exception.VersionValidationException;
import org.apache.dubbo.admin.common.util.Constants;
import org.apache.dubbo.admin.model.dto.ConditionRouteDTO;
+import org.apache.dubbo.admin.service.ProviderService;
import org.apache.dubbo.common.logger.Logger;
import org.apache.dubbo.common.logger.LoggerFactory;
import org.apache.commons.lang3.StringUtils;
@@ -38,10 +40,12 @@ public class AccessesController {
private static final Logger logger =
LoggerFactory.getLogger(AccessesController.class);
private final RouteService routeService;
+ private final ProviderService providerService;
@Autowired
- public AccessesController(RouteService routeService) {
+ public AccessesController(RouteService routeService, ProviderService
providerService) {
this.routeService = routeService;
+ this.providerService = providerService;
}
@RequestMapping(method = RequestMethod.GET)
@@ -84,6 +88,10 @@ public class AccessesController {
if (StringUtils.isBlank(accessDTO.getService()) &&
StringUtils.isBlank(accessDTO.getApplication())) {
throw new ParamValidationException("Either Service or application
is required.");
}
+ String application = accessDTO.getApplication();
+ if (StringUtils.isNotEmpty(application) &&
this.providerService.findVersionInApplication(application).equals("2.6")) {
+ throw new VersionValidationException("dubbo 2.6 does not support
application scope blackwhite list config");
+ }
if (accessDTO.getBlacklist() == null && accessDTO.getWhitelist() ==
null) {
throw new ParamValidationException("One of Blacklist/Whitelist is
required.");
}
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 816e6b9..a803527 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
@@ -20,9 +20,11 @@ package org.apache.dubbo.admin.controller;
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.admin.common.exception.ParamValidationException;
import org.apache.dubbo.admin.common.exception.ResourceNotFoundException;
+import org.apache.dubbo.admin.common.exception.VersionValidationException;
import org.apache.dubbo.admin.common.util.Constants;
import org.apache.dubbo.admin.model.dto.BalancingDTO;
import org.apache.dubbo.admin.service.OverrideService;
+import org.apache.dubbo.admin.service.ProviderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@@ -36,10 +38,12 @@ import java.util.List;
public class LoadBalanceController {
private final OverrideService overrideService;
+ private final ProviderService providerService;
@Autowired
- public LoadBalanceController(OverrideService overrideService) {
+ public LoadBalanceController(OverrideService overrideService,
ProviderService providerService) {
this.overrideService = overrideService;
+ this.providerService = providerService;
}
@RequestMapping(method = RequestMethod.POST)
@@ -48,16 +52,11 @@ public class LoadBalanceController {
if (StringUtils.isBlank(balancingDTO.getService()) &&
StringUtils.isBlank(balancingDTO.getApplication())) {
throw new ParamValidationException("Either Service or application
is required.");
}
+ String application = balancingDTO.getApplication();
+ if (StringUtils.isNotEmpty(application) &&
this.providerService.findVersionInApplication(application).equals("2.6")) {
+ throw new VersionValidationException("dubbo 2.6 does not support
application scope load balancing config");
+ }
overrideService.saveBalance(balancingDTO);
-// String serviceName = balancingDTO.getService();
-// if (StringUtils.isEmpty(serviceName)) {
-// throw new ParamValidationException("serviceName is Empty!");
-// }
-// LoadBalance loadBalance = new LoadBalance();
-// loadBalance.setService(serviceName);
-//
loadBalance.setMethod(formatMethodName(balancingDTO.getMethodName()));
-// loadBalance.setStrategy(balancingDTO.getStrategy());
-//
overrideService.saveOverride(OverrideUtils.loadBalanceToOverride(loadBalance));
return true;
}
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 62c4ce4..2146a01 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
@@ -20,6 +20,7 @@ package org.apache.dubbo.admin.controller;
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.admin.common.exception.ParamValidationException;
import org.apache.dubbo.admin.common.exception.ResourceNotFoundException;
+import org.apache.dubbo.admin.common.exception.VersionValidationException;
import org.apache.dubbo.admin.common.util.Constants;
import org.apache.dubbo.admin.common.util.ConvertUtil;
import org.apache.dubbo.admin.model.dto.AccessDTO;
@@ -28,6 +29,7 @@ import org.apache.dubbo.admin.service.OverrideService;
import org.apache.dubbo.admin.model.domain.Override;
import org.apache.dubbo.admin.model.domain.Weight;
import org.apache.dubbo.admin.common.util.OverrideUtils;
+import org.apache.dubbo.admin.service.ProviderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@@ -40,10 +42,12 @@ import java.util.List;
public class WeightController {
private final OverrideService overrideService;
+ private final ProviderService providerService;
@Autowired
- public WeightController(OverrideService overrideService) {
+ public WeightController(OverrideService overrideService, ProviderService
providerService) {
this.overrideService = overrideService;
+ this.providerService = providerService;
}
@RequestMapping(method = RequestMethod.POST)
@@ -52,6 +56,10 @@ public class WeightController {
if (StringUtils.isBlank(weightDTO.getService()) &&
StringUtils.isBlank(weightDTO.getApplication())) {
throw new ParamValidationException("Either Service or application
is required.");
}
+ String application = weightDTO.getApplication();
+ if (StringUtils.isNotEmpty(application) &&
this.providerService.findVersionInApplication(application).equals("2.6")) {
+ throw new VersionValidationException("dubbo 2.6 does not support
application scope blackwhite list config");
+ }
overrideService.saveWeight(weightDTO);
return true;
}