提交 d7f05515 编写于 作者: N nzomkxia

add application scope validation

上级 ed1a27db
......@@ -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.");
}
......
......@@ -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;
}
......
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册