Commit 8e8c413d by qiuchaofei

format 代码

parent ea5f678b
...@@ -13,7 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync; ...@@ -13,7 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
public class MetadataRelationApplication { public class MetadataRelationApplication {
public static void main(String[] args) { public static void main(String[] args) {
// System.setProperty("es.set.netty.runtime.available.processors", "false"); // System.setProperty("es.set.netty.runtime.available.processors", "false");
SpringApplication.run(MetadataRelationApplication.class, args); SpringApplication.run(MetadataRelationApplication.class, args);
} }
......
...@@ -7,13 +7,13 @@ import org.springframework.context.annotation.Configuration; ...@@ -7,13 +7,13 @@ import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
public class FeignClientConfig { public class FeignClientConfig {
@Value("${security.authUser}") @Value("${security.authUser}")
private String authUser; private String authUser;
@Value("${security.authPwd}") @Value("${security.authPwd}")
private String authPwd; private String authPwd;
@Bean @Bean
public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() { public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor(authUser, authPwd); return new BasicAuthRequestInterceptor(authUser, authPwd);
......
...@@ -8,28 +8,28 @@ import org.springframework.context.annotation.Bean; ...@@ -8,28 +8,28 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
public class Neo4jConfig { public class Neo4jConfig {
@Value("${spring.data.neo4j.url}") @Value("${spring.data.neo4j.url}")
private String neo4jUrl; private String neo4jUrl;
@Value("${spring.data.neo4j.username}") @Value("${spring.data.neo4j.username}")
private String neo4jUsername; private String neo4jUsername;
@Value("${spring.data.neo4j.password}") @Value("${spring.data.neo4j.password}")
private String neo4jPassword; private String neo4jPassword;
private static Driver driver; private static Driver driver;
@Bean @Bean
public Driver getNeo4jConnection() { public Driver getNeo4jConnection() {
if(driver!=null){ if (driver != null) {
}else { } else {
driver = GraphDatabase.driver(neo4jUrl, AuthTokens.basic(neo4jUsername, neo4jPassword)); driver = GraphDatabase.driver(neo4jUrl, AuthTokens.basic(neo4jUsername, neo4jPassword));
} }
return driver; return driver;
} }
......
...@@ -45,41 +45,42 @@ public class MetaDataController { ...@@ -45,41 +45,42 @@ public class MetaDataController {
@Autowired @Autowired
private IBaseRelationshipService baseRelationshipService; private IBaseRelationshipService baseRelationshipService;
/** /**
* 查询元数据,关系 * 查询元数据,关系
* 返回 node,edge,icon * 返回 node,edge,icon
*/ */
@ApiOperation(tags = "",value="获取所有的节点与关系") @ApiOperation(tags = "", value = "获取所有的节点与关系")
@RequestMapping(path = "/result1", method = RequestMethod.GET) @RequestMapping(path = "/result1", method = RequestMethod.GET)
public ReturnReslult getAllNodeAndRelation() { public ReturnReslult getAllNodeAndRelation() {
logger.info("开始获取所有的节点与关系"); logger.info("开始获取所有的节点与关系");
ReturnReslult result = new ReturnReslult(); ReturnReslult result = new ReturnReslult();
List<MetaData> metaDataList = metadataService.finAllMetaData(); List<MetaData> metaDataList = metadataService.finAllMetaData();
Map<Long,Node> nodeMap = new HashMap<>(); Map<Long, Node> nodeMap = new HashMap<>();
Map<String, MetaModel> metaModelMap = new HashMap<>(); Map<String, MetaModel> metaModelMap = new HashMap<>();
for(MetaData metaData:metaDataList){ for (MetaData metaData : metaDataList) {
Node node = new Node(); Node node = new Node();
String[] strings = metaData.getMetadataId().split("="); String[] strings = metaData.getMetadataId().split("=");
String modelName = strings[0]; String modelName = strings[0];
node.setId(metaData.getMetadataId()); node.setId(metaData.getMetadataId());
node.setIcon(modelName); node.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
node.setName(metaData.getName()); node.setName(metaData.getName());
node.setType("MetaData"); node.setType("MetaData");
result.getNodes().add(node); result.getNodes().add(node);
nodeMap.put(metaData.getId(),node); nodeMap.put(metaData.getId(), node);
} }
List<TempNode> allTempNode = metadataService.findAllTempNode(); List<TempNode> allTempNode = metadataService.findAllTempNode();
...@@ -90,36 +91,36 @@ public class MetaDataController { ...@@ -90,36 +91,36 @@ public class MetaDataController {
node.setId(tempNode.getMetadataId()); node.setId(tempNode.getMetadataId());
node.setIcon(modelName); node.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
node.setName(tempNode.getName()); node.setName(tempNode.getName());
node.setType("TempNode"); node.setType("TempNode");
result.getNodes().add(node); result.getNodes().add(node);
nodeMap.put(tempNode.getId(),node); nodeMap.put(tempNode.getId(), node);
} }
logger.info("节点的数量:"+result.getNodes().size()); logger.info("节点的数量:" + result.getNodes().size());
List<BaseRelationship> baseRelationshipList = baseRelationshipService.findAllRelation(); List<BaseRelationship> baseRelationshipList = baseRelationshipService.findAllRelation();
for(BaseRelationship baseRelationship:baseRelationshipList){ for (BaseRelationship baseRelationship : baseRelationshipList) {
Edge edge = new Edge(); Edge edge = new Edge();
edge.setEdgeId(String.valueOf(baseRelationship.getId())); edge.setEdgeId(String.valueOf(baseRelationship.getId()));
Long startId = baseRelationship.getStart().getId(); Long startId = baseRelationship.getStart().getId();
Long endId = baseRelationship.getEnd().getId(); Long endId = baseRelationship.getEnd().getId();
String startMetaId = ""; String startMetaId = "";
String endMEtaId =""; String endMEtaId = "";
if(nodeMap.containsKey(startId)){ if (nodeMap.containsKey(startId)) {
startMetaId = nodeMap.get(startId).getId(); startMetaId = nodeMap.get(startId).getId();
} }
if(nodeMap.containsKey(endId)){ if (nodeMap.containsKey(endId)) {
endMEtaId = nodeMap.get(endId).getId(); endMEtaId = nodeMap.get(endId).getId();
} }
...@@ -134,18 +135,18 @@ public class MetaDataController { ...@@ -134,18 +135,18 @@ public class MetaDataController {
} }
logger.info("关系的数量:"+result.getEdges().size()); logger.info("关系的数量:" + result.getEdges().size());
result.setMetaModelMap(metaModelMap); result.setMetaModelMap(metaModelMap);
return result; return result;
} }
@ApiOperation(tags = "",value="传入元模型名称,返回该元模型的元数据所有关系") @ApiOperation(tags = "", value = "传入元模型名称,返回该元模型的元数据所有关系")
// @RequestMapping(path = "/getNodeAndRelationByModel", method = RequestMethod.GET) // @RequestMapping(path = "/getNodeAndRelationByModel", method = RequestMethod.GET)
@RequestMapping(path = "/getNodeAndRelationByModel", method = RequestMethod.GET) @RequestMapping(path = "/getNodeAndRelationByModel", method = RequestMethod.GET)
public ReturnReslult getNodeAndRelationByModel(String modelName) { public ReturnReslult getNodeAndRelationByModel(String modelName) {
if(modelName==null || modelName.equals("")){ if (modelName == null || modelName.equals("")) {
modelName = "Table"; modelName = "Table";
} }
ReturnReslult returnReslult = metadataService.findResultByModelName(modelName); ReturnReslult returnReslult = metadataService.findResultByModelName(modelName);
...@@ -154,6 +155,7 @@ public class MetaDataController { ...@@ -154,6 +155,7 @@ public class MetaDataController {
return returnReslult; return returnReslult;
} }
/** /**
* 查询元数据 * 查询元数据
*/ */
...@@ -167,75 +169,75 @@ public class MetaDataController { ...@@ -167,75 +169,75 @@ public class MetaDataController {
/** /**
* 返回一个系统级的大图 * 返回一个系统级的大图
*/ */
@ApiOperation(tags = "",value="系统级的大图") @ApiOperation(tags = "", value = "系统级的大图")
// @RequestMapping(path = "/getBigGraph", method = RequestMethod.GET) // @RequestMapping(path = "/getBigGraph", method = RequestMethod.GET)
@RequestMapping(path = "/result", method = RequestMethod.GET) @RequestMapping(path = "/result", method = RequestMethod.GET)
public ReturnReslult getBigGraph(){ public ReturnReslult getBigGraph() {
logger.info("开始获取系统级的大图"); logger.info("开始获取系统级的大图");
ReturnReslult result = new ReturnReslult(); ReturnReslult result = new ReturnReslult();
List<MetaData> metaDataList = metadataService.finAllMetaData(); List<MetaData> metaDataList = metadataService.finAllMetaData();
Map<String,Node> nodeMap = new HashMap<>(); Map<String, Node> nodeMap = new HashMap<>();
Map<String,String> child2Parent = new HashMap<>(); Map<String, String> child2Parent = new HashMap<>();
Map<String,List<String>> parent2Children = new HashMap<>(); Map<String, List<String>> parent2Children = new HashMap<>();
Map<String,List<String>> source2Target = new HashMap<>(); Map<String, List<String>> source2Target = new HashMap<>();
Map<String,List<String>> target2Source = new HashMap<>(); Map<String, List<String>> target2Source = new HashMap<>();
Map<String, MetaModel> metaModelMap = new HashMap<>(); Map<String, MetaModel> metaModelMap = new HashMap<>();
for(MetaData metaData:metaDataList){ for (MetaData metaData : metaDataList) {
Node node = new Node(); Node node = new Node();
String[] strings = metaData.getMetadataId().split("="); String[] strings = metaData.getMetadataId().split("=");
String modelName = strings[0]; String modelName = strings[0];
//如果有system,则虚拟创建一个节点,用来做顶层节点 //如果有system,则虚拟创建一个节点,用来做顶层节点
if(metaData.getSystem()!=null && !metaData.getSystem().equals("")){ if (metaData.getSystem() != null && !metaData.getSystem().equals("")) {
String systemName = metaData.getSystem(); String systemName = metaData.getSystem();
Node systemNode = new Node(); Node systemNode = new Node();
systemNode.setId("catalog="+systemName); systemNode.setId("catalog=" + systemName);
systemNode.setName(systemName); systemNode.setName(systemName);
String newModelName = "Catalog"; String newModelName = "Catalog";
systemNode.setIcon(newModelName); systemNode.setIcon(newModelName);
if(!metaModelMap.containsKey(newModelName)){ if (!metaModelMap.containsKey(newModelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(newModelName); String iconContext = getIconByModelId(newModelName);
model.setModelName(newModelName); model.setModelName(newModelName);
model.setCnName(newModelName); model.setCnName(newModelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(newModelName,model); metaModelMap.put(newModelName, model);
} }
systemNode.setType("MetaData"); systemNode.setType("MetaData");
result.getNodes().add(systemNode); result.getNodes().add(systemNode);
nodeMap.put(""+systemNode.getId(),systemNode); nodeMap.put("" + systemNode.getId(), systemNode);
child2Parent.put(""+metaData.getId(),systemNode.getId()); child2Parent.put("" + metaData.getId(), systemNode.getId());
} }
node.setId(metaData.getMetadataId()); node.setId(metaData.getMetadataId());
node.setIcon(modelName); node.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
node.setName(metaData.getName()); node.setName(metaData.getName());
node.setType("MetaData"); node.setType("MetaData");
result.getNodes().add(node); result.getNodes().add(node);
nodeMap.put(""+metaData.getId(),node); nodeMap.put("" + metaData.getId(), node);
} }
logger.info("节点的数量:"+result.getNodes().size()); logger.info("节点的数量:" + result.getNodes().size());
List<BaseRelationship> baseRelationshipList = baseRelationshipService.findAllRelation(); List<BaseRelationship> baseRelationshipList = baseRelationshipService.findAllRelation();
...@@ -244,75 +246,75 @@ public class MetaDataController { ...@@ -244,75 +246,75 @@ public class MetaDataController {
* *
*/ */
for(BaseRelationship baseRelationship:baseRelationshipList ){ for (BaseRelationship baseRelationship : baseRelationshipList) {
Long startId = baseRelationship.getStart().getId(); Long startId = baseRelationship.getStart().getId();
Long endId = baseRelationship.getEnd().getId(); Long endId = baseRelationship.getEnd().getId();
if(baseRelationship.getName().equals("流入") if (baseRelationship.getName().equals("流入")
|| baseRelationship.getName().equals("流出")){ || baseRelationship.getName().equals("流出")) {
if(source2Target.get(startId)!=null){ if (source2Target.get(startId) != null) {
source2Target.get(startId).add(""+endId); source2Target.get(startId).add("" + endId);
}else { } else {
List<String> targets = new ArrayList<>(); List<String> targets = new ArrayList<>();
targets.add(""+endId); targets.add("" + endId);
source2Target.put(""+startId,targets); source2Target.put("" + startId, targets);
} }
if(target2Source.get(endId)!=null){ if (target2Source.get(endId) != null) {
target2Source.get(endId).add(""+startId); target2Source.get(endId).add("" + startId);
}else { } else {
List<String> sources = new ArrayList<>(); List<String> sources = new ArrayList<>();
sources.add(""+startId); sources.add("" + startId);
target2Source.put(""+endId,sources); target2Source.put("" + endId, sources);
} }
}else if( baseRelationship.getName().equals("流出")){ } else if (baseRelationship.getName().equals("流出")) {
}else if(baseRelationship.getName().equals("组合") ){ } else if (baseRelationship.getName().equals("组合")) {
child2Parent.put(""+endId,""+startId); child2Parent.put("" + endId, "" + startId);
if(parent2Children.get(""+startId)!=null){ if (parent2Children.get("" + startId) != null) {
parent2Children.get(""+startId).add(""+endId); parent2Children.get("" + startId).add("" + endId);
}else { } else {
List<String> children = new ArrayList<>(); List<String> children = new ArrayList<>();
children.add(""+endId); children.add("" + endId);
parent2Children.put(""+startId,children); parent2Children.put("" + startId, children);
} }
} }
} }
//专门处理流入 流出的关系 //专门处理流入 流出的关系
for(BaseRelationship baseRelationship:baseRelationshipList ){ for (BaseRelationship baseRelationship : baseRelationshipList) {
String startId = baseRelationship.getStart().getId()+""; String startId = baseRelationship.getStart().getId() + "";
String endId = baseRelationship.getEnd().getId()+""; String endId = baseRelationship.getEnd().getId() + "";
String startMetaId = ""; String startMetaId = "";
String endMetaId =""; String endMetaId = "";
if(baseRelationship.getName().equals("流入") if (baseRelationship.getName().equals("流入")
|| baseRelationship.getName().equals("流出")){ || baseRelationship.getName().equals("流出")) {
startId = getParentId(""+startId,child2Parent); startId = getParentId("" + startId, child2Parent);
// if(child2Parent . containsKey(startId)){ // if(child2Parent . containsKey(startId)){
// startId = child2Parent.get(startId); // startId = child2Parent.get(startId);
// } // }
endId = getParentId(""+endId,child2Parent); endId = getParentId("" + endId, child2Parent);
// if(child2Parent . containsKey(endId)){ // if(child2Parent . containsKey(endId)){
// endId = child2Parent.get(endId); // endId = child2Parent.get(endId);
// } // }
if(nodeMap.containsKey(""+startId)){ if (nodeMap.containsKey("" + startId)) {
Node startNode = nodeMap.get(""+startId); Node startNode = nodeMap.get("" + startId);
startMetaId = nodeMap.get(""+startId).getId(); startMetaId = nodeMap.get("" + startId).getId();
} }
if(nodeMap.containsKey(""+endId)){ if (nodeMap.containsKey("" + endId)) {
endMetaId = nodeMap.get(""+endId).getId(); endMetaId = nodeMap.get("" + endId).getId();
} }
Edge edge = new Edge(); Edge edge = new Edge();
edge.setEdgeId(""+baseRelationship.getId()); edge.setEdgeId("" + baseRelationship.getId());
edge.setFromId(startMetaId); edge.setFromId(startMetaId);
edge.setToId(endMetaId); edge.setToId(endMetaId);
edge.setType(baseRelationship.getName()); edge.setType(baseRelationship.getName());
...@@ -349,15 +351,15 @@ public class MetaDataController { ...@@ -349,15 +351,15 @@ public class MetaDataController {
// } // }
logger.info("关系的数量:"+result.getEdges().size()); logger.info("关系的数量:" + result.getEdges().size());
result.setMetaModelMap(metaModelMap); result.setMetaModelMap(metaModelMap);
return result; return result;
} }
private String getParentId (String neo4jId,Map<String,String> child2Parent){ private String getParentId(String neo4jId, Map<String, String> child2Parent) {
String parentId = neo4jId; String parentId = neo4jId;
while(child2Parent.containsKey(neo4jId)){ while (child2Parent.containsKey(neo4jId)) {
parentId = child2Parent.get(neo4jId); parentId = child2Parent.get(neo4jId);
neo4jId = parentId; neo4jId = parentId;
} }
...@@ -370,38 +372,38 @@ public class MetaDataController { ...@@ -370,38 +372,38 @@ public class MetaDataController {
* 传入一个节点与层数,返回指定节点的直接下层节点 * 传入一个节点与层数,返回指定节点的直接下层节点
*/ */
@ApiOperation(tags = "",value="开始获取直接下层节点") @ApiOperation(tags = "", value = "开始获取直接下层节点")
@RequestMapping(path = "/getNextDrill", method = RequestMethod.GET) @RequestMapping(path = "/getNextDrill", method = RequestMethod.GET)
public ReturnReslult getNextDrill(String dataId){ public ReturnReslult getNextDrill(String dataId) {
logger.info("开始获取直接下层节点"); logger.info("开始获取直接下层节点");
List<MetaData> metaDataList = new ArrayList<>(); List<MetaData> metaDataList = new ArrayList<>();
Map<String, MetaModel> metaModelMap = new HashMap<>(); Map<String, MetaModel> metaModelMap = new HashMap<>();
ReturnReslult result = new ReturnReslult(); ReturnReslult result = new ReturnReslult();
//如果是系统,就用名称去查询,如果是其他类型,就用id去查询 //如果是系统,就用名称去查询,如果是其他类型,就用id去查询
if(dataId.startsWith("catalog=")){ if (dataId.startsWith("catalog=")) {
String[] dataIds = dataId.split("="); String[] dataIds = dataId.split("=");
String dataName = dataIds[1]; String dataName = dataIds[1];
metaDataList = metadataService.findChildrenByParentName(dataName); metaDataList = metadataService.findChildrenByParentName(dataName);
}else { } else {
metaDataList = metadataService.findChildrenByParentId(dataId); metaDataList = metadataService.findChildrenByParentId(dataId);
} }
for(MetaData metaData:metaDataList){ for (MetaData metaData : metaDataList) {
Node node = new Node(); Node node = new Node();
String[] strings = metaData.getMetadataId().split("="); String[] strings = metaData.getMetadataId().split("=");
String modelName = strings[0]; String modelName = strings[0];
node.setId(metaData.getMetadataId()); node.setId(metaData.getMetadataId());
node.setIcon(modelName); node.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
node.setName(metaData.getName()); node.setName(metaData.getName());
...@@ -417,9 +419,9 @@ public class MetaDataController { ...@@ -417,9 +419,9 @@ public class MetaDataController {
* 修改图片的接口,传入元模型id,新图标 * 修改图片的接口,传入元模型id,新图标
*/ */
@ApiOperation(tags = "",value="修改元模型图标的接口") @ApiOperation(tags = "", value = "修改元模型图标的接口")
@PostMapping(value = "/modifyIcon",consumes = "multipart/*",headers = "content-type=multipart/form-date") @PostMapping(value = "/modifyIcon", consumes = "multipart/*", headers = "content-type=multipart/form-date")
public String modifyIcon(String modelId,@ApiParam(value = "上传的文件" ,required = true) public String modifyIcon(String modelId, @ApiParam(value = "上传的文件", required = true)
MultipartFile file) { MultipartFile file) {
if (file.isEmpty()) { if (file.isEmpty()) {
logger.info("文件为空空"); logger.info("文件为空空");
...@@ -429,14 +431,14 @@ public class MetaDataController { ...@@ -429,14 +431,14 @@ public class MetaDataController {
ApplicationHome applicationHome = new ApplicationHome(getClass()); ApplicationHome applicationHome = new ApplicationHome(getClass());
File jarFile = applicationHome.getSource(); File jarFile = applicationHome.getSource();
String dirPath = jarFile.getParentFile().toString()+"/Icon/"+modelId+"/"; String dirPath = jarFile.getParentFile().toString() + "/Icon/" + modelId + "/";
logger.info("存放图标的路径:"+dirPath); logger.info("存放图标的路径:" + dirPath);
// fileName = "Icon_"+modelId + suffixName; // 新文件名 // fileName = "Icon_"+modelId + suffixName; // 新文件名
File dest = new File(dirPath + fileName); File dest = new File(dirPath + fileName);
if (!dest.getParentFile().exists()) {//如果文件夹不存在,就创建, if (!dest.getParentFile().exists()) {//如果文件夹不存在,就创建,
dest.getParentFile().mkdirs(); dest.getParentFile().mkdirs();
}else {//如果文件夹存在,就先清空里面的文件 } else {//如果文件夹存在,就先清空里面的文件
File[] files = dest.getParentFile().listFiles(); File[] files = dest.getParentFile().listFiles();
if (files != null) {//如果包含文件进行删除操作 if (files != null) {//如果包含文件进行删除操作
...@@ -463,21 +465,21 @@ public class MetaDataController { ...@@ -463,21 +465,21 @@ public class MetaDataController {
/** /**
* 获取元模型的图标, * 获取元模型的图标,
*/ */
@ApiOperation(tags = "",value="获取元模型的图标") @ApiOperation(tags = "", value = "获取元模型的图标")
@RequestMapping(value = "/getIconByModelId",method = RequestMethod.GET) @RequestMapping(value = "/getIconByModelId", method = RequestMethod.GET)
public String getIconByModelId(String modelId) { public String getIconByModelId(String modelId) {
ApplicationHome applicationHome = new ApplicationHome(getClass()); ApplicationHome applicationHome = new ApplicationHome(getClass());
File jarFile = applicationHome.getSource(); File jarFile = applicationHome.getSource();
String dirPath = jarFile.getParentFile().toString()+"/Icon/"+modelId+"/"; String dirPath = jarFile.getParentFile().toString() + "/Icon/" + modelId + "/";
String encodeIcon = ""; String encodeIcon = "";
File dest = new File(dirPath); File dest = new File(dirPath);
File[] files = dest.listFiles(); File[] files = dest.listFiles();
if(files !=null&& files.length!=0){ if (files != null && files.length != 0) {
File iconFile = files[0]; File iconFile = files[0];
String fileName = iconFile.getAbsolutePath(); String fileName = iconFile.getAbsolutePath();
encodeIcon = GetImageStr(fileName); encodeIcon = GetImageStr(fileName);
}else { } else {
} }
return encodeIcon; return encodeIcon;
...@@ -485,7 +487,7 @@ public class MetaDataController { ...@@ -485,7 +487,7 @@ public class MetaDataController {
// 图片转化成base64字符串 // 图片转化成base64字符串
public static String GetImageStr(String imgFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 public static String GetImageStr(String imgFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
logger.info("存放图标的路径:"+imgFile); logger.info("存放图标的路径:" + imgFile);
InputStream in = null; InputStream in = null;
byte[] data = null; byte[] data = null;
// 读取图片字节数组 // 读取图片字节数组
...@@ -505,7 +507,7 @@ public class MetaDataController { ...@@ -505,7 +507,7 @@ public class MetaDataController {
/** /**
* 查询所有的关系类型 * 查询所有的关系类型
*/ */
@ApiOperation(tags = "",value="查询所有的关系类型") @ApiOperation(tags = "", value = "查询所有的关系类型")
@RequestMapping(path = "/listAllRelationType", method = RequestMethod.GET) @RequestMapping(path = "/listAllRelationType", method = RequestMethod.GET)
public List<String> getAllRelationType() { public List<String> getAllRelationType() {
...@@ -515,20 +517,21 @@ public class MetaDataController { ...@@ -515,20 +517,21 @@ public class MetaDataController {
/** /**
* 查询所有的节点类型 * 查询所有的节点类型
*/ */
@ApiOperation(tags = "",value="查询所有的节点类型") @ApiOperation(tags = "", value = "查询所有的节点类型")
@RequestMapping(path = "/listAllNodeType", method = RequestMethod.GET) @RequestMapping(path = "/listAllNodeType", method = RequestMethod.GET)
public List<String> getAllNodeType() { public List<String> getAllNodeType() {
return metadataService.findAllNodeTypes(); return metadataService.findAllNodeTypes();
} }
/** /**
* 传入元数据id,显示的层数,查找出与该元数据有关系的数据 * 传入元数据id,显示的层数,查找出与该元数据有关系的数据
*/ */
@ApiOperation(tags = "",value="传入元数据id,显示的层数,查找出与该元数据有关系的数据") @ApiOperation(tags = "", value = "传入元数据id,显示的层数,查找出与该元数据有关系的数据")
@RequestMapping(path = "/getNodeByDataId", method = RequestMethod.GET) @RequestMapping(path = "/getNodeByDataId", method = RequestMethod.GET)
public ReturnReslult getNodeByDataId(String metadataId, int depth) { public ReturnReslult getNodeByDataId(String metadataId, int depth) {
return metadataService.findNodeByDataId(metadataId,depth); return metadataService.findNodeByDataId(metadataId, depth);
} }
/** /**
...@@ -550,16 +553,17 @@ public class MetaDataController { ...@@ -550,16 +553,17 @@ public class MetaDataController {
System.out.println("这是写入元数据的方法。"); System.out.println("这是写入元数据的方法。");
MetaData metaData1 = metadataService.addMetaData(metaData); MetaData metaData1 = metadataService.addMetaData(metaData);
return metaData1; return metaData1;
} }
/** /**
* 同步元数据关系的接口,传入一个环境名称(catalognName),从mongo读取关系,存入到neo4j中 * 同步元数据关系的接口,传入一个环境名称(catalognName),从mongo读取关系,存入到neo4j中
*
* @return * @return
*/ */
@ApiOperation(tags = "",value="同步元数据关系的接口") @ApiOperation(tags = "", value = "同步元数据关系的接口")
@RequestMapping(path = "/syschroRelationFromMongo", method = RequestMethod.GET) @RequestMapping(path = "/syschroRelationFromMongo", method = RequestMethod.GET)
public String syschroRelationFromMongo(String catalogName){ public String syschroRelationFromMongo(String catalogName) {
logger.info("开始同步元数据:从mongo到neo4j"); logger.info("开始同步元数据:从mongo到neo4j");
String flag = "success"; String flag = "success";
metadataService.syschroRelationFromMongo(catalogName); metadataService.syschroRelationFromMongo(catalogName);
......
...@@ -5,7 +5,7 @@ import org.neo4j.ogm.annotation.Property; ...@@ -5,7 +5,7 @@ import org.neo4j.ogm.annotation.Property;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
import org.neo4j.ogm.annotation.StartNode; import org.neo4j.ogm.annotation.StartNode;
public class BaseRelationship <S extends BaseNode, E extends BaseNode> extends AllBaseEntity { public class BaseRelationship<S extends BaseNode, E extends BaseNode> extends AllBaseEntity {
@Property @Property
private String name; //关系名称 private String name; //关系名称
...@@ -15,13 +15,14 @@ public class BaseRelationship <S extends BaseNode, E extends BaseNode> extends A ...@@ -15,13 +15,14 @@ public class BaseRelationship <S extends BaseNode, E extends BaseNode> extends A
@EndNode @EndNode
private E end; private E end;
public BaseRelationship(){
public BaseRelationship() {
} }
public BaseRelationship(String name,S start,E end){ public BaseRelationship(String name, S start, E end) {
this.name =name; this.name = name;
this.start=start; this.start = start;
this.end=end; this.end = end;
} }
@Override @Override
......
...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
@RelationshipEntity(type = "Composition") @RelationshipEntity(type = "Composition")
public class CompositionRelation extends BaseRelationship{ public class CompositionRelation extends BaseRelationship {
} }
...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
@RelationshipEntity(type = "Dependency") @RelationshipEntity(type = "Dependency")
public class DependencyRelation extends BaseRelationship{ public class DependencyRelation extends BaseRelationship {
} }
...@@ -3,6 +3,6 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -3,6 +3,6 @@ package com.keymobile.metadata.metadataRelation.pojo;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
@RelationshipEntity(type = "Execute") @RelationshipEntity(type = "Execute")
public class ExecuteRelation extends BaseRelationship{ public class ExecuteRelation extends BaseRelationship {
} }
...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
@RelationshipEntity(type = "Input") @RelationshipEntity(type = "Input")
public class InputRelation extends BaseRelationship{ public class InputRelation extends BaseRelationship {
} }
...@@ -6,6 +6,7 @@ import org.neo4j.ogm.annotation.Relationship; ...@@ -6,6 +6,7 @@ import org.neo4j.ogm.annotation.Relationship;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@NodeEntity(label = "MetaData") @NodeEntity(label = "MetaData")
public class MetaData extends BaseNode { public class MetaData extends BaseNode {
public String getMetadataId() { public String getMetadataId() {
...@@ -77,15 +78,15 @@ public class MetaData extends BaseNode { ...@@ -77,15 +78,15 @@ public class MetaData extends BaseNode {
} }
public void addRelation(DependencyRelation friendshipRelation){ public void addRelation(DependencyRelation friendshipRelation) {
if(this.dependencyRelationList == null){ if (this.dependencyRelationList == null) {
dependencyRelationList = new ArrayList<DependencyRelation>(); dependencyRelationList = new ArrayList<DependencyRelation>();
} }
dependencyRelationList.add(friendshipRelation); dependencyRelationList.add(friendshipRelation);
} }
public List<DependencyRelation> getDependencyRelationList() { public List<DependencyRelation> getDependencyRelationList() {
if(this.dependencyRelationList == null){ if (this.dependencyRelationList == null) {
dependencyRelationList = new ArrayList<DependencyRelation>(); dependencyRelationList = new ArrayList<DependencyRelation>();
} }
return dependencyRelationList; return dependencyRelationList;
...@@ -94,12 +95,13 @@ public class MetaData extends BaseNode { ...@@ -94,12 +95,13 @@ public class MetaData extends BaseNode {
public void setDependencyRelationList(List<DependencyRelation> dependencyRelationList) { public void setDependencyRelationList(List<DependencyRelation> dependencyRelationList) {
this.dependencyRelationList = dependencyRelationList; this.dependencyRelationList = dependencyRelationList;
} }
@Relationship(type = "Dependency_RELATION") @Relationship(type = "Dependency_RELATION")
private List<DependencyRelation> dependencyRelationList; private List<DependencyRelation> dependencyRelationList;
public List<DependencyRelation> getCompositionRelationList() { public List<DependencyRelation> getCompositionRelationList() {
if(this.compositionRelationList == null){ if (this.compositionRelationList == null) {
compositionRelationList = new ArrayList<DependencyRelation>(); compositionRelationList = new ArrayList<DependencyRelation>();
} }
return compositionRelationList; return compositionRelationList;
...@@ -110,7 +112,7 @@ public class MetaData extends BaseNode { ...@@ -110,7 +112,7 @@ public class MetaData extends BaseNode {
} }
@Relationship(type = "Composition_RELATION") @Relationship(type = "Composition_RELATION")
private List<DependencyRelation> compositionRelationList ; private List<DependencyRelation> compositionRelationList;
public String getNode() { public String getNode() {
......
...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -3,5 +3,5 @@ package com.keymobile.metadata.metadataRelation.pojo;
import org.neo4j.ogm.annotation.RelationshipEntity; import org.neo4j.ogm.annotation.RelationshipEntity;
@RelationshipEntity(type = "Output") @RelationshipEntity(type = "Output")
public class OutputRelation extends BaseRelationship{ public class OutputRelation extends BaseRelationship {
} }
...@@ -2,10 +2,10 @@ package com.keymobile.metadata.metadataRelation.pojo; ...@@ -2,10 +2,10 @@ package com.keymobile.metadata.metadataRelation.pojo;
public class RelationMongo { public class RelationMongo {
private String id; private String id;
private String source; private String source;
private String target; private String target;
private String type; private String type;
public String getId() { public String getId() {
return id; return id;
......
...@@ -18,7 +18,7 @@ public class TempNode extends BaseNode { ...@@ -18,7 +18,7 @@ public class TempNode extends BaseNode {
private String catalogName; private String catalogName;
private Long parentId; private Long parentId;
public String getEtlScriptId() { public String getEtlScriptId() {
return etlScriptId; return etlScriptId;
......
...@@ -9,8 +9,6 @@ public class Edge { ...@@ -9,8 +9,6 @@ public class Edge {
private String type; private String type;
public String getEdgeId() { public String getEdgeId() {
return edgeId; return edgeId;
} }
......
...@@ -6,6 +6,7 @@ public class MetaModel { ...@@ -6,6 +6,7 @@ public class MetaModel {
private String cnName; private String cnName;
private String description; private String description;
public String getModelName() { public String getModelName() {
return modelName; return modelName;
} }
......
...@@ -15,7 +15,8 @@ public class Node { ...@@ -15,7 +15,8 @@ public class Node {
private String icon; private String icon;
private String type; private String type;
public String getType() { public String getType() {
return type; return type;
} }
......
...@@ -9,7 +9,7 @@ import java.util.Map; ...@@ -9,7 +9,7 @@ import java.util.Map;
public class ReturnReslult { public class ReturnReslult {
private List<Edge> edges= new ArrayList<>(); private List<Edge> edges = new ArrayList<>();
private List<Node> nodes = new ArrayList<>(); private List<Node> nodes = new ArrayList<>();
...@@ -21,8 +21,7 @@ public class ReturnReslult { ...@@ -21,8 +21,7 @@ public class ReturnReslult {
this.metaModelMap = metaModelMap; this.metaModelMap = metaModelMap;
} }
private Map<String,MetaModel> metaModelMap = new HashedMap(); private Map<String, MetaModel> metaModelMap = new HashedMap();
public List<Edge> getEdges() { public List<Edge> getEdges() {
......
...@@ -9,6 +9,6 @@ import org.springframework.stereotype.Repository; ...@@ -9,6 +9,6 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface BaseRelationshipRepository extends Neo4jRepository<BaseRelationship,Long> { public interface BaseRelationshipRepository extends Neo4jRepository<BaseRelationship, Long> {
} }
...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; ...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface CompositionRelationRespository extends Neo4jRepository<CompositionRelation,Long> { public interface CompositionRelationRespository extends Neo4jRepository<CompositionRelation, Long> {
@Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p") @Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p")
List<CompositionRelation> findCompositionRelationship(@Param("startId") String startId, @Param("endId") String endId); List<CompositionRelation> findCompositionRelationship(@Param("startId") String startId, @Param("endId") String endId);
...@@ -17,6 +17,7 @@ public interface CompositionRelationRespository extends Neo4jRepository<Composit ...@@ -17,6 +17,7 @@ public interface CompositionRelationRespository extends Neo4jRepository<Composit
/** /**
* 添加组合关系 * 添加组合关系
*
* @param sourceId * @param sourceId
* @param targetId * @param targetId
* @return * @return
......
...@@ -9,10 +9,11 @@ import org.springframework.stereotype.Repository; ...@@ -9,10 +9,11 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface ExecuteRelationRepository extends Neo4jRepository<ExecuteRelation,Long> { public interface ExecuteRelationRepository extends Neo4jRepository<ExecuteRelation, Long> {
/** /**
* 添加excute关系 * 添加excute关系
*
* @param sourceId * @param sourceId
* @param targetId * @param targetId
* @return * @return
...@@ -24,5 +25,4 @@ public interface ExecuteRelationRepository extends Neo4jRepository<ExecuteRelati ...@@ -24,5 +25,4 @@ public interface ExecuteRelationRepository extends Neo4jRepository<ExecuteRelati
List<ExecuteRelation> findExecuteRelationship(@Param("startId") String startId, @Param("endId") String endId); List<ExecuteRelation> findExecuteRelationship(@Param("startId") String startId, @Param("endId") String endId);
} }
...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; ...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface InputRelationReRepository extends Neo4jRepository<InputRelation,Long> { public interface InputRelationReRepository extends Neo4jRepository<InputRelation, Long> {
@Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p") @Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p")
...@@ -18,6 +18,7 @@ public interface InputRelationReRepository extends Neo4jRepository<InputRelation ...@@ -18,6 +18,7 @@ public interface InputRelationReRepository extends Neo4jRepository<InputRelation
/** /**
* 添加input关系 * 添加input关系
*
* @param sourceId * @param sourceId
* @param targetId * @param targetId
* @return * @return
......
...@@ -10,30 +10,30 @@ import org.springframework.stereotype.Repository; ...@@ -10,30 +10,30 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface MetadataRepository extends Neo4jRepository<MetaData,Long> { public interface MetadataRepository extends Neo4jRepository<MetaData, Long> {
MetaData findMetadataByName(String name); MetaData findMetadataByName(String name);
@Query("match (n:MetaData ) where n.metadataId =~{modelName} return n") @Query("match (n:MetaData ) where n.metadataId =~{modelName} return n")
List<MetaData> findMetaDataByModelName(@Param("modelName") String dataName ); List<MetaData> findMetaDataByModelName(@Param("modelName") String dataName);
//MATCH p=(a:MetaData{metadataId:"Table=1=b148ad31504d4487bd81ecebbc7522c3"})-[r:Composition]->() -[*]->()<-[r1:Composition]-(b:MetaData{metadataId:"Table=368=600efbf1fb4a4bd1910dbc1b567d6691"}) //MATCH p=(a:MetaData{metadataId:"Table=1=b148ad31504d4487bd81ecebbc7522c3"})-[r:Composition]->() -[*]->()<-[r1:Composition]-(b:MetaData{metadataId:"Table=368=600efbf1fb4a4bd1910dbc1b567d6691"})
//RETURN p //RETURN p
MetaData findMetaDataByMetadataId(String id); MetaData findMetaDataByMetadataId(String id);
/** /**
* @Query("MATCH (n : MetaData { metadataId : $startId }), (n1 : MetaData { metadataId : $endId }), p=(n)-[]-(n1) return p")
* List<OutputRelation> findOutputRelationship(@Param("startId") String startId, @Param("endId") String endId);
* @param dataName * @param dataName
* @return * @return
* @Query("MATCH (n : MetaData { metadataId : $startId }), (n1 : MetaData { metadataId : $endId }), p=(n)-[]-(n1) return p")
* List<OutputRelation> findOutputRelationship(@Param("startId") String startId, @Param("endId") String endId);
*/ */
@Query("match data=(na:MetaData{name:{0}})<-[rel*1..3]->(nb:MetaData) return data") @Query("match data=(na:MetaData{name:{0}})<-[rel*1..3]->(nb:MetaData) return data")
List<MetaData> findMetaData(@Param("dataName") String dataName , @Param("n") int n ); List<MetaData> findMetaData(@Param("dataName") String dataName, @Param("n") int n);
@Query("match (data:MetaData{system:{parentName}}) return data") @Query("match (data:MetaData{system:{parentName}}) return data")
List<MetaData> findMetaDataByParentName(@Param("parentName") String parentName ); List<MetaData> findMetaDataByParentName(@Param("parentName") String parentName);
@Query("MATCH p=(n:MetaData {metadataId:{parentId}})-[r:Composition]->(m) RETURN m") @Query("MATCH p=(n:MetaData {metadataId:{parentId}})-[r:Composition]->(m) RETURN m")
List<MetaData> findMetaDataByParentId(@Param("parentId") String parentId); List<MetaData> findMetaDataByParentId(@Param("parentId") String parentId);
......
...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository; ...@@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface OutputRelationRepository extends Neo4jRepository<OutputRelation,Long> { public interface OutputRelationRepository extends Neo4jRepository<OutputRelation, Long> {
@Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p") @Query("MATCH (n:MetaData{metadataId: $startId}),(n1:MetaData{metadataId: $endId}),p=(n)-[]-(n1) return p")
List<OutputRelation> findOutputRelationship(@Param("startId") String startId, @Param("endId") String endId); List<OutputRelation> findOutputRelationship(@Param("startId") String startId, @Param("endId") String endId);
...@@ -17,6 +17,7 @@ public interface OutputRelationRepository extends Neo4jRepository<OutputRelation ...@@ -17,6 +17,7 @@ public interface OutputRelationRepository extends Neo4jRepository<OutputRelation
/** /**
* 添加output关系 * 添加output关系
*
* @param sourceId * @param sourceId
* @param targetId * @param targetId
* @return * @return
......
...@@ -20,52 +20,51 @@ public interface IBaseRelationshipService { ...@@ -20,52 +20,51 @@ public interface IBaseRelationshipService {
List<String> findAllRelationTypes(); List<String> findAllRelationTypes();
/** /**
* @desc 添加关系
* @param relationship * @param relationship
* @desc 添加关系
*/ */
BaseRelationship addRelationship(BaseRelationship relationship); BaseRelationship addRelationship(BaseRelationship relationship);
/** /**
* @desc 添加关系 * @param name 关系名称
* @param name 关系名称
* @param startNode 开始节点 * @param startNode 开始节点
* @param endNode 结束节点 * @param endNode 结束节点
* @desc 添加关系
*/ */
BaseRelationship addRelationship(String name, BaseNode startNode, BaseNode endNode); BaseRelationship addRelationship(String name, BaseNode startNode, BaseNode endNode);
/** /**
* @desc 删除关系
* @param id * @param id
* @desc 删除关系
*/ */
boolean deleteRelationshipById(Long id); boolean deleteRelationshipById(Long id);
/** /**
* @desc 获取关系 根据开始节点名称和关系名称 * @param name 关系名称
* @param name 关系名称
* @param startName 开始节点名称 * @param startName 开始节点名称
* @param endName 结束节点名称 * @param endName 结束节点名称
* @desc 获取关系 根据开始节点名称和关系名称
*/ */
List<BaseRelationship> findMetadataRelationshipByAllName(String name, String startName, String endName); List<BaseRelationship> findMetadataRelationshipByAllName(String name, String startName, String endName);
/** /**
* @desc 获取关系 根据节点名称和关系名称 * @param name 关系名称
* @param name 关系名称
* @param startName 开始节点名称 * @param startName 开始节点名称
* @desc 获取关系 根据节点名称和关系名称
*/ */
List<BaseRelationship> findMetadataRelationshipByStartNameAndName(String name, String startName); List<BaseRelationship> findMetadataRelationshipByStartNameAndName(String name, String startName);
/** /**
* @desc 获取关系 根据节点名称和关系名称
* @param startName 开始节点名称 * @param startName 开始节点名称
* @desc 获取关系 根据节点名称和关系名称
*/ */
List<BaseRelationship> findMetadataRelationshipByStartName(String startName); List<BaseRelationship> findMetadataRelationshipByStartName(String startName);
/** /**
* @desc 根据节点名称,获取所有有关系的节点
* @param startName 开始节点名称 * @param startName 开始节点名称
* @desc 根据节点名称, 获取所有有关系的节点
*/ */
List<BaseNode> findMetadataByStartName(String startName); List<BaseNode> findMetadataByStartName(String startName);
} }
...@@ -9,66 +9,68 @@ import java.util.List; ...@@ -9,66 +9,68 @@ import java.util.List;
public interface IMetadataService { public interface IMetadataService {
List<MetaData> findNodeByName (String dataName); List<MetaData> findNodeByName(String dataName);
ReturnReslult findNodeByDataId (String metadataId, int depth); ReturnReslult findNodeByDataId(String metadataId, int depth);
ReturnReslult findResultByModelName (String modelName); ReturnReslult findResultByModelName(String modelName);
List<MetaData> findChildrenByParentId(String parentId); List<MetaData> findChildrenByParentId(String parentId);
List<MetaData> findChildrenByParentName(String parentName); List<MetaData> findChildrenByParentName(String parentName);
List<MetaData> finAllMetaData(); List<MetaData> finAllMetaData();
/** /**
* 添加元数据对象 * 添加元数据对象
*
* @param metaData * @param metaData
*/ */
MetaData addMetaData(MetaData metaData); MetaData addMetaData(MetaData metaData);
/** /**
* @desc 根据名称添加元数据
* @param name * @param name
* @desc 根据名称添加元数据
*/ */
MetaData addMetadataByName(String name); MetaData addMetadataByName(String name);
void syschroRelationFromMongo(String catalogName); void syschroRelationFromMongo(String catalogName);
/** /**
* 添加元数据对象 * 添加元数据对象
*
* @param id * @param id
*/ */
MetaData getMetaDataById(Long id); MetaData getMetaDataById(Long id);
/** /**
* @desc 根据名称获取元数据
* @param name * @param name
* @desc 根据名称获取元数据
*/ */
MetaData getMetadataByName(String name); MetaData getMetadataByName(String name);
/** /**
* @desc 根据ID删除人物节点
* @param id * @param id
* @desc 根据ID删除人物节点
*/ */
boolean deleteMetadata(Long id); boolean deleteMetadata(Long id);
/** /**
* @desc 添加元数据的关系 * @param name 关系名称
* @param name 关系名称
* @param startName 开始节点名称 * @param startName 开始节点名称
* @param endName 结束节点名称 * @param endName 结束节点名称
* @return BaseRelationship * @return BaseRelationship
* @desc 添加元数据的关系
*/ */
BaseRelationship addMetadataRelationship(String name, String startName, String endName); BaseRelationship addMetadataRelationship(String name, String startName, String endName);
/** /**
* @desc 获取任务关系 * @param name 关系名称
* @param name 关系名称
* @param startName 开始节点名称 * @param startName 开始节点名称
* @param endName 结束节点名称 * @param endName 结束节点名称
* @desc 获取任务关系
*/ */
List<BaseRelationship> getMetadataRelationship(String name, String startName, String endName); List<BaseRelationship> getMetadataRelationship(String name, String startName, String endName);
......
...@@ -26,9 +26,9 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -26,9 +26,9 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
@Autowired @Autowired
BaseRelationshipRepository refRepository; BaseRelationshipRepository refRepository;
@Autowired @Autowired
private CompositionRelationRespository compositionRelationRespository ; private CompositionRelationRespository compositionRelationRespository;
@Autowired @Autowired
private InputRelationReRepository inputRelationReRepository ; private InputRelationReRepository inputRelationReRepository;
@Autowired @Autowired
private OutputRelationRepository outputRelationRepository; private OutputRelationRepository outputRelationRepository;
@Autowired @Autowired
...@@ -37,30 +37,30 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -37,30 +37,30 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
@Override @Override
public List<BaseRelationship> findAllRelation() { public List<BaseRelationship> findAllRelation() {
List<CompositionRelation> compositionRelationList = (List<CompositionRelation>)compositionRelationRespository.findAll(); List<CompositionRelation> compositionRelationList = (List<CompositionRelation>) compositionRelationRespository.findAll();
List<InputRelation> inputRelationList = (List<InputRelation>)inputRelationReRepository.findAll(); List<InputRelation> inputRelationList = (List<InputRelation>) inputRelationReRepository.findAll();
List<OutputRelation> outputRelationList = (List<OutputRelation>)outputRelationRepository.findAll(); List<OutputRelation> outputRelationList = (List<OutputRelation>) outputRelationRepository.findAll();
List<ExecuteRelation> executeRelationList = (List<ExecuteRelation>)executeRelationRepository.findAll(); List<ExecuteRelation> executeRelationList = (List<ExecuteRelation>) executeRelationRepository.findAll();
List<BaseRelationship> baseRelationshipList = new ArrayList<>(); List<BaseRelationship> baseRelationshipList = new ArrayList<>();
for(CompositionRelation compositionRelation:compositionRelationList ){ for (CompositionRelation compositionRelation : compositionRelationList) {
compositionRelation.setName("组合"); compositionRelation.setName("组合");
baseRelationshipList.add(compositionRelation); baseRelationshipList.add(compositionRelation);
} }
for(InputRelation inputRelation:inputRelationList ){ for (InputRelation inputRelation : inputRelationList) {
inputRelation.setName("流入"); inputRelation.setName("流入");
baseRelationshipList.add(inputRelation); baseRelationshipList.add(inputRelation);
} }
for(OutputRelation outputRelation:outputRelationList ){ for (OutputRelation outputRelation : outputRelationList) {
outputRelation.setName("流出"); outputRelation.setName("流出");
baseRelationshipList.add(outputRelation); baseRelationshipList.add(outputRelation);
} }
for(ExecuteRelation executeRelation:executeRelationList ){ for (ExecuteRelation executeRelation : executeRelationList) {
executeRelation.setName("执行"); executeRelation.setName("执行");
baseRelationshipList.add(executeRelation); baseRelationshipList.add(executeRelation);
} }
...@@ -76,8 +76,8 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -76,8 +76,8 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
Neo4jConfig neo4jConfig = new Neo4jConfig(); Neo4jConfig neo4jConfig = new Neo4jConfig();
Driver neo4jConnection = neo4jConfig.getNeo4jConnection(); Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
Session session = neo4jConnection.session(); Session session = neo4jConnection.session();
String cypher =" MATCH (n:MetaData)-[r]->() RETURN id(STARTNODE(r)) as startId,id(endNode(r)) as endId, type(r) as name"; String cypher = " MATCH (n:MetaData)-[r]->() RETURN id(STARTNODE(r)) as startId,id(endNode(r)) as endId, type(r) as name";
logger.info("cypher:"+cypher); logger.info("cypher:" + cypher);
StatementResult result = session.run(cypher); StatementResult result = session.run(cypher);
while (result.hasNext()) { while (result.hasNext()) {
...@@ -86,13 +86,13 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -86,13 +86,13 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
Long endId = record.get("endId").asLong(); Long endId = record.get("endId").asLong();
String name = record.get("name").asString(); String name = record.get("name").asString();
if(name.equals("Input")){ if (name.equals("Input")) {
name = "流入"; name = "流入";
}else if(name.equals("Output")){ } else if (name.equals("Output")) {
name = "流出"; name = "流出";
} else if(name.equals("Composition")){ } else if (name.equals("Composition")) {
name = "组合"; name = "组合";
} else if(name.equals("Execute")){ } else if (name.equals("Execute")) {
name = "执行"; name = "执行";
} }
...@@ -101,7 +101,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -101,7 +101,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
// } else { // } else {
// name = startId + "-" + name + "-" + endId; // name = startId + "-" + name + "-" + endId;
// } // }
if(!relationTypes.contains(name)){ if (!relationTypes.contains(name)) {
relationTypes.add(name); relationTypes.add(name);
} }
} }
...@@ -116,7 +116,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -116,7 +116,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
@Override @Override
public BaseRelationship addRelationship(String name, BaseNode startNode, BaseNode endNode) { public BaseRelationship addRelationship(String name, BaseNode startNode, BaseNode endNode) {
BaseRelationship relationship = new BaseRelationship(name,startNode,endNode); BaseRelationship relationship = new BaseRelationship(name, startNode, endNode);
return refRepository.save(relationship); return refRepository.save(relationship);
} }
...@@ -127,7 +127,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -127,7 +127,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
} }
@Override @Override
public List<BaseRelationship> findMetadataRelationshipByAllName(String name, String startName, String endName) { public List<BaseRelationship> findMetadataRelationshipByAllName(String name, String startName, String endName) {
// List<BaseRelationship> ships = refRepository.findRelationshipByAllName(name,startName,endName); // List<BaseRelationship> ships = refRepository.findRelationshipByAllName(name,startName,endName);
// if(ships != null && ships.size()>0) { // if(ships != null && ships.size()>0) {
// return ships; // return ships;
...@@ -136,7 +136,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -136,7 +136,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
} }
@Override @Override
public List<BaseRelationship> findMetadataRelationshipByStartNameAndName(String name, String startName) { public List<BaseRelationship> findMetadataRelationshipByStartNameAndName(String name, String startName) {
// List<BaseRelationship> ships = refRepository.findRelationshipByStartNameAndName(name,startName); // List<BaseRelationship> ships = refRepository.findRelationshipByStartNameAndName(name,startName);
// if(ships != null && ships.size()>0) { // if(ships != null && ships.size()>0) {
// return ships; // return ships;
...@@ -152,6 +152,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService { ...@@ -152,6 +152,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
// } // }
return null; return null;
} }
@Override @Override
public List<BaseNode> findMetadataByStartName(String startName) { public List<BaseNode> findMetadataByStartName(String startName) {
// List<BaseNode> nodes = refRepository.findBaseNodeByStartName(startName); // List<BaseNode> nodes = refRepository.findBaseNodeByStartName(startName);
......
...@@ -45,7 +45,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -45,7 +45,7 @@ public class MetadataServiceImpl implements IMetadataService {
@Autowired @Autowired
private CompositionRelationRespository compositionRelationRespository; private CompositionRelationRespository compositionRelationRespository;
@Autowired @Autowired
private InputRelationReRepository inputRelationReRepository ; private InputRelationReRepository inputRelationReRepository;
@Autowired @Autowired
private OutputRelationRepository outputRelationRepository; private OutputRelationRepository outputRelationRepository;
@Autowired @Autowired
...@@ -68,7 +68,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -68,7 +68,7 @@ public class MetadataServiceImpl implements IMetadataService {
@Override @Override
public List<MetaData> findNodeByName(String dataName) { public List<MetaData> findNodeByName(String dataName) {
return metadataRepository.findMetaData(dataName,3); return metadataRepository.findMetaData(dataName, 3);
} }
@Override @Override
...@@ -80,12 +80,12 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -80,12 +80,12 @@ public class MetadataServiceImpl implements IMetadataService {
Neo4jConfig neo4jConfig = new Neo4jConfig(); Neo4jConfig neo4jConfig = new Neo4jConfig();
Driver neo4jConnection = neo4jConfig.getNeo4jConnection(); Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
Session session = neo4jConnection.session(); Session session = neo4jConnection.session();
String cypher ="match data=(na:MetaData{metadataId:'"+metadataId+"'})<-[*1.."+depth+"]->(nb:MetaData) return data"; String cypher = "match data=(na:MetaData{metadataId:'" + metadataId + "'})<-[*1.." + depth + "]->(nb:MetaData) return data";
logger.info("cypher:"+cypher); logger.info("cypher:" + cypher);
StatementResult result = session.run(cypher); StatementResult result = session.run(cypher);
Map<String, MetaModel> metaModelMap = new HashMap<>(); Map<String, MetaModel> metaModelMap = new HashMap<>();
while ( result.hasNext() ){ while (result.hasNext()) {
Record record = result.next(); Record record = result.next();
List<Value> values = record.values(); List<Value> values = record.values();
for (Value value : values) { for (Value value : values) {
...@@ -97,7 +97,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -97,7 +97,7 @@ public class MetadataServiceImpl implements IMetadataService {
Map<String, Object> stringObjectMap = node.asMap(); Map<String, Object> stringObjectMap = node.asMap();
MetaData metaData = new MetaData(); MetaData metaData = new MetaData();
Neo4jTool.transMap2Bean(stringObjectMap,metaData); Neo4jTool.transMap2Bean(stringObjectMap, metaData);
// metaDataList.add(data); // metaDataList.add(data);
com.keymobile.metadata.metadataRelation.pojo.returnBean.Node returnNode = new com.keymobile.metadata.metadataRelation.pojo.returnBean.Node(); com.keymobile.metadata.metadataRelation.pojo.returnBean.Node returnNode = new com.keymobile.metadata.metadataRelation.pojo.returnBean.Node();
...@@ -108,14 +108,14 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -108,14 +108,14 @@ public class MetadataServiceImpl implements IMetadataService {
String modelName = strings[0]; String modelName = strings[0];
returnNode.setIcon(modelName); returnNode.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
returnNode.setType("MetaData"); returnNode.setType("MetaData");
returnReslult.getNodes().add(returnNode); returnReslult.getNodes().add(returnNode);
...@@ -140,12 +140,12 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -140,12 +140,12 @@ public class MetadataServiceImpl implements IMetadataService {
edge.setEdgeId(String.valueOf(relationship.id())); edge.setEdgeId(String.valueOf(relationship.id()));
String startMetaId = ""; String startMetaId = "";
String endMEtaId =""; String endMEtaId = "";
if(nodesMap.containsKey(startID)){ if (nodesMap.containsKey(startID)) {
startMetaId = nodesMap.get(startID).getMetadataId(); startMetaId = nodesMap.get(startID).getMetadataId();
} }
if(nodesMap.containsKey(endID)){ if (nodesMap.containsKey(endID)) {
endMEtaId = nodesMap.get(endID).getMetadataId(); endMEtaId = nodesMap.get(endID).getMetadataId();
} }
edge.setFromId(startMetaId); edge.setFromId(startMetaId);
...@@ -170,25 +170,25 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -170,25 +170,25 @@ public class MetadataServiceImpl implements IMetadataService {
Driver neo4jConnection = neo4jConfig.getNeo4jConnection(); Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
Session session = neo4jConnection.session(); Session session = neo4jConnection.session();
// match (n:MetaData ) where n.metadataId =~"Table=.*" return n // match (n:MetaData ) where n.metadataId =~"Table=.*" return n
String cypher ="match (n:MetaData ) where n.metadataId =~\""+modelName+".*\" return n"; String cypher = "match (n:MetaData ) where n.metadataId =~\"" + modelName + ".*\" return n";
logger.info("cypher:"+cypher); logger.info("cypher:" + cypher);
Map<String, MetaModel> metaModelMap = new HashMap<>(); Map<String, MetaModel> metaModelMap = new HashMap<>();
StatementResult result = session.run(cypher); StatementResult result = session.run(cypher);
List<String> metadataIdList = new ArrayList<>(); List<String> metadataIdList = new ArrayList<>();
while ( result.hasNext() ){ while (result.hasNext()) {
Record record = result.next(); Record record = result.next();
List<Value> values = record.values(); List<Value> values = record.values();
for (Value value : values) { for (Value value : values) {
if (value.type().name().equals("NODE")) { if (value.type().name().equals("NODE")) {
Node node = value.asNode(); Node node = value.asNode();
Map<Long, MetaData> nodesMap = new HashMap<>(); Map<Long, MetaData> nodesMap = new HashMap<>();
Map<String, Object> stringObjectMap = node.asMap(); Map<String, Object> stringObjectMap = node.asMap();
MetaData metaData = new MetaData(); MetaData metaData = new MetaData();
Neo4jTool.transMap2Bean(stringObjectMap,metaData); Neo4jTool.transMap2Bean(stringObjectMap, metaData);
com.keymobile.metadata.metadataRelation.pojo.returnBean.Node returnNode = new com.keymobile.metadata.metadataRelation.pojo.returnBean.Node(); com.keymobile.metadata.metadataRelation.pojo.returnBean.Node returnNode = new com.keymobile.metadata.metadataRelation.pojo.returnBean.Node();
returnNode.setId(metaData.getMetadataId()); returnNode.setId(metaData.getMetadataId());
...@@ -197,14 +197,14 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -197,14 +197,14 @@ public class MetadataServiceImpl implements IMetadataService {
metadataIdList.add(metaData.getMetadataId()); metadataIdList.add(metaData.getMetadataId());
returnNode.setIcon(modelName); returnNode.setIcon(modelName);
if(!metaModelMap.containsKey(modelName)){ if (!metaModelMap.containsKey(modelName)) {
MetaModel model = new MetaModel(); MetaModel model = new MetaModel();
String iconContext = getIconByModelId(modelName); String iconContext = getIconByModelId(modelName);
model.setModelName(modelName); model.setModelName(modelName);
model.setCnName(modelName); model.setCnName(modelName);
model.setDescription(""); model.setDescription("");
model.setIcon(iconContext); model.setIcon(iconContext);
metaModelMap.put(modelName,model); metaModelMap.put(modelName, model);
} }
returnNode.setType("MetaData"); returnNode.setType("MetaData");
returnReslult.getNodes().add(returnNode); returnReslult.getNodes().add(returnNode);
...@@ -217,43 +217,43 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -217,43 +217,43 @@ public class MetadataServiceImpl implements IMetadataService {
int count = 0; int count = 0;
//遍历每两个节点的关系 //遍历每两个节点的关系
for(String metadataId:metadataIdList){ for (String metadataId : metadataIdList) {
logger.info("dataId:"+metadataId); logger.info("dataId:" + metadataId);
analysisId.add(metadataId); analysisId.add(metadataId);
for(String metadataId1:metadataIdList){ for (String metadataId1 : metadataIdList) {
logger.info("---------dataId1:"+metadataId1); logger.info("---------dataId1:" + metadataId1);
if(metadataId.equals(metadataId1)){ if (metadataId.equals(metadataId1)) {
continue; continue;
} }
if(analysisId.contains(metadataId1)){ if (analysisId.contains(metadataId1)) {
continue; continue;
} }
String impactCypher = "MATCH p=(a:MetaData{metadataId:\""+metadataId+"\"})-[r:Composition]->()-->()-->()<-[r1:Composition]-(b:MetaData{metadataId:\""+metadataId1+"\"})\n" + String impactCypher = "MATCH p=(a:MetaData{metadataId:\"" + metadataId + "\"})-[r:Composition]->()-->()-->()<-[r1:Composition]-(b:MetaData{metadataId:\"" + metadataId1 + "\"})\n" +
"RETURN p"; "RETURN p";
StatementResult impactResult = session.run(impactCypher); StatementResult impactResult = session.run(impactCypher);
if( impactResult.hasNext()){ if (impactResult.hasNext()) {
logger.info( metadataId + " --->>"+metadataId1); logger.info(metadataId + " --->>" + metadataId1);
Edge edge = new Edge(); Edge edge = new Edge();
// edge.setEdgeId(); // edge.setEdgeId();
edge.setFromId(metadataId); edge.setFromId(metadataId);
edge.setToId(metadataId1); edge.setToId(metadataId1);
edge.setType("流入"); edge.setType("流入");
edge.setEdgeId(""+count++); edge.setEdgeId("" + count++);
returnReslult.getEdges().add(edge); returnReslult.getEdges().add(edge);
} }
String lineageCypher = "MATCH p=(a:MetaData{metadataId:\""+metadataId1+"\"})-[r:Composition]->() -->()-->()<-[r1:Composition]-(b:MetaData{metadataId:\""+metadataId+"\"})\n" + String lineageCypher = "MATCH p=(a:MetaData{metadataId:\"" + metadataId1 + "\"})-[r:Composition]->() -->()-->()<-[r1:Composition]-(b:MetaData{metadataId:\"" + metadataId + "\"})\n" +
"RETURN p"; "RETURN p";
StatementResult lineageResult = session.run(lineageCypher); StatementResult lineageResult = session.run(lineageCypher);
if( lineageResult.hasNext()){ if (lineageResult.hasNext()) {
logger.info( metadataId + "<<-- "+metadataId1); logger.info(metadataId + "<<-- " + metadataId1);
Edge edge = new Edge(); Edge edge = new Edge();
edge.setEdgeId(""+count++); edge.setEdgeId("" + count++);
// edge.setEdgeId(); // edge.setEdgeId();
edge.setFromId(metadataId1 ); edge.setFromId(metadataId1);
edge.setToId(metadataId); edge.setToId(metadataId);
edge.setType("流出"); edge.setType("流出");
returnReslult.getEdges().add(edge); returnReslult.getEdges().add(edge);
...@@ -265,19 +265,19 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -265,19 +265,19 @@ public class MetadataServiceImpl implements IMetadataService {
return returnReslult; return returnReslult;
} }
public String getIconByModelId(String modelId) { public String getIconByModelId(String modelId) {
ApplicationHome applicationHome = new ApplicationHome(getClass()); ApplicationHome applicationHome = new ApplicationHome(getClass());
File jarFile = applicationHome.getSource(); File jarFile = applicationHome.getSource();
String dirPath = jarFile.getParentFile().toString()+"/Icon/"+modelId+"/"; String dirPath = jarFile.getParentFile().toString() + "/Icon/" + modelId + "/";
String encodeIcon = ""; String encodeIcon = "";
File dest = new File(dirPath); File dest = new File(dirPath);
File[] files = dest.listFiles(); File[] files = dest.listFiles();
if(files !=null&& files.length!=0){ if (files != null && files.length != 0) {
File iconFile = files[0]; File iconFile = files[0];
String fileName = iconFile.getAbsolutePath(); String fileName = iconFile.getAbsolutePath();
encodeIcon = GetImageStr(fileName); encodeIcon = GetImageStr(fileName);
}else { } else {
} }
return encodeIcon; return encodeIcon;
...@@ -285,7 +285,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -285,7 +285,7 @@ public class MetadataServiceImpl implements IMetadataService {
// 图片转化成base64字符串 // 图片转化成base64字符串
public static String GetImageStr(String imgFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 public static String GetImageStr(String imgFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
logger.info("存放图标的路径:"+imgFile); logger.info("存放图标的路径:" + imgFile);
InputStream in = null; InputStream in = null;
byte[] data = null; byte[] data = null;
// 读取图片字节数组 // 读取图片字节数组
...@@ -301,6 +301,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -301,6 +301,7 @@ public class MetadataServiceImpl implements IMetadataService {
BASE64Encoder encoder = new BASE64Encoder(); BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);// 返回Base64编码过的字节数组字符串 return encoder.encode(data);// 返回Base64编码过的字节数组字符串
} }
@Override @Override
public List<MetaData> findChildrenByParentId(String parentId) { public List<MetaData> findChildrenByParentId(String parentId) {
...@@ -314,16 +315,15 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -314,16 +315,15 @@ public class MetadataServiceImpl implements IMetadataService {
@Override @Override
public List<MetaData> finAllMetaData() { public List<MetaData> finAllMetaData() {
return (List<MetaData>)metadataRepository.findAll(); return (List<MetaData>) metadataRepository.findAll();
} }
@Override @Override
public MetaData addMetaData(MetaData metaData) { public MetaData addMetaData(MetaData metaData) {
try{ try {
return metadataRepository.save(metaData); return metadataRepository.save(metaData);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
...@@ -337,11 +337,11 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -337,11 +337,11 @@ public class MetadataServiceImpl implements IMetadataService {
@Override @Override
public void syschroRelationFromMongo(String catalogName) { public void syschroRelationFromMongo(String catalogName) {
//先从mongo读取关系,写入neo4j //先从mongo读取关系,写入neo4j
Map<String ,MetaData> metaDataMap = new HashMap<>(); Map<String, MetaData> metaDataMap = new HashMap<>();
logger.info("开始从mongo获取数据。"); logger.info("开始从mongo获取数据。");
List<RelationMongo> relationMongoList = mongoDbServiceImpl.findAll(catalogName); List<RelationMongo> relationMongoList = mongoDbServiceImpl.findAll(catalogName);
logger.info("mongo获取数据完成。"); logger.info("mongo获取数据完成。");
for(RelationMongo relationMongo:relationMongoList){ for (RelationMongo relationMongo : relationMongoList) {
// 获取元数据属性 // 获取元数据属性
// System.out.println(relationMongo.getId()); // System.out.println(relationMongo.getId());
// logger.info("同步元数据:从mongo到neo4j"); // logger.info("同步元数据:从mongo到neo4j");
...@@ -350,94 +350,94 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -350,94 +350,94 @@ public class MetadataServiceImpl implements IMetadataService {
String type = relationMongo.getType(); String type = relationMongo.getType();
if(!metaDataMap.containsKey(sourceId)){ if (!metaDataMap.containsKey(sourceId)) {
//不存在源 //不存在源
Map<String, Object> attriuteMap = metadataRepoRemoteService.getMetadata(sourceId); Map<String, Object> attriuteMap = metadataRepoRemoteService.getMetadata(sourceId);
if(attriuteMap==null){ if (attriuteMap == null) {
logger.info("没有找到id:"+sourceId+"的元数据。"); logger.info("没有找到id:" + sourceId + "的元数据。");
continue; continue;
} }
String name = (String) attriuteMap.get("name"); String name = (String) attriuteMap.get("name");
if(attriuteMap.get("cnName")!=null && !attriuteMap.get("cnName").equals("")){ if (attriuteMap.get("cnName") != null && !attriuteMap.get("cnName").equals("")) {
name = (String) attriuteMap.get("cnName"); name = (String) attriuteMap.get("cnName");
} }
MetaData metaData = new MetaData(); MetaData metaData = new MetaData();
metaData.setMetadataId(sourceId); metaData.setMetadataId(sourceId);
metaData.setName(name); metaData.setName(name);
metaDataMap.put(sourceId,metaData); metaDataMap.put(sourceId, metaData);
MetaData metadata = metadataRepository.findMetaDataByMetadataId(sourceId); MetaData metadata = metadataRepository.findMetaDataByMetadataId(sourceId);
if(metadata !=null){ if (metadata != null) {
}else{ } else {
metadataRepository.save(metaData); metadataRepository.save(metaData);
} }
//如果是字段级的,需要上升查找父节点 //如果是字段级的,需要上升查找父节点
if(sourceId.startsWith("Column=") || sourceId.startsWith("Header=") ){ if (sourceId.startsWith("Column=") || sourceId.startsWith("Header=")) {
Map<String, Object> parentAlttriuteMap = metadataRepoRemoteService.getParent(sourceId); Map<String, Object> parentAlttriuteMap = metadataRepoRemoteService.getParent(sourceId);
if(parentAlttriuteMap ==null){ if (parentAlttriuteMap == null) {
logger.info("没有找到id:"+sourceId+"的父节点元数据。"); logger.info("没有找到id:" + sourceId + "的父节点元数据。");
continue; continue;
} }
String parentId = (String) parentAlttriuteMap.get("_id"); String parentId = (String) parentAlttriuteMap.get("_id");
if(!metaDataMap.containsKey(parentId)){ if (!metaDataMap.containsKey(parentId)) {
//不存在,先创建父节点 //不存在,先创建父节点
MetaData parentData = new MetaData(); MetaData parentData = new MetaData();
parentData.setMetadataId(parentId); parentData.setMetadataId(parentId);
String parentName = (String) parentAlttriuteMap.get("name"); String parentName = (String) parentAlttriuteMap.get("name");
MetaData parentMetadata = metadataRepository.findMetaDataByMetadataId(parentId); MetaData parentMetadata = metadataRepository.findMetaDataByMetadataId(parentId);
parentData.setName(parentName); parentData.setName(parentName);
if(parentMetadata !=null){ if (parentMetadata != null) {
}else{ } else {
metadataRepository.save(parentData); metadataRepository.save(parentData);
} }
metaDataMap.put(parentId,parentData); metaDataMap.put(parentId, parentData);
} }
List<CompositionRelation> relationship = compositionRelationRespository.findCompositionRelationship(parentId, sourceId); List<CompositionRelation> relationship = compositionRelationRespository.findCompositionRelationship(parentId, sourceId);
if(relationship==null || relationship.size()==0){ if (relationship == null || relationship.size() == 0) {
compositionRelationRespository.addConpositionRelation(parentId,sourceId); compositionRelationRespository.addConpositionRelation(parentId, sourceId);
} }
} }
} }
if(!metaDataMap.containsKey(targetId)){ if (!metaDataMap.containsKey(targetId)) {
//不存在目标 //不存在目标
MetaData metaData = new MetaData(); MetaData metaData = new MetaData();
metaData.setMetadataId(targetId); metaData.setMetadataId(targetId);
Map<String, Object> attriuteMap = metadataRepoRemoteService.getMetadata(targetId); Map<String, Object> attriuteMap = metadataRepoRemoteService.getMetadata(targetId);
if(attriuteMap == null){ if (attriuteMap == null) {
logger.info("没有找到id:"+targetId+"的元数据。"); logger.info("没有找到id:" + targetId + "的元数据。");
continue; continue;
} }
String name = (String) attriuteMap.get("name"); String name = (String) attriuteMap.get("name");
if(attriuteMap.get("cnName")!=null && !attriuteMap.get("cnName").equals("")){ if (attriuteMap.get("cnName") != null && !attriuteMap.get("cnName").equals("")) {
name = (String) attriuteMap.get("cnName"); name = (String) attriuteMap.get("cnName");
} }
metaData.setName(name); metaData.setName(name);
metaDataMap.put(targetId,metaData); metaDataMap.put(targetId, metaData);
MetaData neo4jData = metadataRepository.findMetaDataByMetadataId(targetId); MetaData neo4jData = metadataRepository.findMetaDataByMetadataId(targetId);
if(neo4jData !=null){ if (neo4jData != null) {
}else{ } else {
metadataRepository.save(metaData); metadataRepository.save(metaData);
} }
if(targetId.startsWith("Column=") || targetId.startsWith("Header=") ){ if (targetId.startsWith("Column=") || targetId.startsWith("Header=")) {
Map<String, Object> parentAlttriuteMap = metadataRepoRemoteService.getParent(targetId); Map<String, Object> parentAlttriuteMap = metadataRepoRemoteService.getParent(targetId);
if(parentAlttriuteMap ==null){ if (parentAlttriuteMap == null) {
logger.info("没有找到id:"+targetId+"的父节点元数据。"); logger.info("没有找到id:" + targetId + "的父节点元数据。");
continue; continue;
} }
String parentId = (String) parentAlttriuteMap.get("_id"); String parentId = (String) parentAlttriuteMap.get("_id");
if(!metaDataMap.containsKey(parentId)){ if (!metaDataMap.containsKey(parentId)) {
//不存在,先创建父节点 //不存在,先创建父节点
MetaData parentData = new MetaData(); MetaData parentData = new MetaData();
parentData.setMetadataId(parentId); parentData.setMetadataId(parentId);
...@@ -445,41 +445,41 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -445,41 +445,41 @@ public class MetadataServiceImpl implements IMetadataService {
parentData.setName(parentName); parentData.setName(parentName);
MetaData parentMetadata = metadataRepository.findMetaDataByMetadataId(parentId); MetaData parentMetadata = metadataRepository.findMetaDataByMetadataId(parentId);
if(parentMetadata !=null){ if (parentMetadata != null) {
}else{ } else {
metadataRepository.save(parentData); metadataRepository.save(parentData);
} }
metaDataMap.put(parentId,parentData); metaDataMap.put(parentId, parentData);
} }
List<CompositionRelation> relationship = compositionRelationRespository.findCompositionRelationship(parentId, targetId); List<CompositionRelation> relationship = compositionRelationRespository.findCompositionRelationship(parentId, targetId);
if(relationship==null || relationship.size()==0){ if (relationship == null || relationship.size() == 0) {
compositionRelationRespository.addConpositionRelation(parentId,targetId); compositionRelationRespository.addConpositionRelation(parentId, targetId);
} }
} }
} }
if("input".equalsIgnoreCase(type)){ if ("input".equalsIgnoreCase(type)) {
List<InputRelation> relationship = inputRelationReRepository.findInputRelationship(sourceId,targetId); List<InputRelation> relationship = inputRelationReRepository.findInputRelationship(sourceId, targetId);
if(relationship == null || relationship.size()==0){ if (relationship == null || relationship.size() == 0) {
inputRelationReRepository.addInputRelation(sourceId,targetId); inputRelationReRepository.addInputRelation(sourceId, targetId);
} }
}else if("output".equalsIgnoreCase(type)){ } else if ("output".equalsIgnoreCase(type)) {
List<OutputRelation> relationship = outputRelationRepository.findOutputRelationship(sourceId,targetId); List<OutputRelation> relationship = outputRelationRepository.findOutputRelationship(sourceId, targetId);
if(relationship == null || relationship.size()==0){ if (relationship == null || relationship.size() == 0) {
outputRelationRepository.addOutRelation(sourceId,targetId); outputRelationRepository.addOutRelation(sourceId, targetId);
} }
}else if("execute".equalsIgnoreCase(type)) { } else if ("execute".equalsIgnoreCase(type)) {
List<ExecuteRelation> relationship = executeRelationRepository.findExecuteRelationship(sourceId,targetId); List<ExecuteRelation> relationship = executeRelationRepository.findExecuteRelationship(sourceId, targetId);
if(relationship == null || relationship.size()==0){ if (relationship == null || relationship.size() == 0) {
executeRelationRepository.addExecuteRelation(sourceId,targetId); executeRelationRepository.addExecuteRelation(sourceId, targetId);
} }
} else if ("post".equalsIgnoreCase(type)) { } else if ("post".equalsIgnoreCase(type)) {
postRelationRepository.mergePostRelation(sourceId, targetId); postRelationRepository.mergePostRelation(sourceId, targetId);
...@@ -520,20 +520,20 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -520,20 +520,20 @@ public class MetadataServiceImpl implements IMetadataService {
* 3.开始元数据节点不存在,结束元数据节点存在 * 3.开始元数据节点不存在,结束元数据节点存在
* 4.元数据节点均不存在 * 4.元数据节点均不存在
*/ */
if(startMetadata != null && endMetadata != null) { // 1.元数据节点全部存在 if (startMetadata != null && endMetadata != null) { // 1.元数据节点全部存在
List<BaseRelationship> relationship = relationshipService.findMetadataRelationshipByAllName(name,startName,endName); List<BaseRelationship> relationship = relationshipService.findMetadataRelationshipByAllName(name, startName, endName);
if(relationship != null) { if (relationship != null) {
return relationship.get(0); return relationship.get(0);
} }
}else if(startMetadata != null && endMetadata == null) { //2.开始元数据节点存在,结束元数据节点不存在 } else if (startMetadata != null && endMetadata == null) { //2.开始元数据节点存在,结束元数据节点不存在
endMetadata = addMetadataByName(endName); endMetadata = addMetadataByName(endName);
}else if(startMetadata == null && endMetadata != null) { //3.开始元数据节点不存在,结束元数据节点存在 } else if (startMetadata == null && endMetadata != null) { //3.开始元数据节点不存在,结束元数据节点存在
startMetadata = addMetadataByName(startName); startMetadata = addMetadataByName(startName);
}else if(startMetadata == null && endMetadata == null) { //4.元数据节点均不存在 } else if (startMetadata == null && endMetadata == null) { //4.元数据节点均不存在
startMetadata = addMetadataByName(startName); startMetadata = addMetadataByName(startName);
endMetadata = addMetadataByName(endName); endMetadata = addMetadataByName(endName);
} }
BaseRelationship relationship = relationshipService.addRelationship(name,startMetadata,endMetadata); BaseRelationship relationship = relationshipService.addRelationship(name, startMetadata, endMetadata);
//更新开始节点关系 //更新开始节点关系
// Set<BaseRelationship> relationships = startMetadata.getRelationships(); // Set<BaseRelationship> relationships = startMetadata.getRelationships();
// if(relationships == null) { // if(relationships == null) {
...@@ -567,11 +567,11 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -567,11 +567,11 @@ public class MetadataServiceImpl implements IMetadataService {
Value name = record.get("name"); Value name = record.get("name");
List<Object> objects = name.asList(); List<Object> objects = name.asList();
int size = objects.size(); int size = objects.size();
String type = ""; String type = "";
Object object = objects.get(size-1); Object object = objects.get(size - 1);
labels.add(object.toString()); labels.add(object.toString());
} }
return labels; return labels;
} }
private Long createNode(Map<String, Long> nameIdMap, String catalogName, String etlJobId, String etlScriptId, String name, boolean isTable, Long parentId) { private Long createNode(Map<String, Long> nameIdMap, String catalogName, String etlJobId, String etlScriptId, String name, boolean isTable, Long parentId) {
...@@ -582,7 +582,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -582,7 +582,7 @@ public class MetadataServiceImpl implements IMetadataService {
if (split.length == 2) { if (split.length == 2) {
String tableName = split[0]; String tableName = split[0];
String columnName = split[1]; String columnName = split[1];
Long tableId = createNode(nameIdMap, catalogName, etlJobId, etlScriptId, tableName, true, null); Long tableId = createNode(nameIdMap, catalogName, etlJobId, etlScriptId, tableName, true, null);
nodeId = createNode(nameIdMap, catalogName, etlJobId, etlScriptId, columnName, false, tableId); nodeId = createNode(nameIdMap, catalogName, etlJobId, etlScriptId, columnName, false, tableId);
if (tableId != null && nodeId != null) { if (tableId != null && nodeId != null) {
compositionRelationRespository.mergeConpositionRelation(tableId, nodeId); compositionRelationRespository.mergeConpositionRelation(tableId, nodeId);
......
...@@ -27,26 +27,27 @@ public class MongoDbServiceImpl { ...@@ -27,26 +27,27 @@ public class MongoDbServiceImpl {
* *
* @return * @return
*/ */
public List<RelationMongo> findAll(String catalogName ) { public List<RelationMongo> findAll(String catalogName) {
logger.info("--------------------->[MongoDB find start]"); logger.info("--------------------->[MongoDB find start]");
try { try {
return mongoTemplate.findAll(RelationMongo.class,"md_relation_"+catalogName); return mongoTemplate.findAll(RelationMongo.class, "md_relation_" + catalogName);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
} }
/** /**
* 查询所有 * 查询所有
* *
* @return * @return
*/ */
public List<RelationMongo> findAll( ) { public List<RelationMongo> findAll() {
logger.info("--------------------->[MongoDB find start]"); logger.info("--------------------->[MongoDB find start]");
try { try {
return mongoTemplate.findAll(RelationMongo.class,"md_relational"); return mongoTemplate.findAll(RelationMongo.class, "md_relational");
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
...@@ -55,7 +56,7 @@ public class MongoDbServiceImpl { ...@@ -55,7 +56,7 @@ public class MongoDbServiceImpl {
public void saveTempRelation(List<JSONObject> list, String catalogName) { public void saveTempRelation(List<JSONObject> list, String catalogName) {
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return ; return;
} }
list.forEach(o -> mongoTemplate.save(o, PREFIX_MD_RELATION_TEMP_NODE + catalogName)); list.forEach(o -> mongoTemplate.save(o, PREFIX_MD_RELATION_TEMP_NODE + catalogName));
} }
......
...@@ -18,7 +18,7 @@ public class Neo4jTool { ...@@ -18,7 +18,7 @@ public class Neo4jTool {
Object value = map.get(key); Object value = map.get(key);
// 得到property对应的setter方法 // 得到property对应的setter方法
Method setter = property.getWriteMethod(); Method setter = property.getWriteMethod();
if(setter!=null) { if (setter != null) {
try { try {
setter.invoke(obj, value); setter.invoke(obj, value);
} catch (Exception e) { } catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment