Commit 0ee83985 by wuchao

新版本

parent 66012e05
package com.chenyang.nse.bussiness.commmon;
public interface Constant {
String DBTYPE_KAFKA = "KAFKA";
String DBTYPE_HIVE_TDH = "HIVE_TDH";
int CONFIG_DOWNLOAD_OFFLINE = 1;
int CONFIG_DOWNLOAD_ONLINE = 0;
String COLON = ":";
String CONNECT_IDENTIFIER = "|||";
String ORACLE_SID_FLAG = "1";
int CONFIG_DOWNLOAD_MAP = 1;
String COMPLETE = "5";
String RUNNING = "-1";
String FAIL = "4";
}
package com.chenyang.nse.bussiness.commmon;
import com.chenyang.nse.bussiness.commmon.json.RespHelper;
import com.chenyang.nse.bussiness.exception.ClientOutOfWhiteListException;
import com.chenyang.nse.bussiness.exception.CustomException;
import com.chenyang.nse.bussiness.exception.TokenException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class ControllerExceptionAdvice {
static final Logger logger = LoggerFactory.getLogger(ControllerExceptionAdvice.class);
@ExceptionHandler
@ResponseBody
public Object exceptionHandler(Exception e) {
logger.error("", e);
return RespHelper.exceptionResp(e);
}
@ExceptionHandler
@ResponseBody
public Object exceptionHandler(BindException e) {
logger.error("", e);
return RespHelper.paramErrResp();
}
@ExceptionHandler
@ResponseBody
public Object exceptionHandler(TokenException e) {
logger.error("", e);
return RespHelper.createResptoken();
}
@ExceptionHandler
@ResponseBody
public Object exceptionHandler(ClientOutOfWhiteListException e) {
logger.error("", e);
return RespHelper.createRespOutOfWhiteList();
}
@ExceptionHandler
@ResponseBody
public Object exceptionHandler(CustomException e) {
logger.error("custom error", e);
return RespHelper.createResp(e.getCode(), e.getMsg());
}
}
package com.chenyang.nse.bussiness.common;
public interface Constant {
String DBTYPE_KAFKA = "KAFKA";
String DBTYPE_HIVE_TDH = "HIVE_TDH";
}
package com.chenyang.nse.bussiness.controller.console;
import com.chenyang.nse.bussiness.entity.cache.LoginUser;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseMenu;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseRole;
import com.chenyang.nse.bussiness.service.console.ConsoleService;
import com.chenyang.nse.bussiness.tools.object.JsonTool;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping({"/console"})
public class ConsoleController {
@Autowired
private ConsoleService consoleService;
@RequestMapping({"/"})
public String console(HttpServletRequest request, HttpServletResponse response, Model model) {
return "console/index";
}
@RequestMapping({"/top"})
public String top(HttpServletRequest request, HttpServletResponse response, Model model) {
return "console/top";
}
@RequestMapping({"/bottom"})
public String bottom(HttpServletRequest request, HttpServletResponse response, Model model) {
return "console/bottom";
}
@RequestMapping({"/initMenu"})
public String initMenu(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
LoginUser loginUser = (LoginUser)request.getSession().getAttribute("loginUser");
Object menuNeedRefresh = request.getSession().getAttribute("menuNeedRefresh");
if (menuNeedRefresh != null && (Boolean)menuNeedRefresh) {
List<TBaseRole> trole = loginUser.getTrole();
List<TBaseMenu> menus = new ArrayList();
for(TBaseRole role : trole) {
String roleId = role.getId();
menus.addAll(this.consoleService.qeuryMenusByRoleId(roleId));
}
loginUser.setMenus(menus);
request.getSession().setAttribute("menuNeedRefresh", false);
}
String menu_json = JsonTool.toJsonString(loginUser.getMenus());
if (menu_json == null) {
return null;
} else {
model.addAttribute("menu", menu_json);
return "console/left";
}
}
}
package com.chenyang.nse.bussiness.controller.core;
import com.chenyang.nse.bussiness.commmon.json.RespHelper;
import com.chenyang.nse.bussiness.commmon.json.Response;
import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.entity.vo.ControlledAssertVO;
import com.chenyang.nse.bussiness.service.core.ControlledAssetService;
import com.chenyang.nse.bussiness.tools.login.CommonUtils;
import com.chenyang.nse.bussiness.tools.msg.MesUtil;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@EnableAsync
@Controller
@RequestMapping({"/core/controlledasset"})
public class ControlledAssetController {
private static Logger logger = LoggerFactory.getLogger(ControlledAssetController.class);
@Autowired
private ControlledAssetService controlledAssetService;
private static final Logger ddmauditLogger = LoggerFactory.getLogger("ddmauditLogger");
private static final Logger operationLogger = LoggerFactory.getLogger("operationLogger");
@RequestMapping({"/query"})
@ResponseBody
public Response query(@RequestParam Map<String, String> params, Integer pageno, Integer pagesize, PageInfo pageInfo, HttpServletRequest request, HttpServletResponse response, Model model) {
pageInfo.setPageno(pageno);
pageInfo.setPagesize(pagesize);
List<ControlledAssertVO> list = this.controlledAssetService.queryControlledAsset(pageInfo, params);
ddmauditLogger.info(MesUtil.getMsg("DDM_01302", new String[]{CommonUtils.loginUsername(), CommonUtils.loginUsername()}));
return RespHelper.updateResp(pageInfo, list);
}
@RequestMapping({"/initEdit"})
@ResponseBody
public Response<ControlledAssertVO> initControlledAsset(@RequestParam Map<String, String> params) {
String id = String.valueOf(params.get("id"));
ddmauditLogger.info(MesUtil.getMsg("DDM_01304", new String[]{CommonUtils.loginUsername(), CommonUtils.loginUsername()}));
if (id != null && id.toString().length() != 0) {
ControlledAssertVO assertVO = this.controlledAssetService.initControlledAsset(id);
return RespHelper.<ControlledAssertVO>successResp(assertVO);
} else {
return RespHelper.<ControlledAssertVO>paramErrResp();
}
}
@PostMapping({"/add"})
@ResponseBody
public Response<ControlledAssertVO> addControlledAsset(@RequestBody ControlledAssertVO controlledAssertVO, HttpServletRequest request) {
if (StringUtils.isBlank(controlledAssertVO.getId()) && !ObjectUtils.isEmpty(this.controlledAssetService.queryByName(controlledAssertVO.getName()))) {
return RespHelper.<ControlledAssertVO>createResp(false, "POP_00026", MesUtil.getMsg("POP_00026", new String[0]));
} else {
if (StringUtils.isBlank(controlledAssertVO.getId())) {
ddmauditLogger.info(MesUtil.getMsg("DDM_01304", new String[]{CommonUtils.loginUsername(), controlledAssertVO.getName()}));
} else {
ddmauditLogger.info(MesUtil.getMsg("DDM_01303", new String[]{CommonUtils.loginUsername(), controlledAssertVO.getName()}));
}
this.controlledAssetService.addControlledAsset(controlledAssertVO, request);
return RespHelper.<ControlledAssertVO>successResp(controlledAssertVO);
}
}
@PostMapping({"/del"})
@ResponseBody
public Response remove(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response, Model model) {
String id = (String)params.get("id");
String name = (String)params.get("name");
ddmauditLogger.info(MesUtil.getMsg("DDM_01305", new String[]{CommonUtils.loginUsername(), name}));
this.controlledAssetService.remove(id);
this.controlledAssetService.deleteAreaByAssetid(id);
this.controlledAssetService.deleteRuleByAssetid(id);
return RespHelper.successResp();
}
}
package com.chenyang.nse.bussiness.controller.core;
import com.chenyang.nse.bussiness.entity.cache.LoginUser;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseMenu;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseRole;
import com.chenyang.nse.bussiness.enumeration.EroleFlag;
import com.chenyang.nse.bussiness.service.core.CoreService;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping({"/core"})
public class CoreController {
@Autowired
private CoreService coreService;
@RequestMapping({"/index"})
public String index(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
Object obj = request.getSession().getAttribute("loginUser");
if (null == obj) {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String ser = request.getServletPath();
String url = request.getRequestURL().toString();
String s = url.split(ser)[0];
String js = "<script type=\"text/javascript\">top.location.href='" + s + "';</script>";
out.println(js);
}
return "core/core_index";
}
@RequestMapping({"/top"})
public String top(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
return "include/core_top";
}
@RequestMapping({"/bottom"})
public String bottom(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
return "include/core_bottom";
}
@RequestMapping({"/navigation"})
public String navigation(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {
LoginUser loginUser = (LoginUser)request.getSession().getAttribute("loginUser");
List<TBaseRole> roles = loginUser.getTrole();
EroleFlag ef = EroleFlag.getEroleFlagByFlag(((TBaseRole)roles.get(0)).getFlag());
loginUser.setFlag(ef.getFlag());
loginUser.setPrefix(ef.getCode());
if (ef == EroleFlag.USER) {
List<TBaseMenu> menus = loginUser.getMenus();
model.addAttribute("menus", menus);
}
return "include/core_navigation";
}
@RequestMapping({"/datasystemreport"})
@ResponseBody
public List<Map> datasystemreport(HttpServletRequest request, HttpServletResponse response, Model model) {
List<Map> list = this.coreService.datasystemreport();
return list;
}
@RequestMapping({"/sensitivedatareport"})
@ResponseBody
public List<Map> sensitivedatareport(HttpServletRequest request, HttpServletResponse response, Model model) {
List<Map> list = this.coreService.sensitivedatareport();
return list;
}
@RequestMapping({"/maskingefficiencyreport"})
@ResponseBody
public Map maskingefficiencyreport(HttpServletRequest request, HttpServletResponse response, Model model) {
Map map = this.coreService.maskingefficiencyreport();
return map;
}
@RequestMapping({"/maskingrulereport"})
@ResponseBody
public List<Map> maskingrulereport(HttpServletRequest request, HttpServletResponse response, Model model) {
List<Map> list = this.coreService.maskingrulereport();
return list;
}
}
package com.chenyang.nse.bussiness.dao.core;
import com.chenyang.nse.bussiness.dao.BaseDao;
import com.chenyang.nse.bussiness.tools.xml.XmlTool;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.hibernate.transform.Transformers;
import org.springframework.stereotype.Repository;
@Repository
public class CoreDao extends BaseDao<Object, String> {
public List<Map> dataSystemReport() {
String sql = XmlTool.getSql("core", "dataSystemReport");
List<Map> list = this.getSession().createNativeQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).getResultList();
return list;
}
public List<Map> sensitiveDataReport() {
String sql = XmlTool.getSql("core", "sensitiveDataReport");
List<Map> list = this.getSession().createNativeQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).getResultList();
return list;
}
public List<Map> maskingRuleReport() {
String sql = XmlTool.getSql("core", "maskingRuleReport");
List<Map> list = this.getSession().createNativeQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).getResultList();
return list;
}
public Map maskingEfficiencyReport() {
String sql_row = XmlTool.getSql("core", "maskingTotalRow");
String sql_time = XmlTool.getSql("core", "maskingTotalTime");
String totalrow = "0";
String totaltime = "0";
try {
totalrow = this.getSession().createNativeQuery(sql_row).uniqueResult().toString();
totaltime = this.getSession().createNativeQuery(sql_time).uniqueResult().toString();
} catch (Exception var6) {
}
Map map = new HashMap();
map.put("totalrow", totalrow);
map.put("totaltime", totaltime);
return map;
}
}
package com.chenyang.nse.bussiness.dao.table.core.controlled;
import com.chenyang.nse.bussiness.dao.BaseDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreControlledAsset;
import com.chenyang.nse.bussiness.entity.vo.ControlledAssertVO;
import java.util.List;
import java.util.Map;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers;
import org.springframework.stereotype.Repository;
@Repository
public class ControlledAssetDao extends BaseDao<TCoreControlledAsset, String> {
static final String CACHE_NAME = "tcoredesensitization";
public List<ControlledAssertVO> queryAssertbyId(String id) {
String sql = "SELECT u.id as id,u.name, u.type, u.datasourceid, u.datasourcename, u.dbtype, u.business, u.note FROM t_core_controlled_asset u where u.id = :id";
return this.getSession().createNativeQuery(sql).setParameter("id", id).setResultTransformer(Transformers.aliasToBean(ControlledAssertVO.class)).getResultList();
}
public TCoreControlledAsset queryByName(String name) {
Criterion cusername = Restrictions.eq("name", name);
return (TCoreControlledAsset)this.queryUnique(new Criterion[]{cusername});
}
public TCoreControlledAsset queryByDatasourceid(String datasourceid) {
Criterion cusername = Restrictions.eq("datasourceid", datasourceid);
return (TCoreControlledAsset)this.queryUnique(new Criterion[]{cusername});
}
public List<Map<String, Object>> queryAreaNum2RuleNum() {
String sql = "select b.id, count(b.areaId) as areanum, count(b.ruleId) as rulenum from ( SELECT u.id AS id,a.id as areaId,r.id as ruleId FROM t_core_controlled_asset u LEFT JOIN t_core_controlled_asset_area a ON u.id = a.assetid LEFT JOIN t_core_controlled_asset_rule r ON u.id = r.assetid ) b group by b.id ";
List<Map<String, Object>> vo = this.getSession().createNativeQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).getResultList();
return vo;
}
}
package com.chenyang.nse.bussiness.engine.infa.basic.xmlbean;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
name = "",
propOrder = {"variable", "connectiontype", "connectionsubtype", "connectionnumber", "connectionname", "cnxrefname", "attribute"}
)
@XmlRootElement(
name = "CONNECTIONREFERENCE"
)
public class CONNECTIONREFERENCE {
@XmlAttribute(
name = "CNXREFNAME",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String cnxrefname;
@XmlAttribute(
name = "CONNECTIONTYPE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String connectiontype;
@XmlAttribute(
name = "CONNECTIONSUBTYPE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String connectionsubtype;
@XmlAttribute(
name = "CONNECTIONNUMBER",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String connectionnumber;
@XmlAttribute(
name = "CONNECTIONNAME",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String connectionname;
@XmlAttribute(
name = "PARTITIONNAME"
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String partitionname;
@XmlAttribute(
name = "VARIABLE"
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String variable;
@XmlAttribute(
name = "COMPONENTVERSION"
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String componentversion;
@XmlElement(
name = "ATTRIBUTE"
)
protected List<ATTRIBUTE> attribute;
public String getCNXREFNAME() {
return this.cnxrefname;
}
public void setCNXREFNAME(String value) {
this.cnxrefname = value;
}
public String getCONNECTIONTYPE() {
return this.connectiontype;
}
public void setCONNECTIONTYPE(String value) {
this.connectiontype = value;
}
public String getCONNECTIONSUBTYPE() {
return this.connectionsubtype;
}
public void setCONNECTIONSUBTYPE(String value) {
this.connectionsubtype = value;
}
public String getCONNECTIONNUMBER() {
return this.connectionnumber;
}
public void setCONNECTIONNUMBER(String value) {
this.connectionnumber = value;
}
public String getCONNECTIONNAME() {
return this.connectionname;
}
public void setCONNECTIONNAME(String value) {
this.connectionname = value;
}
public String getPARTITIONNAME() {
return this.partitionname;
}
public void setPARTITIONNAME(String value) {
this.partitionname = value;
}
public String getVARIABLE() {
return this.variable;
}
public void setVARIABLE(String value) {
this.variable = value;
}
public String getCOMPONENTVERSION() {
return this.componentversion;
}
public void setCOMPONENTVERSION(String value) {
this.componentversion = value;
}
public List<ATTRIBUTE> getATTRIBUTE() {
if (this.attribute == null) {
this.attribute = new ArrayList();
}
return this.attribute;
}
}
package com.chenyang.nse.bussiness.engine.infa.basic.xmlbean;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
name = "",
propOrder = {"toinstancetype", "toinstance", "tofield", "frominstancetype", "frominstance", "fromfield"}
)
@XmlRootElement(
name = "CONNECTOR"
)
public class CONNECTOR {
@XmlAttribute(
name = "FROMINSTANCE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String frominstance;
@XmlAttribute(
name = "FROMINSTANCETYPE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String frominstancetype;
@XmlAttribute(
name = "FROMFIELD",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String fromfield;
@XmlAttribute(
name = "TOINSTANCE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String toinstance;
@XmlAttribute(
name = "TOINSTANCETYPE",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String toinstancetype;
@XmlAttribute(
name = "TOFIELD",
required = true
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String tofield;
public String getFROMINSTANCE() {
return this.frominstance;
}
public void setFROMINSTANCE(String value) {
this.frominstance = value;
}
public String getFROMINSTANCETYPE() {
return this.frominstancetype;
}
public void setFROMINSTANCETYPE(String value) {
this.frominstancetype = value;
}
public String getFROMFIELD() {
return this.fromfield;
}
public void setFROMFIELD(String value) {
this.fromfield = value;
}
public String getTOINSTANCE() {
return this.toinstance;
}
public void setTOINSTANCE(String value) {
this.toinstance = value;
}
public String getTOINSTANCETYPE() {
return this.toinstancetype;
}
public void setTOINSTANCETYPE(String value) {
this.toinstancetype = value;
}
public String getTOFIELD() {
return this.tofield;
}
public void setTOFIELD(String value) {
this.tofield = value;
}
}
package com.chenyang.nse.bussiness.engine.infa.basic.xmlbean;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
name = ""
)
@XmlRootElement(
name = "CONWFRUNINFO"
)
public class CONWFRUNINFO {
@XmlAttribute(
name = "CONWFRUNINSTNAME"
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String conwfruninstname;
@XmlAttribute(
name = "CONWFPARAMFILE"
)
@XmlJavaTypeAdapter(NormalizedStringAdapter.class)
protected String conwfparamfile;
public String getCONWFRUNINSTNAME() {
return this.conwfruninstname;
}
public void setCONWFRUNINSTNAME(String value) {
this.conwfruninstname = value;
}
public String getCONWFPARAMFILE() {
return this.conwfparamfile;
}
public void setCONWFPARAMFILE(String value) {
this.conwfparamfile = value;
}
}
package com.chenyang.nse.bussiness.engine.infa.powercenter961.maskdata;
import com.chenyang.nse.bussiness.engine.infa.basic.xmlbean.ATTRIBUTE;
import com.chenyang.nse.bussiness.engine.infa.basic.xmlbean.CONFIG;
import java.util.ArrayList;
import java.util.List;
public class Configutil {
public static CONFIG getConfig() throws Exception {
new CONFIG();
CONFIG config = geCONFIGXml();
return config;
}
public static CONFIG geCONFIGXml() throws Exception {
CONFIG config = new CONFIG();
config.setDESCRIPTION("Default session configuration object");
config.setISDEFAULT("YES");
config.setNAME("default_session_config");
config.setVERSIONNUMBER("1");
for(ATTRIBUTE attribute : geCONFIGATTRIBUTEXml()) {
config.getATTRIBUTE().add(attribute);
}
return config;
}
public static List<ATTRIBUTE> geCONFIGATTRIBUTEXml() throws Exception {
List<ATTRIBUTE> attributeList = new ArrayList();
String[] tmpStr = null;
String[] attributeInfo = new String[]{"Advanced_", "Constraint based load ordering_NO", "Cache LOOKUP() function_YES", "Default buffer block size_Auto", "Line Sequential buffer length_1024", "Maximum Memory Allowed For Auto Memory Attributes_512MB", "Maximum Percentage of Total Memory Allowed For Auto Memory Attributes_5", "Additional Concurrent Pipelines for Lookup Cache Creation_Auto", "Custom Properties_AutoCommit=Yes;", "Pre-build lookup cache_Auto", "Optimization Level_Medium", "DateTime Format String_MM/DD/YYYY HH24:MI:SS.US", "Pre 85 Timestamp Compatibility_NO", "Log Options_0", "Save session log by_Session runs", "Save session log for these runs_0", "Session Log File Max Size_0", "Session Log File Max Time Period_0", "Maximum Partial Session Log Files_1", "Writer Commit Statistics Log Frequency_1", "Writer Commit Statistics Log Interval_0", "Error handling_", "Stop on errors_0", "Override tracing_None", "On Stored Procedure error_Stop", "On Pre-session command task error_Stop", "On Pre-Post SQL error_Stop", "Enable Recovery_NO", "Error Log Type_None", "Error Log Table Name Prefix_", "Error Log File Name_PMError.log", "Log Source Row Data_NO", "Data Column Delimiter_|", "Partitioning Options_", "Dynamic Partitioning_Disabled", "Number of Partitions_1", "Multiplication Factor_Auto", "Session on Grid_", "Is Enabled_NO"};
for(int i = 0; i < attributeInfo.length; ++i) {
ATTRIBUTE attribute = new ATTRIBUTE();
tmpStr = attributeInfo[i].split("_");
attribute.setNAME(tmpStr[0]);
if (tmpStr.length > 1) {
attribute.setVALUE(tmpStr[1]);
} else {
attribute.setVALUE("");
}
attributeList.add(attribute);
}
return attributeList;
}
}
package com.chenyang.nse.bussiness.engine.infa.powercenter961.transferdata;
import com.chenyang.nse.bussiness.engine.infa.basic.xmlbean.ATTRIBUTE;
import com.chenyang.nse.bussiness.engine.infa.basic.xmlbean.CONFIG;
import java.util.ArrayList;
import java.util.List;
public class Configutil {
public CONFIG getConfig() throws Exception {
new CONFIG();
CONFIG config = this.geCONFIGXml();
return config;
}
public CONFIG geCONFIGXml() throws Exception {
CONFIG config = new CONFIG();
config.setDESCRIPTION("Default session configuration object");
config.setISDEFAULT("YES");
config.setNAME("default_session_config");
config.setVERSIONNUMBER("1");
for(ATTRIBUTE attribute : this.geCONFIGATTRIBUTEXml()) {
config.getATTRIBUTE().add(attribute);
}
return config;
}
public List<ATTRIBUTE> geCONFIGATTRIBUTEXml() throws Exception {
List<ATTRIBUTE> attributeList = new ArrayList();
String[] tmpStr = null;
String[] attributeInfo = new String[]{"Advanced_", "Constraint based load ordering_NO", "Cache LOOKUP() function_YES", "Default buffer block size_Auto", "Line Sequential buffer length_1024", "Maximum Memory Allowed For Auto Memory Attributes_512MB", "Maximum Percentage of Total Memory Allowed For Auto Memory Attributes_5", "Additional Concurrent Pipelines for Lookup Cache Creation_Auto", "Custom Properties_", "Pre-build lookup cache_Auto", "Optimization Level_Medium", "DateTime Format String_MM/DD/YYYY HH24:MI:SS.US", "Pre 85 Timestamp Compatibility_NO", "Log Options_0", "Save session log by_Session runs", "Save session log for these runs_0", "Session Log File Max Size_0", "Session Log File Max Time Period_0", "Maximum Partial Session Log Files_1", "Writer Commit Statistics Log Frequency_1", "Writer Commit Statistics Log Interval_0", "Error handling_", "Stop on errors_0", "Override tracing_None", "On Stored Procedure error_Stop", "On Pre-session command task error_Stop", "On Pre-Post SQL error_Stop", "Enable Recovery_NO", "Error Log Type_None", "Error Log Table Name Prefix_", "Error Log File Name_PMError.log", "Log Source Row Data_NO", "Data Column Delimiter_|", "Partitioning Options_", "Dynamic Partitioning_Disabled", "Number of Partitions_1", "Multiplication Factor_Auto", "Session on Grid_", "Is Enabled_NO"};
for(int i = 0; i < attributeInfo.length; ++i) {
ATTRIBUTE attribute = new ATTRIBUTE();
tmpStr = attributeInfo[i].split("_");
attribute.setNAME(tmpStr[0]);
if (tmpStr.length > 1) {
attribute.setVALUE(tmpStr[1]);
} else {
attribute.setVALUE("");
}
attributeList.add(attribute);
}
return attributeList;
}
}
package com.chenyang.nse.bussiness.entity.vo;
import com.chenyang.nse.bussiness.entity.orm.table.core.dataproject.TCoreDataArea;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
public class ControlledAssertVO {
private String id;
private String note;
private String name;
private String type;
private String datasourceid;
private String dbtype;
private String datasourcename;
private String business;
private String flag;
private Date createtime;
private Date updatetime;
private String createuser;
private String updateuser;
private List<TCoreDataArea> dataAreaList;
private List<AppDataRule> dataRuleList;
private BigInteger areanum;
private BigInteger rulenum;
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
public String getNote() {
return this.note;
}
public void setNote(String note) {
this.note = note;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return this.type;
}
public void setType(String type) {
this.type = type;
}
public String getDatasourceid() {
return this.datasourceid;
}
public void setDatasourceid(String datasourceid) {
this.datasourceid = datasourceid;
}
public String getDbtype() {
return this.dbtype;
}
public void setDbtype(String dbtype) {
this.dbtype = dbtype;
}
public String getDatasourcename() {
return this.datasourcename;
}
public void setDatasourcename(String datasourcename) {
this.datasourcename = datasourcename;
}
public String getBusiness() {
return this.business;
}
public void setBusiness(String business) {
this.business = business;
}
public String getFlag() {
return this.flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public Date getCreatetime() {
return this.createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public Date getUpdatetime() {
return this.updatetime;
}
public void setUpdatetime(Date updatetime) {
this.updatetime = updatetime;
}
public String getCreateuser() {
return this.createuser;
}
public void setCreateuser(String createuser) {
this.createuser = createuser;
}
public String getUpdateuser() {
return this.updateuser;
}
public void setUpdateuser(String updateuser) {
this.updateuser = updateuser;
}
public List<TCoreDataArea> getDataAreaList() {
return this.dataAreaList;
}
public void setDataAreaList(List<TCoreDataArea> dataAreaList) {
this.dataAreaList = dataAreaList;
}
public List<AppDataRule> getDataRuleList() {
return this.dataRuleList;
}
public void setDataRuleList(List<AppDataRule> dataRuleList) {
this.dataRuleList = dataRuleList;
}
public BigInteger getAreanum() {
return this.areanum;
}
public void setAreanum(BigInteger areanum) {
this.areanum = areanum;
}
public BigInteger getRulenum() {
return this.rulenum;
}
public void setRulenum(BigInteger rulenum) {
this.rulenum = rulenum;
}
}
package com.chenyang.nse.bussiness.init;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer {
static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE"};
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOriginPatterns(new String[]{"*"}).allowedMethods(new String[]{"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"}).allowCredentials(true).maxAge(3600L).allowedHeaders(new String[]{"*"});
}
}
package com.chenyang.nse.bussiness.performance_monitor.entity;
import com.chenyang.nse.bussiness.performance_monitor.utils.UUIDGenerator;
import java.util.Date;
public class CoreApiResponseMsg {
protected String code;
protected String msg;
protected boolean flag;
protected String errorInstanceId = UUIDGenerator.getUUID();
protected Object data;
public int total;
protected Date responseDate = new Date();
public int getTotal() {
return this.total;
}
public void setTotal(int total) {
this.total = total;
}
public String getCode() {
return this.code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return this.msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public boolean isFlag() {
return this.flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public String getErrorInstanceId() {
return this.errorInstanceId;
}
public void setErrorInstanceId(String errorInstanceId) {
this.errorInstanceId = errorInstanceId;
}
public Object getData() {
return this.data;
}
public void setData(Object data) {
this.data = data;
}
public Date getResponseDate() {
return this.responseDate;
}
public void setResponseDate(Date responseDate) {
this.responseDate = responseDate;
}
}
package com.chenyang.nse.bussiness.service.console;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseMenu;
import java.util.List;
public interface ConsoleService {
List<TBaseMenu> qeuryMenusByRoleId(String roleId);
}
package com.chenyang.nse.bussiness.service.console.impl;
import com.chenyang.nse.bussiness.dao.table.base.TBaseMenuDao;
import com.chenyang.nse.bussiness.entity.orm.table.base.TBaseMenu;
import com.chenyang.nse.bussiness.service.console.ConsoleService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class ConsoleServiceImpl implements ConsoleService {
@Autowired
private TBaseMenuDao menuDao;
public List<TBaseMenu> qeuryMenusByRoleId(String roleId) {
List<TBaseMenu> list = this.menuDao.qeuryMenusByRoleId(roleId);
return list;
}
}
package com.chenyang.nse.bussiness.service.core;
import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreControlledAsset;
import com.chenyang.nse.bussiness.entity.vo.ControlledAssertVO;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
public interface ControlledAssetService {
List<ControlledAssertVO> queryControlledAsset(PageInfo pageInfo, Map<String, String> params);
ControlledAssertVO initControlledAsset(String id);
TCoreControlledAsset queryByName(String name);
void addControlledAsset(ControlledAssertVO controlledAssertVO, HttpServletRequest request);
void remove(String id);
void deleteAreaByAssetid(String id);
void deleteRuleByAssetid(String id);
TCoreControlledAsset queryByDatasourceid(String datasourceid);
}
package com.chenyang.nse.bussiness.service.core;
import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsEight;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsFive;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsFour;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsOne;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsSeven;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsSix;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsThree;
import com.chenyang.nse.bussiness.entity.orm.table.core.charts.TCoreChartsTwo;
import com.chenyang.nse.bussiness.entity.orm.table.core.project.TCoreProjectInfo;
import com.chenyang.nse.bussiness.entity.vo.Releasecolumn;
import java.util.List;
public interface CoreProjectService {
List<Releasecolumn> queryTcoreReleasecolumn(String projectid, String table);
void saveTCoreChartsOne(TCoreChartsOne tCoreChartsOne);
void saveTCoreChartsTwo(TCoreChartsTwo tCoreChartsTwo);
void saveTCoreChartsThree(TCoreChartsThree tCoreChartsThree);
void saveTCoreChartsFour(TCoreChartsFour tCoreChartsFour);
void saveTCoreChartsFive(TCoreChartsFive tCoreChartsFive);
void saveTCoreChartsSix(TCoreChartsSix tCoreChartsSix);
void saveTCoreChartsSeven(TCoreChartsSeven tCoreChartsSeven);
void saveTCoreChartsEight(TCoreChartsEight tCoreChartseight);
List<TCoreChartsOne> queryTCoreChartsOne(List<String> projectidlist);
List<TCoreChartsSeven> queryTCoreChartsSeven(List<String> projectidlist);
List<TCoreChartsEight> queryTCoreChartsEight(List<String> projectidlist);
List<TCoreChartsTwo> queryTCoreChartsTwo(List<String> projectidlist);
List<TCoreChartsThree> queryTCoreChartsThree(List<String> projectidlist);
List<TCoreChartsFour> queryTCoreChartsFour(List<String> projectidlist);
List<TCoreChartsFive> queryTCoreChartsFive(List<String> projectidlist);
List<TCoreChartsSix> queryTCoreChartsSix(List<String> projectidlist);
List<TCoreProjectInfo> query(String flag);
void save(TCoreProjectInfo tCoreProjectInfo);
void update(TCoreProjectInfo tCoreProjectInfo);
void remove(String id);
void removeByProjectid(String projectid);
List<TCoreProjectInfo> queryAll(PageInfo pageInfo, String projectname);
List<TCoreProjectInfo> queryAll();
void createsqlstr(StringBuilder sql);
List<TCoreProjectInfo> queryById(String id);
List<TCoreProjectInfo> queryByName(String projectname);
void removeAllChat(String projectname);
TCoreProjectInfo queryProjectByProjectId(String projectid);
}
package com.chenyang.nse.bussiness.service.core;
import java.util.List;
import java.util.Map;
public interface CoreService {
List<Map> datasystemreport();
List<Map> sensitivedatareport();
List<Map> maskingrulereport();
Map maskingefficiencyreport();
}
package com.chenyang.nse.bussiness.service.core.impl;
import com.chenyang.nse.bussiness.dao.PageInfo;
import com.chenyang.nse.bussiness.dao.table.core.TCoreDatasystemDao;
import com.chenyang.nse.bussiness.dao.table.core.controlled.ControlledAssetDao;
import com.chenyang.nse.bussiness.dao.table.core.controlled.TCoreAssetAreaDao;
import com.chenyang.nse.bussiness.dao.table.core.controlled.TCoreAssetRuleDao;
import com.chenyang.nse.bussiness.dao.table.core.dataproject.TCoreDataAreaDao;
import com.chenyang.nse.bussiness.dao.table.core.rule.app.AppDataRuleDao;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreAssetArea;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreAssetRule;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreControlledAsset;
import com.chenyang.nse.bussiness.entity.orm.table.core.TCoreDatasystem;
import com.chenyang.nse.bussiness.entity.orm.table.core.dataproject.TCoreDataArea;
import com.chenyang.nse.bussiness.entity.orm.table.core.rule.app.AppDataRule;
import com.chenyang.nse.bussiness.entity.vo.ControlledAssertVO;
import com.chenyang.nse.bussiness.service.core.ControlledAssetService;
import com.chenyang.nse.bussiness.tools.login.CommonUtils;
import com.chenyang.nse.bussiness.tools.string.StringTool;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
@Service
@Repository
@EnableAsync
@Transactional
public class ControlledAssetServiceImpl implements ControlledAssetService {
@Autowired
private TCoreDataAreaDao tCoreDataAreaDao;
@Autowired
private AppDataRuleDao appDataRuleDao;
@Autowired
private TCoreAssetRuleDao assetRuleDao;
@Autowired
private ControlledAssetDao controlledAssetDao;
@Autowired
private TCoreAssetAreaDao assetAreaDao;
@Autowired
private TCoreDatasystemDao datasystemDao;
public List<ControlledAssertVO> queryControlledAsset(PageInfo pageInfo, Map<String, String> params) {
String name = "";
if (null != params && null != params.get("name")) {
name = (String)params.get("name");
}
Criterion criterion1 = Restrictions.like("name", name, MatchMode.ANYWHERE).ignoreCase();
String business = "";
if (null != params && null != params.get("business")) {
business = (String)params.get("business");
}
Criterion criterion2 = Restrictions.like("business", business, MatchMode.ANYWHERE).ignoreCase();
String note = "";
if (null != params && null != params.get("note")) {
note = (String)params.get("note");
}
Criterion criterion3 = Restrictions.like("note", note, MatchMode.ANYWHERE).ignoreCase();
String type = "";
Criterion criterion4;
if (null != params && null != params.get("type")) {
type = (String)params.get("type");
criterion4 = Restrictions.eq("type", type).ignoreCase();
} else {
criterion4 = Restrictions.like("type", type, MatchMode.ANYWHERE).ignoreCase();
}
List<TCoreControlledAsset> controlledAssetlist = this.controlledAssetDao.queryByPageInfo(pageInfo, Order.desc("createtime"), new Criterion[]{criterion1, criterion2, criterion3, criterion4});
List<Map<String, Object>> area2ruleList = this.controlledAssetDao.queryAreaNum2RuleNum();
List<ControlledAssertVO> mergeList = new ArrayList();
for(int i = 0; i < controlledAssetlist.size(); ++i) {
ControlledAssertVO assertVO = new ControlledAssertVO();
BeanUtils.copyProperties(controlledAssetlist.get(i), assertVO);
for(int j = 0; j < area2ruleList.size(); ++j) {
if (assertVO.getId().equals(((Map)area2ruleList.get(j)).get("id"))) {
assertVO.setAreanum((BigInteger)((Map)area2ruleList.get(j)).get("areanum"));
assertVO.setRulenum((BigInteger)((Map)area2ruleList.get(j)).get("rulenum"));
}
}
mergeList.add(assertVO);
}
return mergeList;
}
public ControlledAssertVO initControlledAsset(String id) {
ControlledAssertVO assertVO = new ControlledAssertVO();
List<ControlledAssertVO> ControlledAssertList = this.controlledAssetDao.queryAssertbyId(id);
if (!ObjectUtils.isEmpty(ControlledAssertList)) {
assertVO = (ControlledAssertVO)ControlledAssertList.get(0);
List<TCoreDataArea> dataAreaList = this.tCoreDataAreaDao.queryByAssetId(id);
assertVO.setDataAreaList(dataAreaList);
List<AppDataRule> dataRuleList = this.appDataRuleDao.queryByAssetId(id);
assertVO.setDataRuleList(dataRuleList);
}
return assertVO;
}
public TCoreControlledAsset queryByName(String username) {
return this.controlledAssetDao.queryByName(username);
}
public TCoreControlledAsset queryByDatasourceid(String datasourceid) {
return this.controlledAssetDao.queryByDatasourceid(datasourceid);
}
@Transactional
public void addControlledAsset(ControlledAssertVO controlledAssertVO, HttpServletRequest request) {
TCoreControlledAsset controlledAsset = new TCoreControlledAsset();
BeanUtils.copyProperties(controlledAssertVO, controlledAsset);
List<TCoreDataArea> dataAreaList = controlledAssertVO.getDataAreaList();
List<AppDataRule> appRuleList = controlledAssertVO.getDataRuleList();
String username = CommonUtils.loginUsername();
TCoreDatasystem datasystem = (TCoreDatasystem)this.datasystemDao.get(controlledAssertVO.getDatasourceid());
controlledAsset.setDatasourcename(datasystem.getSysname());
controlledAsset.setDbtype(datasystem.getDbtype());
if (StringUtils.isBlank(controlledAsset.getId())) {
controlledAsset.setCreateuser(username);
controlledAsset.setCreatetime(new Date());
controlledAsset.setFlag("0");
controlledAsset.setId(StringTool.getTablePrimaryKey());
this.controlledAssetDao.save(controlledAsset);
this.saveAreas(dataAreaList, controlledAsset, username);
this.saveRules(appRuleList, controlledAsset, username);
controlledAssertVO.setId(controlledAsset.getId());
} else {
TCoreControlledAsset tCoreControlledAsset = (TCoreControlledAsset)this.controlledAssetDao.queryUnique(new Criterion[]{Restrictions.eq("id", controlledAsset.getId())});
tCoreControlledAsset.setBusiness(controlledAsset.getBusiness());
tCoreControlledAsset.setName(controlledAsset.getName());
tCoreControlledAsset.setDatasourceid(controlledAsset.getDatasourceid());
tCoreControlledAsset.setNote(StringUtils.isBlank(controlledAsset.getNote()) ? "" : controlledAsset.getNote());
tCoreControlledAsset.setFlag("0");
tCoreControlledAsset.setUpdateuser(username);
tCoreControlledAsset.setUpdatetime(new Date());
this.controlledAssetDao.saveOrUpdate(tCoreControlledAsset);
this.deleteAssetArea(controlledAsset.getId());
this.saveAreas(dataAreaList, controlledAsset, username);
this.deleteAssetRule(controlledAsset.getId());
this.saveRules(appRuleList, controlledAsset, username);
}
}
public void deleteAssetArea(String assetid) {
Criterion croleid = Restrictions.in("assetid", new Object[]{assetid});
this.assetAreaDao.remove(new Criterion[]{croleid});
}
public void deleteAssetRule(String assetid) {
Criterion croleid = Restrictions.in("assetid", new Object[]{assetid});
this.assetRuleDao.remove(new Criterion[]{croleid});
}
private void saveAreas(List<TCoreDataArea> dataAreaList, TCoreControlledAsset controlledAsset, String username) {
if (!ObjectUtils.isEmpty(dataAreaList)) {
dataAreaList.forEach((item) -> {
TCoreAssetArea baseUserrole = new TCoreAssetArea();
baseUserrole.setAreaid(item.getId());
baseUserrole.setAssetid(controlledAsset.getId());
baseUserrole.setCreateuser(username);
baseUserrole.setCreatetime(new Date());
baseUserrole.setFlag("0");
baseUserrole.setId(StringTool.getTablePrimaryKey());
this.assetAreaDao.save(baseUserrole);
});
}
}
private void saveRules(List<AppDataRule> appDataRuleList, TCoreControlledAsset controlledAsset, String username) {
if (!ObjectUtils.isEmpty(appDataRuleList)) {
appDataRuleList.forEach((item) -> {
TCoreAssetRule assetRule = new TCoreAssetRule();
assetRule.setRuleid(item.getId());
assetRule.setAssetid(controlledAsset.getId());
assetRule.setCreateuser(username);
assetRule.setCreatetime(new Date());
assetRule.setFlag("0");
assetRule.setId(StringTool.getTablePrimaryKey());
this.assetRuleDao.save(assetRule);
});
}
}
@Transactional
public void remove(String id) {
this.controlledAssetDao.removeById(id);
}
@Transactional
public void deleteAreaByAssetid(String assetid) {
Criterion croleid = Restrictions.eq("assetid", assetid);
List<TCoreAssetArea> list = this.assetAreaDao.queryAll(new Criterion[]{croleid});
this.assetAreaDao.remove(list);
}
@Transactional
public void deleteRuleByAssetid(String assetid) {
Criterion croleid = Restrictions.eq("assetid", assetid);
List<TCoreAssetRule> list = this.assetRuleDao.queryAll(new Criterion[]{croleid});
this.assetRuleDao.remove(list);
}
}
package com.chenyang.nse.bussiness.service.core.impl;
import com.chenyang.nse.bussiness.dao.core.CoreDao;
import com.chenyang.nse.bussiness.service.core.CoreService;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class CoreServiceImpl implements CoreService {
@Autowired
private CoreDao coreDao;
public List<Map> datasystemreport() {
List<Map> list = this.coreDao.dataSystemReport();
return list;
}
public List<Map> sensitivedatareport() {
List<Map> list = this.coreDao.sensitiveDataReport();
return list;
}
public List<Map> maskingrulereport() {
List<Map> list = this.coreDao.maskingRuleReport();
return list;
}
public Map maskingefficiencyreport() {
Map map = this.coreDao.maskingEfficiencyReport();
return map;
}
}
package com.chenyang.nse.bussiness.tools.correlation;
import com.chenyang.nse.bussiness.tools.jdbc.JdbcTool;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CorrelationTool {
public static Map<String, Float> check(ArrayList<List<String>> data, int a, double rate) {
Map<String, Float> map = new HashMap();
List<String> target = (List)data.get(a);
for(int i = 0; i < data.size(); ++i) {
Map<String, Integer> checkMap = new HashMap();
if (i != a) {
List<String> current = (List)data.get(i);
ArrayList<String> list = new ArrayList();
for(int j = 0; j < ((List)data.get(i)).size(); ++j) {
Integer count = (Integer)checkMap.get(current.get(j));
String s = (String)target.get(j);
if (count == null) {
count = 1;
list.add(s);
} else if (list.contains(s)) {
count = count + 1;
list.add(s);
}
checkMap.put(current.get(j), count);
}
DecimalFormat df2 = new DecimalFormat("0.000");
String confidence = df2.format((double)((float)list.size() / (float)((List)data.get(0)).size()));
float confidenceRate = Float.parseFloat(confidence);
if ((double)confidenceRate > rate) {
map.put((data.get(i)).get(0), confidenceRate);
}
}
}
return map;
}
public static void main(String[] args) throws SQLException {
Connection conn = JdbcTool.getConnection("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@192.168.2.106:1521:orcl", "test", "test");
Statement sm = null;
sm = conn.createStatement();
String querySql = "select * from HAILONG.IP_INVPTY101";
ResultSet rs = sm.executeQuery(querySql);
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
Object columnValue = null;
long rowCount = 0L;
ArrayList<List<String>> list;
for(list = new ArrayList(); rs.next(); ++rowCount) {
for(int i = 0; i < colCount; ++i) {
if (rowCount == 0L) {
List<String> strlist = new ArrayList();
strlist.add(rsmd.getColumnName(i + 1));
list.add(i, strlist);
}
columnValue = rs.getObject(i + 1);
((List)list.get(i)).add(columnValue == null ? "" : columnValue.toString());
}
}
check(list, 4, 0.6);
}
}
package com.chenyang.nse.bussiness.tools.dataprocess.common;
public interface Constant {
String ENCRYPT_FLAG_RUNNING = "-1";
String ENCRYPT_FLAG_FAIL = "4";
String ENCRYPT_FLAG_COMPLETE = "5";
String DECRYPT_FLAG_RUNNING = "-2";
String DECRYPT_FLAG_FAIL = "44";
String DECRYPT_FLAG_COMPLETE = "7";
String PROGRESS_ENCRYPTION_FLAG = "0";
String PROGRESS_DECRYPTION_FLAG = "1";
}
package com.chenyang.nse.bussiness.tools.xml.xmlclass.product;
public class ConnectivityOracle {
private String name;
private String value;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return this.value;
}
public void setValue(String value) {
this.value = value;
}
}
[\u6570\u636E\u6301\u4E45\u5316\u914D\u7F6E]
#IP信息
#jdbc.host=192.168.2.127
#正式环境
jdbc.host=127.0.0.1
#jdbc.host=192.168.2.228
#端口信息
#jdbc.port=54321
jdbc.port=3306
#数据库实例
jdbc.kingbase.dbname=security
#jdbc.dbname=encryption_gateway
#jdbc.dbname=encryption_king
#如果配置数据库类型是H2,则jdbc.dbname的值是public
jdbc.dbname=public
#jdbc.dbname=encryption
basePath=/home/trustz
maskingPath=/home/masking
#jdbc-mysql
#jdbc.driver=com.mysql.jdbc.Driver
#jdbc.driver=dm.jdbc.driver.DmDriver
jdbc.driver=org.h2.Driver
#jdbc-kingbase8
#jdbc.driver: com.kingbase8.Driver
#正式环境
#url-kingbase8
#jdbc.url=jdbc:kingbase8://${jdbc.host}:${jdbc.port}/${jdbc.kingbase.dbname}?currentSchema=${jdbc.dbname}
#jdbc.url=jdbc:mysql://${jdbc.host}:${jdbc.port}/${jdbc.dbname}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
#jdbc.url=jdbc:dm://${jdbc.host}:${jdbc.port}?SCHEMA=${jdbc.dbname}&columnNameUpperCase=false&genKeyNameCase=2
#H2 database
#jdbc.url=jdbc:h2:d:/db/enc;AUTO_SERVER=TRUE
jdbc.url=jdbc:h2:/home/trustz/data/db/enc;AUTO_SERVER=TRUE
jdbc.user=sa
jdbc.password=sa
#jdbc.user=SYSDBA
#jdbc.password=SYSDBA
#jdbc.user=root
#jdbc.password=root
#jdbc.user=system
#jdbc.password=system
#jdbc.dialect=org.hibernate.dialect.MySQL5Dialect
#jdbc.dialect=org.hibernate.dialect.DmDialect
jdbc.dialect=org.hibernate.dialect.H2Dialect
[\u5168\u5C40\u53C2\u6570]
#license\u5B58\u653E\u8DEF\u5F84
licensedir=${basePath}/data/infa_file/lic
#licensedir=D:/lic
#\u662F\u5426\u9700\u8981licenseKey 0:\u4E0D\u9700\u8981\u9A8C\u8BC1 1\uFF1A\u9700\u8981\u9A8C\u8BC1
isNeedLicenseKey=0
#错误登录允许次数
login_limit_num=5
#平台jar包部署路径
deployPath=${basePath}/data
#系统版本号
sys_version=v2.9
[\u65E5\u5FD7\u5C5E\u6027]
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u8DEF\u5F84
#logpath = D:/loginfo
logpath = ${basePath}/data/loginfo
#\u83B7\u53D6\u53D1\u73B0\u8FC7\u7A0B\u65E5\u5FD7\u8DEF\u5F84
tasklogger = ${maskingPath}/app/tasklogger/
#\u53D1\u73B0\u7ED3\u679C\u5BFC\u51FA\u8DEF\u5F84
discoveryResultDir=${basePath}/data/infa_project/export/
#\u53D1\u73B0\u4EFB\u52A1\u7248\u672C\u8DEF\u5F84
#TaskVersion=D:\\version\\TaskVersion\\
#ProjectVersion=D:\\version\\ProjectVersion\\
#AllVersion=D:\\version\\AllVersion\\
TaskVersion=${basePath}/data/infa_project/TaskVersion/
ProjectVersion=${basePath}/data/infa_project/ProjectVersion/
AllVersion=${basePath}/data/infa_project/AllVersion/
CustomVersion=${basePath}/data/infa_project/CustomVersion/
#\u7528\u4E8E\u56DE\u64A4\u7684\u5907\u4EFDsql\u8DEF\u5F84
ResetResult=${basePath}/data/infa_project/ResetResult/
#\u53D1\u73B0\u4EFB\u52A1\u76D1\u63A7\u8DEF\u5F84
#monitorFile=D:\\work\\ghca 2.0\\file\\
monitorFile=${basePath}/data/infa_project/monitorFile/
#\u53D1\u73B0\u4EFB\u52A1\uFF0C\u7ED3\u679C\u9875\u662F\u5426\u9700\u8981\u663E\u793A\u5339\u914D\u7387(0-\u4E0D\u663E\u793A\uFF1B1-\u663E\u793A)
isRate=1
#\u53D1\u73B0\u4EFB\u52A1\uFF0C\u7ED3\u679C\u9875\u5339\u914D\u7387\u663E\u793A\u6761\u6570
rateNum=10
#\u53D1\u73B0\u4EFB\u52A1\uFF0C\u6267\u884C\u5339\u914D\u548C\u4E0D\u5339\u914D\u6587\u4EF6\u5B58\u653E\u5730\u5740
#rateDir=D:\\work\\ghca 2.0\\rate\\
rateDir=${basePath}/data/infa_project/rate/
#\u53D1\u73B0\u4EFB\u52A1\uFF0C\u76F8\u5173\u6027\u7B97\u6CD5\u7F6E\u4FE1\u5EA6\u663E\u793A\u5927\u4E8E60%
confidenceRate=0.6
#\u53D1\u73B0\u4EFB\u52A1\uFF0C\u65E0\u7ED3\u6784\u6587\u4EF6\u56FE\u7247\u53D1\u73B0\uFF0C\u4E0B\u8F7D\u672C\u5730\u8DEF\u5F84\uFF08FTP/SFTP\uFF09
pictureDir=${basePath}/data/infa_project/pic/
#发现任务 一次查询的条数
readCntByOneTime=10000
#发现任务 JDBC一次插入的条数
jdbc_insert_batche_size=10000
#是否为重复数据
isrepeatvalue=0.1
#excelModelDown=D:\\masking\\
#数据域-发现规则导入模板
#dataAreaExportTemplate=E:/
dataAreaExportTemplate=${basePath}/data/infa_file/dataAreaExportTemplate/
[OTHERS]
#要导出的数据库名称
#jdbc.exportDatabaseName=encryption_test
jdbc.exportDatabaseName=${jdbc.dbname}
#要导入的数据库所在路径
jdbc.importPath=${basePath}/data/importMysqlSql/backup.sql
#mysql下的bin文件的路径
#MysqlPath=C:\\Program Files (x86)\\MySQL\\MySQL Server 5.5\\bin\\
MysqlPath=/usr/bin/
#MysqlPath=C:\\Program Files (x86)\\Mysql\\mysql-8.0.23-winx64\\bin\\
#导出的数据库存放路径
jdbc.exportPath=${basePath}/data/exportMysqlSql/backup.sql
#jdbc.exportPath=D:/ghca/data/exportMysqlSql/backup.sql
# 要导入的目标数据库
jdbc.importDatabaseName=${jdbc.dbname}
#jdbcproxypath = E:\\IdeaProjects\\p6-encryption-pom\\target\\encryption-proxy-jar-with-dependencies.jar
#jdbcproxypath = C:\\work\\repo\\com\\ghca\\encryption-proxy\\1.0\\encryption-proxy-1.0-jar-with-dependencies.jar
jdbcproxypath = ${basePath}/data/encryption/encryption-proxy.jar
# udf 目录
udfproxypath = ${basePath}/data/udf/
# sqlserverudf 文件位置
sqlserverudfpath = ${basePath}/data/udf/sqlserver-udf.dll
odbcproxypath = ${basePath}/data/encryption/masking_odbc.zip
jdbcmaskingfilename = encryption.properties
desensitizationStrategyfilename = masking.properties
#数据库连接文件的存储路径
databaselink = ${basePath}/data
#exceptionSqlPath = D:/exceptionSql/
exceptionSqlPath = ${basePath}/data/exceptionSql/
# 轮询自检下载文件路径
#exceptionKmLogPath = D:/kmlog/
#轮询自检 下载文件地址
exceptionKmLogPath = ${basePath}/data/kmlog/
logDetail = logDetail.log
#加密机SDKKeyId index SM2内部加密专用 SM4不需要
#SDKKeyId:110 是密钥索引 SDKPassword:pass是私钥授权码
SDKKeyId = 110
#加密机password SM2内部加密专用 SM4不需要
SDKPassword = pass
SDKPath = ${basePath}/data/HsmConfig.properties
#SDKPath = E:/HsmConfig/HsmConfig.properties
copySuffix = _copy
initialSuffix = _initial
cipherSuffix = _cipher
digestSuffix = _enc
checkNum = 100
corePoolSize = 4
maxPoolSize = 4
#线程池最大队列数
queueCapacity = 4
#oceanbase最大提交条数
oceanbasecount = 3
encbatchcount = 10000
#ES等待时间
esWaitTime = 2000
loginfilepath = D:/login.properties
# 告警begin
app_alert_interface = http://127.0.0.1:8180/core/applog/sendAlertInfo
db_alert_interface = http://127.0.0.1:8180/core/dblog/sendAlertInfo
# 邮件接收人
mailTo = shuyi666@aliyun.com
# 告警end
# 审计日志begin
# app审计日志存储路径\app规则匹配日志存储路径
#appserverlogpath = E:/app/
appserverlogpath = ${maskingPath}/app/appdata/
#审计日志转syslog
#syslog4auditserverlogpath = E:/s4a
syslog4auditserverlogpath = ${maskingPath}/s4a/s4adata/
# db 访问日志存储路径
#dbaccesslogpath = E:/syslog/access/
dbaccesslogpath = ${maskingPath}/app/syslog/access/
# db 规则匹配日志存储路径
#dbrulelogpath = E:/syslog/rule/
dbrulelogpath = ${maskingPath}/app/syslog/rule/
# 语句类型
auditlog_type = SELECT,UPDATE,DELETE
# app审计服务地址
applogServerHost = 127.0.0.1
applogServerPort = 32376
# db审计服务地址
dblogServerHost = 127.0.0.1
dblogServerPort = 40000
#审计日志转syslog
s4aServerHost = 127.0.0.1
s4aServerPost = 40000
# 审计日志end
# 数据源字符编码
oraclecharset = AL32UTF8,ZHS16GBK
mysqlcharset = UTF8,GBK
postgresqlcharset = UTF8,GBK
hivecharset = UTF8,BINARY
mssqlservercharset = UTF8,GBK
db2charset = Unicode,UCS-2,UTF16,UTF8
mariadbcharset = UTF8,BINARY
informixcharset = UTF8,819
dmcharset = GB18030,UTF8,EUC-KR
sybasecharset = UTF8,GBK
sybaseiqcharset = UTF8,GBK
gbasecharset = UTF8,GBK
kingbasecharset = UTF8,GBK
oscarcharset = UTF8,GBK
uxdbcharset = UTF8,GBK
greenplumcharset = UTF8,GBK
teradatacharset = UTF8,GBK
highgocharset = UTF8,GBK
cachecharset = UTF8,GBK
kakfacharset = UTF8,GBK
KAFKAcharset = UTF8,GBK
hadoopcharset = UTF8,GBK
hbasecharset = UTF8,GBK
gausscharset = UTF8,GBK
hive_tdhcharset = UTF8,GBK
mongodbcharset = UTF8,GBK
escharset = UTF8,GBK
oceanbasecharset = UTF8,GBK
gaussdbcharset = UTF8,GBK
#like是否执行按照单个字符进行加密开关。1表示按照单个字符进行加密。0表示按照字符串整体进行加密。 默认不开启为0
encryption.like.open = 1
#单个字符加密后连接起来用某个字符进行分割
encryption.like.split = #
#加密标识
encryption.label = jm_
#加密标识后缀
encryption.label.suffix = _jm
#加密标识
encryption.es.label = jmjzrjjm
#程序中一切跟配置库相关的操作 默认是mysql 为0。peizhikudbtype 为1时 代表 人大金仓 peizhikudbtype 为2时 代表达梦配置库 为3时 代表h2database配置库
peizhikudbtype = 3
#是否开启操作日志记录
isSaveServerClientLog=false
#加密卡秘钥配置 x,y分量可以通过导出公玥接口每次获取 M是密钥明文的哈希值,C是密钥的密文 L 向量长度是16字节的
ECCCipher.bits=0L
ECCCipher.x=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 42, -40, -13, -22, -108, 70, 42, 123, 40, 88, -37, 76, 90, 105, 55, 46, -59, -3, -43, 71, -120, 104, -84, 42, -77, 94, -112, 45, -93, 58, -45
ECCCipher.y=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, 18, -33, -28, -99, 39, -126, 89, 37, -15, -82, -46, -25, 40, 2, -44, 71, 102, 30, 113, -63, -78, -89, -55, -52, 38, 61, -109, 4, -122, 38, -30
ECCCipher.M=0, 27, 28, 35, 90, -3, -128, 76, -117, -31, 83, 84, 46, 61, -97, -92, 120, -19, 46, -121, -27, -107, -58, 90, 118, 0, 6, 105, 68, -41, 96, 30
ECCCipher.C=-18, 92, 111, -108, 103, -78, 28, 59, 67, -5, -101, -38, 40, 115, -72, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
ECCCipher.L=16
#加密卡句柄获取权限密码配置
Ccore.PhKeyHandle.password=11111111
#加密校验定时任务时间
digestperiod=5
#加密校验秘钥
digestkey=ghca
#加密/解密生成copy列,列最大长度设置
encryption.field.max=10000
#mongodb主键
encryption.mongodbpk=_id
#达梦拼sql
dmschema=encryption
#导入导出 0 excel 1 加密txt
is_enc_backupfile=1
#加密txt秘钥
is_enc_backupfile_key=6C603060274AED6FFB93EDB40E23E173
#0 拉取当前项目下的加密配置信息 1 拉取平台下 所有项目的配置信息
is_pull_all=0
#保存旧日志路径
oldlogpath=${basePath}/data/systemlog
#系统控制台路径
commandpath=${basePath}/data/commandlog
#json加密标识
jsonkey=jsonkey
#三未JCE接口配置文件
swsdsPath=${basePath}/jdk_dev
#是否依赖历史数据加密(0.不需要加密历史数据 1.必须加密历史数据 )
is_encrypted=1
<?xml version="1.0" encoding="UTF-8"?>
<sqls>
<!-- 统计数据系统 -->
<select id="dataSystemReport">
SELECT
count(*) value,
dbtype name
FROM
t_core_datasystem
GROUP BY dbtype
</select>
<!-- 统计敏感数据 -->
<select id="sensitiveDataReport">
SELECT
count(*) value,
regextype name
FROM
(
SELECT
*
FROM
t_core_sensitivecolumn t
GROUP BY
t.datasourceid,
t.tschema,
t.tablename
) tt
GROUP BY
regextype
</select>
<!-- 数据生成规则 -->
<select id="maskingRuleReport">
SELECT
count(*) value,
rulegroupname name
FROM
t_core_masking_rule
GROUP BY
rulegroupname
</select>
<!-- 总脱敏时间(秒) -->
<select id="maskingTotalTime">
SELECT
SUM(
TIMESTAMPDIFF(
SECOND,
t.starttime,
t.endtime
)
) totaltime
FROM
t_core_masking_detailrecord t;
</select>
<!-- 总脱敏行数 -->
<select id="maskingTotalRow">
SELECT
SUM(successrow) totalrow
FROM
t_core_masking_detailrecord t;
</select>
</sqls>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论