(1)导入默认值的处理

(2)修复IPV6常量
(3)修复IPv4网段限制ABC
(4)can_not_be字典修改
This commit is contained in:
wangxin
2018-10-22 19:06:43 +08:00
parent ea149d40ba
commit a389258e64
4 changed files with 151 additions and 110 deletions

View File

@@ -1142,7 +1142,7 @@ public class BaseController {
}
if (regionDict.getRegionType().equals(1)) {
// 校验必填的IP端口
for (String code : configIpPortShow.split(",")) {
/*for (String code : configIpPortShow.split(",")) {
if ("1".equals(code)) {// 源IP
if (StringUtil.isEmpty(baseIpCfg.getSrcIpAddress())) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
@@ -1164,48 +1164,58 @@ public class BaseController {
prop.getProperty("server_port", "Server Port")) + ";");
}
}
}
}*/
boolean srcIpEmpty = false;
boolean destIpEmpty = false;
boolean srcPortEmpty = false;
boolean destPortEmpty = false;
if (StringUtil.isEmpty(baseIpCfg.getSrcIpAddress())) {
srcIpEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestIpAddress())) {
if (srcIpEmpty) {// 全部为空,填值
if (canIPv4 && canIPFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
} else if (canIPv4 && canIPSubnetFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPSubnetFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
} else if (canIPv4 && canIPRangeFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setIpType(4);
baseIpCfg.setIpPattern(3);
} else if (canIPv6 && canIPRangeFormat) {
baseIpCfg.setSrcIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setDestIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
baseIpCfg.setIpType(6);
baseIpCfg.setIpPattern(3);
}
} else {
// 目的IP为空
destIpEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getSrcPort())) {
srcPortEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestPort())) {
destPortEmpty = true;
}
if(srcIpEmpty&&destIpEmpty) {
if(configIpPortShow.indexOf("1")>-1&&configIpPortShow.indexOf("3")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("1")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("3")>-1) {
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("server_ip", "Server IP")) + ";");
}
}else if (destIpEmpty) {// 目的IP为空
if(configIpPortShow.indexOf("3")>-1&&configIpPortShow.indexOf("1")==-1) {//目的IP必填
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("server_ip", "Server IP")) + ";");
}else if(configIpPortShow.indexOf("1")>-1){
/*if(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_VALUE.equals(baseIpCfg.getSrcIpAddress())) {
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_VALUE+"'")+";");
}*/
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
if (matchType.startsWith("IPV6")) {
@@ -1215,8 +1225,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1224,8 +1234,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1233,7 +1243,7 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().equals(Constants.IPV6_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("client_ip")
+ String.format("can_not_be", Constants.IPV6_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(6);
@@ -1245,8 +1255,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1254,8 +1264,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getSrcIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("client_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("client_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
@@ -1263,14 +1273,37 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().equals(Constants.IPV4_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("client_ip")
+ String.format("can_not_be", Constants.IPV4_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(4);
}
}
} else {
if (srcIpEmpty) {// 源IP为空
} else if (srcIpEmpty) {// 源IP为空
if(configIpPortShow.indexOf("1")>-1&&configIpPortShow.indexOf("3")==-1) {//源IP必填
errInfo.append(String.format(prop.getProperty("can_not_null"),
prop.getProperty("client_ip", "Client IP")) + ";");
}else if(configIpPortShow.indexOf("3")>-1){
/*if(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV6_DEFAULT_IP_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV6_DEFAULT_IP_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_RANGE_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_SUBNET_VALUE+"'")+";");
}else if(Constants.IPV4_DEFAULT_IP_VALUE.equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
"'"+Constants.IPV4_DEFAULT_IP_VALUE+"'")+";");
}*/
String matchType = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (matchType.startsWith("IPV6")) {
@@ -1280,8 +1313,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1289,8 +1322,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV6_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1298,7 +1331,7 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getDestIpAddress().equals(Constants.IPV6_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("server_ip")
+ String.format("can_not_be", Constants.IPV6_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(6);
@@ -1312,8 +1345,8 @@ public class BaseController {
baseIpCfg.setIpPattern(2);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_RANGE_VALUE.split("-")[0])+";");
}
} else if (matchType.endsWith("SUBNET")) {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1321,8 +1354,8 @@ public class BaseController {
baseIpCfg.setIpPattern(1);
if (baseIpCfg.getDestIpAddress()
.startsWith(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])) {
errInfo.append(prop.getProperty("server_ip") + String.format("can_not_be",
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0]));
errInfo.append(prop.getProperty("server_ip") + String.format(prop.getProperty("can_not_be"),
Constants.IPV4_DEFAULT_IP_SUBNET_VALUE.split("/")[0])+";");
}
} else {
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
@@ -1330,65 +1363,61 @@ public class BaseController {
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getDestIpAddress().equals(Constants.IPV4_DEFAULT_IP_VALUE)) {
errInfo.append(prop.getProperty("server_ip")
+ String.format("can_not_be", Constants.IPV4_DEFAULT_IP_VALUE));
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)+";");
}
}
baseIpCfg.setIpType(4);
}
}
} else {//全不为空
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
String matchType1 = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (StringUtils.isNotBlank(matchType)&&StringUtils.isNotBlank(matchType1)&&
!matchType.equals(matchType1)) {
errInfo.append(prop.get("the_same_ip_type_pattern") + ";");
}
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
if (matchType.startsWith("IPV6")) {
baseIpCfg.setIpType(6);
} else {
String matchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(),
ipType, ipPattern);
String matchType1 = this.validIPAddress("server_ip", errInfo, baseIpCfg.getDestIpAddress(),
ipType, ipPattern);
if (StringUtils.isNotBlank(matchType)&&StringUtils.isNotBlank(matchType1)&&
!matchType.equals(matchType1)) {
errInfo.append(prop.get("the_same_ip_type_pattern") + ";");
baseIpCfg.setIpType(4);
}
if (matchType.endsWith("RANGE")) {
if (matchType.startsWith("IPV4")) {
this.validIPv4Range("client_ip", errInfo, baseIpCfg.getSrcIpAddress());
this.validIPv4Range("server_ip", errInfo, baseIpCfg.getDestIpAddress());
}
// baseIpCfg.setSrcIpAddress(baseIpCfg.getSrcIpAddress());
// baseIpCfg.setDestIpAddress(baseIpCfg.getDestIpAddress());
if (matchType.startsWith("IPV6")) {
baseIpCfg.setIpType(6);
} else {
baseIpCfg.setIpType(4);
}
if (matchType.endsWith("RANGE")) {
if (matchType.startsWith("IPV4")) {
this.validIPv4Range("client_ip", errInfo, baseIpCfg.getSrcIpAddress());
this.validIPv4Range("server_ip", errInfo, baseIpCfg.getDestIpAddress());
}
if (baseIpCfg.getSrcIpAddress().split("-")[0]
.equals(baseIpCfg.getDestIpAddress().split("-")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("-")[0],
baseIpCfg.getDestIpAddress().split("-")[0]) + ";");
}
baseIpCfg.setIpPattern(2);
} else if (matchType.endsWith("SUBNET")) {
if (baseIpCfg.getSrcIpAddress().split("/")[0]
.equals(baseIpCfg.getDestIpAddress().split("/")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("/")[0],
baseIpCfg.getDestIpAddress().split("/")[0]) + ";");
}
baseIpCfg.setIpPattern(1);
} else {
if (baseIpCfg.getSrcIpAddress().equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
prop.getProperty("client_ip"), prop.getProperty("server_ip")) + ";");
}
baseIpCfg.setIpPattern(3);
if (baseIpCfg.getSrcIpAddress().split("-")[0]
.equals(baseIpCfg.getDestIpAddress().split("-")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("-")[0],
baseIpCfg.getDestIpAddress().split("-")[0]) + ";");
}
baseIpCfg.setIpPattern(2);
} else if (matchType.endsWith("SUBNET")) {
if (baseIpCfg.getSrcIpAddress().split("/")[0]
.equals(baseIpCfg.getDestIpAddress().split("/")[0])) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
baseIpCfg.getSrcIpAddress().split("/")[0],
baseIpCfg.getDestIpAddress().split("/")[0]) + ";");
}
baseIpCfg.setIpPattern(1);
} else {
if (baseIpCfg.getSrcIpAddress().equals(baseIpCfg.getDestIpAddress())) {
errInfo.append(String.format(prop.getProperty("are_the_same"),
prop.getProperty("client_ip"), prop.getProperty("server_ip")) + ";");
}
baseIpCfg.setIpPattern(3);
}
}
// TODO 判断源IP和目的IP的值
// TODO 判断源IP和目的IP格式
if (StringUtil.isEmpty(baseIpCfg.getSrcPort())) {
srcPortEmpty = true;
}
if (StringUtil.isEmpty(baseIpCfg.getDestPort())) {
if (destPortEmpty) {
if (srcPortEmpty) {
baseIpCfg.setSrcPort("0");
baseIpCfg.setDestPort("0");