HTTP配置审核界面配置转maat配置处理逻辑提交
This commit is contained in:
@@ -2,11 +2,15 @@ package com.nis.web.service;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
@@ -17,7 +21,19 @@ import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import com.nis.domain.SysRole;
|
||||
import com.nis.domain.SysUser;
|
||||
import com.nis.domain.configuration.BaseCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.ComplexkeywordCfg;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.IpUtil;
|
||||
import com.nis.util.StringUtils;
|
||||
|
||||
/**
|
||||
@@ -238,5 +254,144 @@ public abstract class BaseService {
|
||||
}).create();
|
||||
return gson.toJson(obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* 界面配置list转换为服务接口端的list
|
||||
* @param dstList
|
||||
* @param srcList
|
||||
* @param cfgType,1为IP类型,2为字符串类型,3为增强字符串,4数值类型,5摘要类,6回调类[但字符串类域配置和增强字符串域配置在接口参数中同属于strRegionList]
|
||||
* @param groupId,组号
|
||||
* @return
|
||||
*/
|
||||
public static Map<String,List> cfgConvert(List dstList,List srcList,Integer cfgType,BaseCfg baseCfg,List groupRelationList){
|
||||
GroupCfg group = new GroupCfg();
|
||||
group.setGroupId(ConfigServiceUtil.getId(2, 1).get(0));
|
||||
group.setCompileId(baseCfg.getCompileId());
|
||||
group.setAuditTime(baseCfg.getAuditTime());
|
||||
group.setIsValid(baseCfg.getIsValid());
|
||||
groupRelationList.add(group);
|
||||
Map<String,List> map = new HashMap();
|
||||
if(cfgType==1){
|
||||
List numRegionList = new ArrayList();
|
||||
Integer groupId = 0;
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
BaseIpCfg baseIpCfg = (BaseIpCfg) srcList.get(i);
|
||||
IpCfg cfg = new IpCfg();
|
||||
BeanUtils.copyProperties(baseIpCfg, cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
cfg = ipConvert(cfg,baseIpCfg);
|
||||
dstList.add(cfg);
|
||||
//如果protocolId非空非零,需要构造数值型域配置,并且只构造一条
|
||||
if(baseIpCfg.getProtocolId()!=null && baseIpCfg.getProtocolId()!=0 && groupId!=0){
|
||||
if(groupId==0){//只构造一次配置分组
|
||||
GroupCfg group1 = new GroupCfg();
|
||||
groupId = ConfigServiceUtil.getId(2, 1).get(0);
|
||||
group1.setGroupId(groupId);
|
||||
group1.setCompileId(baseIpCfg.getCompileId());
|
||||
group1.setAuditTime(baseIpCfg.getAuditTime());
|
||||
group1.setIsValid(baseIpCfg.getIsValid());
|
||||
groupRelationList.add(group1);
|
||||
}
|
||||
NumBoundaryCfg numCfg = new NumBoundaryCfg();
|
||||
numCfg.setLowBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setUpBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
numCfg.setAuditTime(baseIpCfg.getAuditTime());
|
||||
numCfg.setGroupId(groupId);
|
||||
numCfg.setCfgType(baseIpCfg.getCfgType());
|
||||
numRegionList.add(numCfg);
|
||||
map.put("numRegionList",numRegionList);
|
||||
}
|
||||
}
|
||||
|
||||
}else if(cfgType==2 || cfgType==3){
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
StringCfg cfg = new StringCfg();
|
||||
BeanUtils.copyProperties(srcList.get(i), cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
dstList.add(cfg);
|
||||
}
|
||||
}else if(cfgType==4){
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
com.nis.domain.maat.MaatCfg.NumBoundaryCfg cfg = new com.nis.domain.maat.MaatCfg.NumBoundaryCfg();
|
||||
BeanUtils.copyProperties(srcList.get(i), cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
dstList.add(cfg);
|
||||
}
|
||||
}else{
|
||||
dstList.addAll(srcList);
|
||||
}
|
||||
map.put("groupList", groupRelationList);
|
||||
map.put("dstList", dstList);
|
||||
return map;
|
||||
}
|
||||
/**
|
||||
* 界面IP配置转换为MAAT类或者回调类IP配置
|
||||
* @param dstIp
|
||||
* @param srcIp
|
||||
* @return
|
||||
*/
|
||||
public static IpCfg ipConvert(IpCfg dstIp,BaseIpCfg srcIp){
|
||||
if(srcIp.getSrcIpAddress()!=null){
|
||||
if(srcIp.getSrcIpAddress().indexOf("/")!=-1){
|
||||
Integer srcMaskNum = Integer.parseInt(srcIp.getSrcIpAddress().split("/")[1]);
|
||||
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
|
||||
}else if(srcIp.getSrcIpAddress().indexOf("-")!=-1){
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("-")[0]);
|
||||
dstIp.setSrcIpMask(IpUtil.getMask(srcIp.getSrcIpAddress().split("-")[0], srcIp.getSrcIpAddress().split("-")[1]));
|
||||
}else{
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||
dstIp.setSrcIpMask("0.0.0.0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setSrcIp("0.0.0.0");
|
||||
dstIp.setSrcIpMask("0.0.0.0");
|
||||
}
|
||||
if(srcIp.getDestIpAddress()!=null){
|
||||
if(srcIp.getDestIpAddress().indexOf("/")!=-1){
|
||||
Integer dstMaskNum = Integer.parseInt(srcIp.getDestIpAddress().split("/")[1]);
|
||||
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
|
||||
}else if(srcIp.getDestIpAddress().indexOf("-")!=-1){
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("-")[0]);
|
||||
dstIp.setDstIpMask(IpUtil.getMask(srcIp.getDestIpAddress().split("-")[0], srcIp.getDestIpAddress().split("-")[1]));
|
||||
}else{
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||
dstIp.setDstIpMask("0.0.0.0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setDstIp("0.0.0.0");
|
||||
dstIp.setDstIpMask("0.0.0.0");
|
||||
}
|
||||
if(srcIp.getSrcPort()!=null){
|
||||
if(srcIp.getSrcPort().indexOf("/")!=-1){
|
||||
String srcMaskNum = srcIp.getSrcPort().split("/")[1];
|
||||
dstIp.setSrcPortMask(srcMaskNum);
|
||||
dstIp.setSrcPort(srcIp.getSrcPort().split("/")[0]);
|
||||
}else{
|
||||
dstIp.setSrcPort(srcIp.getSrcPort());
|
||||
dstIp.setSrcPortMask("0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setSrcPort("0");
|
||||
dstIp.setSrcPortMask("0");
|
||||
}
|
||||
if(srcIp.getDestPort()!=null){
|
||||
if(srcIp.getDestPort().indexOf("/")!=-1){
|
||||
String dstMaskNum = srcIp.getDestPort().split("/")[1];
|
||||
dstIp.setDstPortMask(dstMaskNum);
|
||||
dstIp.setDstPort(srcIp.getDestPort().split("/")[0]);
|
||||
}else{
|
||||
dstIp.setDstPort(srcIp.getDestPort());
|
||||
dstIp.setDstPortMask("0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setDstPort("0");
|
||||
dstIp.setDstPortMask("0");
|
||||
}
|
||||
return dstIp;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user