(1)字符串,增强字符串当可配置多个关键词的时候,加入最多4个词限制,并且关键词不能重复

(2)bgp as导入提交
(3)删除重复的ip_range_in_the_same国际化
This commit is contained in:
wangxin
2018-10-30 14:52:51 +08:00
parent 7f0048aec7
commit 6d56cc0d2b
6 changed files with 54 additions and 16 deletions

View File

@@ -12,10 +12,10 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.management.RuntimeErrorException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -34,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes; import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.beust.jcommander.internal.Lists; import com.beust.jcommander.internal.Lists;
import com.beust.jcommander.internal.Sets;
import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionRegionDict;
import com.nis.domain.FunctionServiceDict; import com.nis.domain.FunctionServiceDict;
import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.SysDataDictionaryItem;
@@ -58,15 +59,14 @@ import com.nis.domain.configuration.template.AsnIpTemplate;
import com.nis.domain.configuration.template.ComplexStringAllTemplate; import com.nis.domain.configuration.template.ComplexStringAllTemplate;
import com.nis.domain.configuration.template.DnsComplexStringTemplate; import com.nis.domain.configuration.template.DnsComplexStringTemplate;
import com.nis.domain.configuration.template.IpAllTemplate; import com.nis.domain.configuration.template.IpAllTemplate;
import com.nis.domain.configuration.template.P2pHashStringTemplate;
import com.nis.domain.configuration.template.P2pIpTemplate;
import com.nis.domain.configuration.template.IpCfgTemplate; import com.nis.domain.configuration.template.IpCfgTemplate;
import com.nis.domain.configuration.template.IpPayloadTemplate; import com.nis.domain.configuration.template.IpPayloadTemplate;
import com.nis.domain.configuration.template.IpRateLimitTemplate; import com.nis.domain.configuration.template.IpRateLimitTemplate;
import com.nis.domain.configuration.template.P2pHashStringTemplate;
import com.nis.domain.configuration.template.P2pIpTemplate;
import com.nis.domain.configuration.template.StringAllTemplate; import com.nis.domain.configuration.template.StringAllTemplate;
import com.nis.domain.log.BaseLogEntity; import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport; import com.nis.domain.log.SearchReport;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.domain.specific.SpecificServiceCfg; import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException; import com.nis.exceptions.MaatConvertException;
import com.nis.util.Configurations; import com.nis.util.Configurations;
@@ -124,8 +124,6 @@ import com.nis.web.service.specific.SpecificServiceCfgService;
import com.nis.web.service.specific.SpecificServiceHostCfgService; import com.nis.web.service.specific.SpecificServiceHostCfgService;
import com.nis.web.service.systemService.ServiceConfigInfoService; import com.nis.web.service.systemService.ServiceConfigInfoService;
import jdk.nashorn.internal.runtime.regexp.joni.Regex;
public class BaseController { public class BaseController {
@Autowired @Autowired
@@ -888,6 +886,7 @@ public class BaseController {
} }
} else { } else {
boolean has = false; boolean has = false;
Set<String> keywordSet=Sets.newHashSet();
for (String key : keyword.split("\n")) { for (String key : keyword.split("\n")) {
Matcher m = pattern.matcher(key); Matcher m = pattern.matcher(key);
if (m.find()) { if (m.find()) {
@@ -896,10 +895,20 @@ public class BaseController {
prop.getProperty("key_word") + " '" + key + "'") + ";"); prop.getProperty("key_word") + " '" + key + "'") + ";");
break; break;
} }
if(!keywordSet.contains(key)) {
keywordSet.add(key);
}else {
errInfo.append(prop.getProperty("key_word") + " '" + key + "'"+" "+prop.getProperty("repeat") + ";");
}
} }
if (!has) { if (!has) {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR); if(keyword.split("\n").length>4) {
baseStringCfg.setCfgKeywords(reWord); errInfo.append(String.format(prop.getProperty("most_keywords"),
prop.getProperty("key_word")) + ";");
}else {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR);
baseStringCfg.setCfgKeywords(reWord);
}
} }
} }
Integer exprType = baseStringCfg.getExprType(); Integer exprType = baseStringCfg.getExprType();
@@ -1121,6 +1130,8 @@ public class BaseController {
} }
} else { } else {
boolean has = false; boolean has = false;
Set<String> keywordSet=Sets.newHashSet();
for (String key : keyword.split("\n")) { for (String key : keyword.split("\n")) {
Matcher m = pattern.matcher(key); Matcher m = pattern.matcher(key);
if (m.find()) { if (m.find()) {
@@ -1129,10 +1140,20 @@ public class BaseController {
prop.getProperty("key_word") + " '" + key + "'") + ";"); prop.getProperty("key_word") + " '" + key + "'") + ";");
break; break;
} }
if(!keywordSet.contains(key)) {
keywordSet.add(key);
}else {
errInfo.append(prop.getProperty("key_word") + " '" + key + "'"+" "+prop.getProperty("repeat") + ";");
}
} }
if (!has) { if (!has) {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR); if(keyword.split("\n").length>4) {
baseStringCfg.setCfgKeywords(reWord); errInfo.append(String.format(prop.getProperty("most_keywords"),
prop.getProperty("key_word")) + ";");
}else {
String reWord = keyword.replaceAll("\n", Constants.KEYWORD_EXPR);
baseStringCfg.setCfgKeywords(reWord);
}
} }
} }
Integer exprType = baseStringCfg.getExprType(); Integer exprType = baseStringCfg.getExprType();
@@ -3297,7 +3318,7 @@ public class BaseController {
} }
} else { } else {
CfgIndexInfo cfgIndexInfo = new CfgIndexInfo(); CfgIndexInfo cfgIndexInfo = new CfgIndexInfo();
BeanUtils.copyProperties(cfg, cfgIndexInfo); BeanUtils.copyProperties(cfg, cfgIndexInfo, new String[] {"cfgId"});
cfgIndexInfos.add(cfgIndexInfo); cfgIndexInfos.add(cfgIndexInfo);
} }
} }
@@ -3320,6 +3341,9 @@ public class BaseController {
/* } */ /* } */
} }
if (regionDict.getFunctionId().equals(61)) {
bgpCfgService.saveBgpAsCfg(stringCfgs);
}
} else if (regionDict.getRegionType().equals(3)) { } else if (regionDict.getRegionType().equals(3)) {
for (ComplexkeywordCfg cfg : complexkeywordCfgs) { for (ComplexkeywordCfg cfg : complexkeywordCfgs) {
cfg.setAction(serviceDict.getAction()); cfg.setAction(serviceDict.getAction());

View File

@@ -11,8 +11,8 @@ import org.springframework.stereotype.Service;
import com.nis.domain.Page; import com.nis.domain.Page;
import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.NtcBgpAsCfg; import com.nis.domain.configuration.NtcBgpAsCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg;
@@ -86,7 +86,15 @@ public class BgpCfgService extends CrudService<BgpCfgDao,CfgIndexInfo> {
return entity; return entity;
} }
public void saveBgpAsCfg(List<BaseStringCfg<?>> cfgs) {
for(BaseStringCfg cfg:cfgs){
NtcBgpAsCfg _cfg=new NtcBgpAsCfg();
BeanUtils.copyProperties(cfg, _cfg);
if(cfg.getCfgKeywords()!=null && !"".equals(cfg.getCfgKeywords())){
bgpCfgDao.saveNtcBgpAsCfg(_cfg);
}
}
}
/** /**
* 保存配置 * 保存配置
* @param entity * @param entity

View File

@@ -1299,4 +1299,4 @@ av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP.
ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet
log_to_url=To HTTP URL log_to_url=To HTTP URL
source_compile_id=Configuration Source source_compile_id=Configuration Source
ip_range_in_the_same=Start IP and end IP in a IP range must with in the same subnet most_keywords=%s can have four keywords at most

View File

@@ -1297,3 +1297,4 @@ av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP.
log_to_url=To HTTP URL log_to_url=To HTTP URL
source_compile_id=Configuration Source source_compile_id=Configuration Source
av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP. av_protocol_note=Note:Recognizable Protocols Include RTSP,RTMP.
most_keywords=%s can have four keywords at most

View File

@@ -1291,4 +1291,4 @@ av_protocol_note=\u6CE8\uFF1A\u53EF\u8BC6\u522B\u534F\u8BAE\u5305\u62EC RTSP\u30
ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5 ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5
log_to_url=\u8F6CHTTP URL\u914D\u7F6E log_to_url=\u8F6CHTTP URL\u914D\u7F6E
source_compile_id=\u914D\u7F6E\u6765\u6E90 source_compile_id=\u914D\u7F6E\u6765\u6E90
ip_range_in_the_same=IP\u8303\u56F4\u7684\u8D77\u59CBIP\u4E0E\u7EC8\u6B62IP\u5FC5\u987B\u5728\u76F8\u540C\u7F51\u6BB5 most_keywords=%s\u6700\u591A\u5305\u542B\u56DB\u4E2A\u5173\u952E\u8BCD

View File

@@ -1,2 +1,7 @@
#ip白名单导入
update function_region_dict set is_import=1 where function_id=3 and dict_id=7; update function_region_dict set is_import=1 where function_id=3 and dict_id=7;
UPDATE function_service_dict SET is_import=1 WHERE function_id=3 AND dict_id=15; UPDATE function_service_dict SET is_import=1 WHERE function_id=3 AND dict_id=15;
#bgp导入
update function_region_dict set is_import=1 where function_id=61 and dict_id=48;
update function_region_dict set is_import=1 where function_id=61 and dict_id=168;
UPDATE function_service_dict SET is_import=1 WHERE function_id=61 ;