1、IP类域配置的addrType的取值验证;

2、分组复用添加、删除域配置测试并修改bug
This commit is contained in:
zhangdongxu
2018-08-30 19:18:23 +08:00
parent 03d961e73f
commit a65dd619b4
5 changed files with 35 additions and 17 deletions

View File

@@ -407,6 +407,10 @@ public enum RestBusinessCode {
*/
SrcIpEQDstIp(4002303,"IP类域-srcIp和dstIp不能相同"),
/**
* IP类域配置的addrType的值只能为4(IPV4)、6(IPV6)、46(4OVER6隧道)、64(6OVER4隧道)、10(全部)
*/
AddrTypeIsWrongRange(4002304,"IP类域配置的addrType的值只能为4(IPV4)、6(IPV6)、46(4OVER6隧道)、64(6OVER4隧道)、10(全部)"),
/**
* 字符串域配置的exprType的值只能是0(无表达式)或者1(与表达式)
*/

View File

@@ -766,7 +766,12 @@ public class CompileVal {
}
public static void serviceIpRegionVal(IpRegion ipRegion, Long compileId, String listName) throws Exception {
int addrType = ipRegion.getAddrType().intValue();
if (!(addrType == 4|| addrType == 6 || addrType == 46|| addrType == 64 || addrType ==10)) {
throw new RestServiceException("编译配置id为" + compileId + "的配置中" + listName + "中regionId为" + ipRegion.getRegionId()
+ "的域配置addrType的值只能为4(IPV4)、6(IPV6)、46(4OVER6隧道)、64(6OVER4隧道)、10(全部)",
RestBusinessCode.AddrTypeIsWrongRange.getValue());
}
validateIpAndMask(ipRegion, compileId, listName);
if (!BasicProvingUtil.isPortOrPortMask(ipRegion.getSrcPort())) {

View File

@@ -28,7 +28,7 @@ public class GroupReuseVal {
List<NumRegion> numRegionList = groupReuse.getNumRegionList();
for (NumRegion numRegion : numRegionList) {
if (!StringUtil.isEmpty(numRegion.getTableName())
&& groupReuseRegionMap.get("numRegion").contains(numRegion.getTableName())) {
&& !groupReuseRegionMap.get("numRegion").contains(numRegion.getTableName())) {
throw new RestServiceException("numRegionList中的regionId为"
+ numRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
@@ -64,7 +64,7 @@ public class GroupReuseVal {
// {
if (!StringUtil.isEmpty(strRegion.getTableName())
&& groupReuseRegionMap.get("strRegion").contains(strRegion.getTableName())) {
&& !groupReuseRegionMap.get("strRegion").contains(strRegion.getTableName())) {
throw new RestServiceException("strRegionList中的regionId为"
+ strRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
@@ -99,7 +99,7 @@ public class GroupReuseVal {
// !regionGroupIdList.contains(ipRegion.getGroupId())) {
if (!StringUtil.isEmpty(ipRegion.getTableName())
&& groupReuseRegionMap.get("ipRegion").contains(ipRegion.getTableName())) {
&& !groupReuseRegionMap.get("ipRegion").contains(ipRegion.getTableName())) {
throw new RestServiceException("ipRegionList中的regionId为"
+ ipRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
@@ -355,6 +355,13 @@ public class GroupReuseVal {
public static void serviceIpRegionVal(IpRegion ipRegion) throws Exception {
int addrType = ipRegion.getAddrType().intValue();
if (!(addrType == 4|| addrType == 6 || addrType == 46|| addrType == 64 || addrType ==10)) {
throw new RestServiceException("ipRegionList中regionId为" + ipRegion.getRegionId()
+ "的域配置addrType的值只能为4(IPV4)、6(IPV6)、46(4OVER6隧道)、64(6OVER4隧道)、10(全部)",
RestBusinessCode.AddrTypeIsWrongRange.getValue());
}
validateIpAndMask(ipRegion);
if (!BasicProvingUtil.isPortOrPortMask(ipRegion.getSrcPort())) {

View File

@@ -412,8 +412,10 @@ public class ServiceAndRDBIndexReal {
Iterator mapIterator = map.keySet().iterator();
while (mapIterator.hasNext()) {
String regionName = mapIterator.next().toString();
if (StringUtil.isEmpty(groupReuseRegionMap.containsKey(regionName))) {
groupReuseRegionMap.put(regionName, map.get(regionName));
if (!groupReuseRegionMap.containsKey(regionName)) {
List<String> list = new ArrayList<String>();
list.addAll(map.get(regionName));
groupReuseRegionMap.put(regionName, list);
}else{
groupReuseRegionMap.get(regionName).addAll(map.get(regionName));
}

View File

@@ -839,7 +839,7 @@ public class ConfigSourcesService extends BaseService {
}
}
if (StringUtil.isEmpty(maatConfig.getStrRegionMapList())) {
if (StringUtil.isEmpty(maatConfig.getNumRegionMapList())) {
maatConfig.setNumRegionMapList(dstMapList);
}else{
maatConfig.getNumRegionMapList().addAll(dstMapList);
@@ -853,7 +853,7 @@ public class ConfigSourcesService extends BaseService {
dstMapList.add(convertObjectToMap(region, IpRegion.class));
}
}
if (StringUtil.isEmpty(maatConfig.getStrRegionMapList())) {
if (StringUtil.isEmpty(maatConfig.getIpRegionMapList())) {
maatConfig.setIpRegionMapList(dstMapList);
}else{
maatConfig.getIpRegionMapList().addAll(dstMapList);
@@ -949,11 +949,11 @@ public class ConfigSourcesService extends BaseService {
hasRegionFlag = true;
List<NumRegion> numRegionList = config.getNumRegionList();
for (NumRegion numRegion : numRegionList) {
if (!StringUtil.isEmpty(numRegion.getTableName())
&& groupReuseRegionMap.get("numRegion").contains(numRegion.getTableName())) {
if (StringUtil.isEmpty(numRegion.getTableName())
|| !groupReuseRegionMap.get("numRegion").contains(numRegion.getTableName())) {
throw new RestServiceException("numRegionList中的regionId为"
+ numRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
+ "的域配置tableName为空或不是分组复用的域表",
RestBusinessCode.TableNameUnReuse
.getValue());
}
@@ -967,11 +967,11 @@ public class ConfigSourcesService extends BaseService {
hasRegionFlag = true;
List<StrRegion> strRegionList = config.getStrRegionList();
for (StrRegion strRegion : strRegionList) {
if (!StringUtil.isEmpty(strRegion.getTableName())
&& groupReuseRegionMap.get("strRegion").contains(strRegion.getTableName())) {
if (StringUtil.isEmpty(strRegion.getTableName())
|| !groupReuseRegionMap.get("strRegion").contains(strRegion.getTableName())) {
throw new RestServiceException("strRegionList中的regionId为"
+ strRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
+ "的域配置tableName为空或不是分组复用的域表",
RestBusinessCode.TableNameUnReuse
.getValue());
}
@@ -987,11 +987,11 @@ public class ConfigSourcesService extends BaseService {
List<IpRegion> ipRegionList = config.getIpRegionList();
for (IpRegion ipRegion : ipRegionList) {
if (!StringUtil.isEmpty(ipRegion.getTableName())
&& groupReuseRegionMap.get("ipRegion").contains(ipRegion.getTableName())) {
if (StringUtil.isEmpty(ipRegion.getTableName())
|| !groupReuseRegionMap.get("ipRegion").contains(ipRegion.getTableName())) {
throw new RestServiceException("ipRegionList中的regionId为"
+ ipRegion.getRegionId()
+ "的域配置tableName不是分组复用的域表",
+ "的域配置tableName为空或不是分组复用的域表",
RestBusinessCode.TableNameUnReuse
.getValue());
}