Commit 227da694 by qiuchaofei

1.添加孤立点的算法*2

parent 6333ad25
package com.keymobile.metadata.metadataRelation.service.impl;
import com.keymobile.metadata.metadataRelation.pojo.MetaData;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jETLJob;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSystem;
......@@ -7,10 +8,17 @@ import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository;
import com.keymobile.metadata.metadataRelation.service.ISystemService;
import com.keymobile.metadata.metadataRelation.util.Neo4jTool;
import com.keymobile.metadata.metadataRelation.util.SchemaLayerObject;
import org.neo4j.driver.v1.Record;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Value;
import org.neo4j.driver.v1.types.Node;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.Collator;
import java.util.*;
@Service
......@@ -18,6 +26,9 @@ public class SystemServiceImpl implements ISystemService {
@Autowired
private Neo4jSystemRepository neo4jSystemRepository;
@Autowired
private Session neo4jSession;
/**
* @param systemId
......@@ -43,17 +54,7 @@ public class SystemServiceImpl implements ISystemService {
catch (Exception e){
e.printStackTrace();
}
System.out.println("排序前:");
for(Neo4jSchema neo4jSchema:neo4jSchemaList){
System.out.println("排序前:"+neo4jSchema.getName());
}
Collections.sort(neo4jSchemaList);
System.out.println("排序后:");
for(Neo4jSchema neo4jSchema:neo4jSchemaList){
System.out.println("排序后:"+neo4jSchema.getName());
}
for(Neo4jSchema neo4jSchema:neo4jSchemaList){
ReturnNode returnNode = new ReturnNode();
......@@ -153,4 +154,59 @@ public class SystemServiceImpl implements ISystemService {
}
return null;
}
@Override
public Map<String, ReturnNode> getSystemByEnvId(String envId) {
Map<String, ReturnNode> systemMap = new LinkedHashMap<>();
List<Neo4jSystem> neo4jSystemList = new ArrayList<>();
String cypher = "match (n:Neo4jSystem) where n.dataPath=~'"+envId+";.*' return n";
StatementResult result = neo4jSession.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());
}
Neo4jSystem neo4jSystem = new Neo4jSystem();
neo4jSystem.setMetadataId(metaData.getMetadataId());
neo4jSystem.setName(metaData.getName());
neo4jSystemList.add(neo4jSystem);
}
}
}
System.out.println("排序前:");
for(Neo4jSystem neo4jSystem:neo4jSystemList){
System.out.println("neo4jSystem:"+neo4jSystem.getName());
}
Collections.sort(neo4jSystemList, new Comparator<Neo4jSystem>() {
@Override
public int compare(Neo4jSystem o1, Neo4jSystem o2){
Comparator<Object> compare = Collator.getInstance(java.util.Locale.CHINA);
return compare.compare(o1.getName(), o2.getName());
}
});
System.out.println("排序后:");
for(Neo4jSystem neo4jSystem:neo4jSystemList){
System.out.println("neo4jSystem:"+neo4jSystem.getName());
}
for(Neo4jSystem neo4jSystem:neo4jSystemList){
ReturnNode returnNode = new ReturnNode();
returnNode.setId(neo4jSystem.getMetadataId());
returnNode.setName(neo4jSystem.getName());
returnNode.setType("Neo4jSystem");
systemMap.put(returnNode.getId(),returnNode);
}
return systemMap;
}
}
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