Commit 67cd875e by qiuchaofei

1.查询对象为系统,并且用名字查询的图形

parent b2b279c4
...@@ -75,9 +75,13 @@ public class MetaDataController { ...@@ -75,9 +75,13 @@ public class MetaDataController {
int layerLong = Integer.valueOf(layer); int layerLong = Integer.valueOf(layer);
ReturnReslult returnReslult = null; ReturnReslult returnReslult = null;
List<MetaData> metadataList = metadataService.getMetadataByName(metadataName); List<MetaData> metadataList = metadataService.getMetadataByName(metadataName);
if(metadataList != null && metadataList.size()!=0){ if(metadataList != null && metadataList.size()!=0){
String metadataId = metadataList.get(0).getMetadataId(); String metadataId = metadataList.get(0).getMetadataId();
returnReslult = metadataService.searchGraph(metadataId,layerLong); if(metadataId.startsWith("System=")){
returnReslult = metadataService.searchGraphBySystem(metadataId,layerLong);
}else{
returnReslult = metadataService.searchGraph(metadataId,layerLong);
}
}else { }else {
logger.info("没有找到元数据:"+metadataName); logger.info("没有找到元数据:"+metadataName);
} }
......
...@@ -1479,7 +1479,39 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1479,7 +1479,39 @@ public class MetadataServiceImpl implements IMetadataService {
@Override @Override
public List<MetaData> getMetadataByName(String name) { public List<MetaData> getMetadataByName(String name) {
return metadataRepository.findMetadataByName(name); List<MetaData> metaDataList = metadataRepository.findMetadataByName(name);
if(metaDataList ==null || metaDataList.size()==0){
Neo4jConfig neo4jConfig = new Neo4jConfig();
Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
Session session = neo4jConnection.session();
//向上获取路径
String cypher = "match (n{name:\""+name+"\"}) return n ";
logger.info("cypher:" + cypher);
StatementResult result = session.run(cypher);
while(result.hasNext()){
Record record = result.next();
List<Value> values = record.values();
for (Value value : values) {
if(value.type().name().equals("NODE")){
Node node = value.asNode();
Map<String, Object> stringObjectMap = node.asMap();
MetaData metaData = new MetaData();
Neo4jTool.transMap2Bean(stringObjectMap, metaData);
if(metaData.getMetadataId() == null ){
metaData.setMetadataId("System="+metaData.getName());
}
metaDataList.add(metaData);
}
}
}
}
return metaDataList;
} }
@Override @Override
......
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