Commit d972de1d by qiuchaofei

1调用标签的接口,用来获取schema的分层。2添加删除元数据的接口,

parent 8ba11d2b
...@@ -13,6 +13,6 @@ public class Neo4jSchema extends BaseNode { ...@@ -13,6 +13,6 @@ public class Neo4jSchema extends BaseNode {
public void setLabel(String label) { public void setLabel(String label) {
this.label = label; this.label = label;
} }
//分层
private String label; private String label;
} }
package com.keymobile.metadata.metadataRelation.remote;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
@FeignClient(name = "tagger")
public interface TagRemoteService {
@RequestMapping(value = "/tagResource/getResourceTagIn", method = RequestMethod.POST)
Map<String,List<Map<String,Object>>> getTagByMetadataId(@RequestParam("resourceIds") List<String> resourceIds,
@RequestParam("type") String type,
@RequestParam("creator") String creator,
@RequestParam("includeAll") boolean includeAll);
}
...@@ -13,6 +13,9 @@ public interface MetadataRepository extends Neo4jRepository<MetaData, Long> { ...@@ -13,6 +13,9 @@ public interface MetadataRepository extends Neo4jRepository<MetaData, Long> {
List<MetaData> findMetadataByName(String name); List<MetaData> findMetadataByName(String name);
//删除指定节点
@Query("match (n) where n.metadataId =~'.*+catalogName+.*' return n")
void deleteMetaDataByCatalogName(String catalogName);
@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);
......
...@@ -28,4 +28,6 @@ public interface Neo4jTableRepository extends Neo4jRepository<Neo4jTable,Long> { ...@@ -28,4 +28,6 @@ public interface Neo4jTableRepository extends Neo4jRepository<Neo4jTable,Long> {
List<BaseNode> getTargetEtlJob(@Param("tableId") String tableId); List<BaseNode> getTargetEtlJob(@Param("tableId") String tableId);
@Query("match (n{metadataId:{tableId}} ) <-[r:Composition]-(m) return m ")
List<BaseNode> getSchema(@Param("tableId") String tableId);
} }
...@@ -47,7 +47,8 @@ public class AsyncDataFromMongoToNeo4j { ...@@ -47,7 +47,8 @@ public class AsyncDataFromMongoToNeo4j {
return user; return user;
} }
}); });
//先删除同个环境的数据
metadataService.deleteNodeByCatalogName(catalogName);
metadataService.syschroMetadataFromMongo(catalogName,mongoDataList); metadataService.syschroMetadataFromMongo(catalogName,mongoDataList);
//先同步元数据,纵向关系,root开始 //先同步元数据,纵向关系,root开始
......
...@@ -102,4 +102,6 @@ public interface IMetadataService { ...@@ -102,4 +102,6 @@ public interface IMetadataService {
void syschroMetadataFromMongo(String catalogName,List<MongoData> mongoDataList); void syschroMetadataFromMongo(String catalogName,List<MongoData> mongoDataList);
//同步mongo中表与表,表与作业的关系 //同步mongo中表与表,表与作业的关系
void syschroTable2EtlJobRelations(String catalogName); void syschroTable2EtlJobRelations(String catalogName);
void deleteNodeByCatalogName(String catalogName);
} }
...@@ -9,4 +9,9 @@ public interface ISchemaService { ...@@ -9,4 +9,9 @@ public interface ISchemaService {
Map<String,String> getSchemaBySystem(String systemId); Map<String,String> getSchemaBySystem(String systemId);
Map<String, List<ReturnNode>> getTablesBySchemaId(String schemaId); Map<String, List<ReturnNode>> getTablesBySchemaId(String schemaId);
String getLabelBySchemaId(String schemaId);
Map<String,String> getSchemaAndLabelMap(List<String> schemaIds);
} }
...@@ -20,6 +20,7 @@ import com.keymobile.metadata.metadataRelation.respository.*; ...@@ -20,6 +20,7 @@ import com.keymobile.metadata.metadataRelation.respository.*;
import com.keymobile.metadata.metadataRelation.respository.metadata.*; import com.keymobile.metadata.metadataRelation.respository.metadata.*;
import com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService; import com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService;
import com.keymobile.metadata.metadataRelation.service.IMetadataService; import com.keymobile.metadata.metadataRelation.service.IMetadataService;
import com.keymobile.metadata.metadataRelation.service.ISchemaService;
import com.keymobile.metadata.metadataRelation.util.Neo4jTool; import com.keymobile.metadata.metadataRelation.util.Neo4jTool;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.bson.Document; import org.bson.Document;
...@@ -92,6 +93,10 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -92,6 +93,10 @@ public class MetadataServiceImpl implements IMetadataService {
@Autowired @Autowired
private Neo4jETLScriptRepository neo4jETLScriptRepository; private Neo4jETLScriptRepository neo4jETLScriptRepository;
@Autowired
private ISchemaService schemaService;
@Override @Override
public List<MetaData> findNodeByName(String dataName) { public List<MetaData> findNodeByName(String dataName) {
return metadataRepository.findMetaData(dataName, 3); return metadataRepository.findMetaData(dataName, 3);
...@@ -1273,7 +1278,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1273,7 +1278,7 @@ public class MetadataServiceImpl implements IMetadataService {
Map<String ,Neo4jSystem> systemDataMap = new HashMap<>(); Map<String ,Neo4jSystem> systemDataMap = new HashMap<>();
for(MongoData systemData:systemDataList){ for(MongoData systemData:systemDataList){
Neo4jSystem neo4jSystem = new Neo4jSystem(); Neo4jSystem neo4jSystem = new Neo4jSystem();
String systemId = "System="+systemData.get_id(); String systemId = "System="+catalogName+"="+systemData.get_id();
neo4jSystem.setMetadataId(systemId); neo4jSystem.setMetadataId(systemId);
neo4jSystem.setName(systemData.getName()); neo4jSystem.setName(systemData.getName());
neo4jSystem.setCnName(systemData.getCnName()); neo4jSystem.setCnName(systemData.getCnName());
...@@ -1297,11 +1302,8 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1297,11 +1302,8 @@ public class MetadataServiceImpl implements IMetadataService {
String mongoId = dataBaseData.get_id(); String mongoId = dataBaseData.get_id();
if(mongoId.startsWith("Server=")){ if(mongoId.startsWith("Server=")){
//如果是server,就把etljob找出来 //如果是server,就把etljob找出来
List<MongoData> etlJobDataList= mongoDbServiceImpl.findDataByparentId(dataBaseData.get_id(),collectionName); List<MongoData> etlJobDataList= mongoDbServiceImpl.findDataByparentId(dataBaseData.get_id(),collectionName);
List<Neo4jETLJob> neo4jETLJobList = new ArrayList<>(); List<Neo4jETLJob> neo4jETLJobList = new ArrayList<>();
for(MongoData etlJobData:etlJobDataList){ for(MongoData etlJobData:etlJobDataList){
if(etlJobCount%200 == 0){ if(etlJobCount%200 == 0){
logger.info("同步了"+etlJobCount); logger.info("同步了"+etlJobCount);
...@@ -1342,28 +1344,30 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1342,28 +1344,30 @@ public class MetadataServiceImpl implements IMetadataService {
compositionRelation.setEnd(neo4jETLScript); compositionRelation.setEnd(neo4jETLScript);
compositionRelation.setName("etlJob--Script"); compositionRelation.setName("etlJob--Script");
compositionRelationList.add(compositionRelation); compositionRelationList.add(compositionRelation);
} }
} }
if(neo4jETLScriptList !=null && neo4jETLScriptList.size()!=0 ){ if(neo4jETLScriptList !=null && neo4jETLScriptList.size()!=0 ){
neo4jETLScriptRepository.saveAll(neo4jETLScriptList); neo4jETLScriptRepository.saveAll(neo4jETLScriptList);
} }
} }
if(neo4jETLJobList !=null && neo4jETLJobList.size()!=0 ){ if(neo4jETLJobList !=null && neo4jETLJobList.size()!=0 ){
neo4jETLJobRepository.saveAll(neo4jETLJobList); neo4jETLJobRepository.saveAll(neo4jETLJobList);
} }
}else if(mongoId.startsWith("Database=")){ }else if(mongoId.startsWith("Database=")){
List<MongoData> schemaDataList= mongoDbServiceImpl.findDataByparentId(dataBaseData.get_id(),collectionName); List<MongoData> schemaDataList= mongoDbServiceImpl.findDataByparentId(dataBaseData.get_id(),collectionName);
List<String> schemaIds = new ArrayList<>();
for(MongoData schemaData:schemaDataList){
schemaIds.add(schemaData.get_id());
}
Map<String,String> shemaIdAndLabel = schemaService.getSchemaAndLabelMap(schemaIds);
for(MongoData schemaData:schemaDataList){ for(MongoData schemaData:schemaDataList){
//系统与schema的关系 //系统与schema的关系
String schemaData_id = schemaData.get_id();
Neo4jSchema neo4jSchema = new Neo4jSchema(); Neo4jSchema neo4jSchema = new Neo4jSchema();
neo4jSchema.setMetadataId(schemaData.get_id()); neo4jSchema.setMetadataId(schemaData_id);
neo4jSchema.setName(schemaData.getName()); neo4jSchema.setName(schemaData.getName());
neo4jSchema.setCnName(schemaData.getCnName()); neo4jSchema.setCnName(schemaData.getCnName());
...@@ -1375,6 +1379,9 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1375,6 +1379,9 @@ public class MetadataServiceImpl implements IMetadataService {
} }
} }
String schemaPath = neo4jSystem.getDataPath()+";"+schemaData.getName(); String schemaPath = neo4jSystem.getDataPath()+";"+schemaData.getName();
if(shemaIdAndLabel.get(schemaData_id)!=null){
neo4jSchema.setLabel(shemaIdAndLabel.get(schemaData_id));
}
neo4jSchema.setDataPath(schemaPath); neo4jSchema.setDataPath(schemaPath);
int ran1 = r.nextInt(6); int ran1 = r.nextInt(6);
if(ran1>6){ if(ran1>6){
...@@ -1761,6 +1768,7 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -1761,6 +1768,7 @@ public class MetadataServiceImpl implements IMetadataService {
logger.info("创建了多少关系:"+relationMap.size()); logger.info("创建了多少关系:"+relationMap.size());
} }
@Override @Override
public void syschroRelationFromMongo(String catalogName) { public void syschroRelationFromMongo(String catalogName) {
//先从mongo读取关系,写入neo4j //先从mongo读取关系,写入neo4j
...@@ -2214,11 +2222,24 @@ public class MetadataServiceImpl implements IMetadataService { ...@@ -2214,11 +2222,24 @@ public class MetadataServiceImpl implements IMetadataService {
} }
@Override @Override
public void deleteNodeByCatalogName(String catalogName) {
Neo4jConfig neo4jConfig = new Neo4jConfig();
Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
Session session = neo4jConnection.session();
String cypher = "match (n) where n.metadataId =~'.*="+catalogName+"=.*' detach delete n";
session.run(cypher);
}
@Override
public void deleteTempNodeByCatalogName(String catalogName) { public void deleteTempNodeByCatalogName(String catalogName) {
tempNodeRepository.deleteAllRelation(catalogName); tempNodeRepository.deleteAllRelation(catalogName);
tempNodeRepository.deleteTempNodesByCatalogName(catalogName); tempNodeRepository.deleteTempNodesByCatalogName(catalogName);
} }
@Override @Override
public List<TempNode> findAllTempNode() { public List<TempNode> findAllTempNode() {
return (List<TempNode>) tempNodeRepository.findAll(); return (List<TempNode>) tempNodeRepository.findAll();
......
...@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.service.impl; ...@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.service.impl;
import com.keymobile.metadata.metadataRelation.pojo.BaseNode; import com.keymobile.metadata.metadataRelation.pojo.BaseNode;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema; import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode; import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode;
import com.keymobile.metadata.metadataRelation.remote.TagRemoteService;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSchemaRepository; import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSchemaRepository;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository; import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository;
import com.keymobile.metadata.metadataRelation.service.ISchemaService; import com.keymobile.metadata.metadataRelation.service.ISchemaService;
...@@ -19,6 +20,9 @@ public class SchemaServiceImpl implements ISchemaService { ...@@ -19,6 +20,9 @@ public class SchemaServiceImpl implements ISchemaService {
@Autowired @Autowired
private Neo4jSchemaRepository neo4jSchemaRepository; private Neo4jSchemaRepository neo4jSchemaRepository;
@Autowired
private TagRemoteService tagRemoteService;
@Override @Override
public Map<String, String> getSchemaBySystem(String systemId) { public Map<String, String> getSchemaBySystem(String systemId) {
return null; return null;
...@@ -97,4 +101,72 @@ public class SchemaServiceImpl implements ISchemaService { ...@@ -97,4 +101,72 @@ public class SchemaServiceImpl implements ISchemaService {
return schemaMap; return schemaMap;
} }
@Override
public String getLabelBySchemaId(String schemaId) {
List<String> layer = new ArrayList<>();
layer.add("贴源数据层");
layer.add("基础数据层");
layer.add("整合数据层");
layer.add("统计数据层");
layer.add("分析数据层");
layer.add("集市数据层");
layer.add("应用数据层");
String returnLabel = "";
List<String> metadataIds = new ArrayList<>();
metadataIds.add(schemaId);
try{
Map<String,List<Map<String,Object>>> returnResults = tagRemoteService.getTagByMetadataId(metadataIds, "metadata", "", true);
for(Object obj : returnResults.keySet()){
System.out.println(obj+" : "+returnResults.get(obj));
List<Map<String,Object>> mapList = returnResults.get(obj);
for(Map<String,Object> map : mapList){
String label =(String) map.get("name");
if(layer.contains(label)){
returnLabel = label;
}
}
}
}catch (Exception e){
e.printStackTrace();
}
return returnLabel;
}
@Override
public Map<String, String> getSchemaAndLabelMap(List<String> schemaIds) {
Map<String,String> schemaIdAndLabelMap = new HashMap<>();
List<String> layer = new ArrayList<>();
layer.add("贴源数据层");
layer.add("基础数据层");
layer.add("整合数据层");
layer.add("统计数据层");
layer.add("分析数据层");
layer.add("集市数据层");
layer.add("应用数据层");
String returnLabel = "";
try {
Map<String,List<Map<String,Object>>> returnResults = tagRemoteService.getTagByMetadataId(schemaIds, "metadata", "", true);
for(Object obj : returnResults.keySet()){
String schemaId = (String)obj;
System.out.println(obj+" : "+returnResults.get(obj));
List<Map<String,Object>> mapList = returnResults.get(obj);
for(Map<String,Object> map : mapList){
String label =(String) map.get("name");
if(layer.contains(label)){
schemaIdAndLabelMap.put(schemaId,label);
}
}
}
}catch (Exception e){
e.printStackTrace();
}
return schemaIdAndLabelMap;
}
} }
...@@ -9,10 +9,7 @@ import com.keymobile.metadata.metadataRelation.service.ISystemService; ...@@ -9,10 +9,7 @@ import com.keymobile.metadata.metadataRelation.service.ISystemService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service @Service
public class SystemServiceImpl implements ISystemService { public class SystemServiceImpl implements ISystemService {
...@@ -20,11 +17,37 @@ public class SystemServiceImpl implements ISystemService { ...@@ -20,11 +17,37 @@ public class SystemServiceImpl implements ISystemService {
@Autowired @Autowired
private Neo4jSystemRepository neo4jSystemRepository; private Neo4jSystemRepository neo4jSystemRepository;
/**
* layer.add("贴源数据层");
* layer.add("基础数据层");
* layer.add("整合数据层");
* layer.add("统计数据层");
* layer.add("分析数据层");
* layer.add("集市数据层");
* layer.add("应用数据层");
* @param systemId
* @return
*/
@Override @Override
public Map<String ,List<ReturnNode>> getSchemaBySystemId(String systemId) { public Map<String ,List<ReturnNode>> getSchemaBySystemId(String systemId) {
Map<String ,List<ReturnNode>> schemaMap = new HashMap<>(); Map<String ,List<ReturnNode>> schemaMap = new LinkedHashMap<>();
schemaMap.put("贴源数据层", new ArrayList<>() );
List<Neo4jSchema> neo4jSchemaList = neo4jSystemRepository.getSchemaBySystemId(systemId); schemaMap.put("基础数据层", new ArrayList<>() );
schemaMap.put("整合数据层", new ArrayList<>() );
schemaMap.put("统计数据层", new ArrayList<>() );
schemaMap.put("分析数据层", new ArrayList<>() );
schemaMap.put("集市数据层", new ArrayList<>() );
schemaMap.put("应用数据层", new ArrayList<>() );
List<Neo4jSchema> neo4jSchemaList = new ArrayList<>();
schemaMap.put("未分层", new ArrayList<>() );
try{
neo4jSchemaList = neo4jSystemRepository.getSchemaBySystemId(systemId);
}
catch (Exception e){
e.printStackTrace();
}
for(Neo4jSchema neo4jSchema:neo4jSchemaList){ for(Neo4jSchema neo4jSchema:neo4jSchemaList){
ReturnNode returnNode = new ReturnNode(); ReturnNode returnNode = new ReturnNode();
...@@ -33,19 +56,34 @@ public class SystemServiceImpl implements ISystemService { ...@@ -33,19 +56,34 @@ public class SystemServiceImpl implements ISystemService {
returnNode.setType("Schema"); returnNode.setType("Schema");
String label = neo4jSchema.getLabel(); String label = neo4jSchema.getLabel();
if(label == null || label.equals("")){ if("贴源数据层".equals(label)){
label = "未分层"; schemaMap.get(label).add(returnNode);
} }else if("基础数据层".equals(label)){
if(schemaMap .containsKey(label)){ schemaMap.get(label).add(returnNode);
List<ReturnNode> returnNodeList = schemaMap.get(label); }else if("整合数据层".equals(label)){
if(!returnNodeList.contains(returnNode)){ schemaMap.get(label).add(returnNode);
returnNodeList.add(returnNode); }else if("统计数据层".equals(label)){
} schemaMap.get(label).add(returnNode);
}else{ }else if("分析数据层".equals(label)){
List<ReturnNode> returnNodeList = new ArrayList<>(); schemaMap.get(label).add(returnNode);
returnNodeList.add(returnNode); }else if("集市数据层".equals(label)){
schemaMap.put(label,returnNodeList); schemaMap.get(label).add(returnNode);
}else if("应用数据层".equals(label)){
schemaMap.get(label).add(returnNode);
}else {
schemaMap.get("未分层").add(returnNode);
} }
// if(schemaMap .containsKey(label)){
// List<ReturnNode> returnNodeList = schemaMap.get(label);
// if(!returnNodeList.contains(returnNode)){
// returnNodeList.add(returnNode);
// }
// }else{
// List<ReturnNode> returnNodeList = new ArrayList<>();
// returnNodeList.add(returnNode);
// schemaMap.put(label,returnNodeList);
// }
} }
return schemaMap; return schemaMap;
} }
......
...@@ -3,12 +3,14 @@ package com.keymobile.metadata.metadataRelation.service.impl; ...@@ -3,12 +3,14 @@ package com.keymobile.metadata.metadataRelation.service.impl;
import com.keymobile.metadata.metadataRelation.config.Neo4jConfig; import com.keymobile.metadata.metadataRelation.config.Neo4jConfig;
import com.keymobile.metadata.metadataRelation.pojo.BaseNode; import com.keymobile.metadata.metadataRelation.pojo.BaseNode;
import com.keymobile.metadata.metadataRelation.pojo.MetaData; import com.keymobile.metadata.metadataRelation.pojo.MetaData;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSystem; import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSystem;
import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jTable; import com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jTable;
import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode; import com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode;
import com.keymobile.metadata.metadataRelation.remote.DataAssertRemoteService; import com.keymobile.metadata.metadataRelation.remote.DataAssertRemoteService;
import com.keymobile.metadata.metadataRelation.remote.DataStandardRemoteService; import com.keymobile.metadata.metadataRelation.remote.DataStandardRemoteService;
import com.keymobile.metadata.metadataRelation.remote.MetadataRepoRemoteService; import com.keymobile.metadata.metadataRelation.remote.MetadataRepoRemoteService;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSchemaRepository;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository; import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository;
import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jTableRepository; import com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jTableRepository;
import com.keymobile.metadata.metadataRelation.service.ITableService; import com.keymobile.metadata.metadataRelation.service.ITableService;
...@@ -33,6 +35,10 @@ public class TableServiceImpl implements ITableService { ...@@ -33,6 +35,10 @@ public class TableServiceImpl implements ITableService {
@Autowired @Autowired
private Neo4jSystemRepository neo4jSystemRepository; private Neo4jSystemRepository neo4jSystemRepository;
@Autowired
private Neo4jSchemaRepository neo4jSchemaRepository;
@Autowired @Autowired
private MetadataRepoRemoteService metadataRepoRemoteService; private MetadataRepoRemoteService metadataRepoRemoteService;
...@@ -45,7 +51,6 @@ public class TableServiceImpl implements ITableService { ...@@ -45,7 +51,6 @@ public class TableServiceImpl implements ITableService {
@Override @Override
public Map<String, List<ReturnNode>> getRelationObjectByTableId(String tableId) { public Map<String, List<ReturnNode>> getRelationObjectByTableId(String tableId) {
//传入表id,查找与该表相关的“模型,资产,标准,质量,作业”, //传入表id,查找与该表相关的“模型,资产,标准,质量,作业”,
Map<String, List<ReturnNode>> relationObjects = new HashMap<>(); Map<String, List<ReturnNode>> relationObjects = new HashMap<>();
//作业 //作业
List<ReturnNode> etlJobs = new ArrayList<>(); List<ReturnNode> etlJobs = new ArrayList<>();
...@@ -121,8 +126,10 @@ public class TableServiceImpl implements ITableService { ...@@ -121,8 +126,10 @@ public class TableServiceImpl implements ITableService {
} }
long start = System.currentTimeMillis();
List<ReturnNode> neo4jTableList = getCurrentTableInfo(tableId); List<ReturnNode> neo4jTableList = getCurrentTableInfo(tableId);
long ent = System.currentTimeMillis();
logger.info("查找当前表用时:"+(ent-start));
relationObjects.put("当前表",neo4jTableList); relationObjects.put("当前表",neo4jTableList);
return relationObjects; return relationObjects;
...@@ -283,7 +290,12 @@ public class TableServiceImpl implements ITableService { ...@@ -283,7 +290,12 @@ public class TableServiceImpl implements ITableService {
Map<String,String> returnMap = new HashMap<>(); Map<String,String> returnMap = new HashMap<>();
Map<String, Object> attriuteMap = null; Map<String, Object> attriuteMap = null;
try{ try{
long start = System.currentTimeMillis();
attriuteMap = metadataRepoRemoteService.getMetadata(tableId); attriuteMap = metadataRepoRemoteService.getMetadata(tableId);
long end = System.currentTimeMillis();
logger.info(tableId+"调用repo服务用时:"+(end-start));
}catch (Exception e){ }catch (Exception e){
logger.info("元数据服务异常:"+e.getMessage()); logger.info("元数据服务异常:"+e.getMessage());
} }
...@@ -303,9 +315,6 @@ public class TableServiceImpl implements ITableService { ...@@ -303,9 +315,6 @@ public class TableServiceImpl implements ITableService {
// 英文名称,中文名称,说明,表规模(行),表大小(字节),更新时间, // 英文名称,中文名称,说明,表规模(行),表大小(字节),更新时间,
// 所属系统,所属分层,加载脚本,质量情况,相关模型 // 所属系统,所属分层,加载脚本,质量情况,相关模型
String name = (String) attriuteMap.get("name"); String name = (String) attriuteMap.get("name");
// if (attriuteMap.get("cnName") != null && !attriuteMap.get("cnName").equals("")) {
// name = (String) attriuteMap.get("cnName");
// }
returnMap.put("英文名称",name); returnMap.put("英文名称",name);
String cnName = (String) attriuteMap.get("cnName"); String cnName = (String) attriuteMap.get("cnName");
returnMap.put("中文名称",cnName); returnMap.put("中文名称",cnName);
...@@ -330,16 +339,23 @@ public class TableServiceImpl implements ITableService { ...@@ -330,16 +339,23 @@ public class TableServiceImpl implements ITableService {
//所属分层,从schema获取 //所属分层,从schema获取
String parentId = (String) attriuteMap.get("parentId"); String parentId = (String) attriuteMap.get("parentId");
String label = null;
Map<String, Object> schemaAttributeMap = null; String schemaName = "";
try{ try{
schemaAttributeMap = metadataRepoRemoteService.getMetadata(parentId); long start = System.currentTimeMillis();
neo4jTableRepository.getSchema(tableId);
List<Neo4jSchema> neo4jSchemaList = neo4jSchemaRepository.findNeo4jSchemaByMetadataId(parentId);
if(neo4jSchemaList !=null && neo4jSchemaList.size()!=0){
Neo4jSchema neo4jSchema = neo4jSchemaList.get(0);
schemaName = neo4jSchema.getName();
label = neo4jSchema.getLabel();
}
long end = System.currentTimeMillis();
logger.info(tableId+"调用repo服务用时:"+(end-start));
}catch (Exception e){ }catch (Exception e){
logger.info("元数据服务异常:"+e.getMessage()); logger.info("元数据服务异常:"+e.getMessage());
} }
String label = (String)schemaAttributeMap.get("label");
if(label== null ){ if(label== null ){
List<String> layer = new ArrayList<>(); List<String> layer = new ArrayList<>();
...@@ -359,16 +375,16 @@ public class TableServiceImpl implements ITableService { ...@@ -359,16 +375,16 @@ public class TableServiceImpl implements ITableService {
label = layer.get(ran1); label = layer.get(ran1);
} }
returnMap.put("所属分层",label); returnMap.put("所属分层",label);
returnMap.put("所属Schema",schemaName);
List<String> paths =(List<String>) attriuteMap.get("namePathList"); // List<String> paths =(List<String>) attriuteMap.get("namePathList");
if(paths !=null ){ // if(paths !=null ){
StringBuffer sb = new StringBuffer(); // StringBuffer sb = new StringBuffer();
int size = paths.size(); // int size = paths.size();
for(int i =0 ;i<size;i++){ // for(int i =0 ;i<size;i++){
sb.append(paths.get(i)+";"); // sb.append(paths.get(i)+";");
} // }
returnMap.put("路径",sb.toString()); // returnMap.put("路径",sb.toString());
} // }
return returnMap; return returnMap;
} }
...@@ -383,7 +399,7 @@ public class TableServiceImpl implements ITableService { ...@@ -383,7 +399,7 @@ public class TableServiceImpl implements ITableService {
returnNode.setName(baseNode.getName()); returnNode.setName(baseNode.getName());
returnNode.setType("Table"); returnNode.setType("Table");
// 获取属性 // 获取属性
Map<String,String> attributeMap = getAttributeMap(tableId); Map<String,String> attributeMap = getAttributeMap(metadataId);
String systemString = attributeMap.get("所属系统"); String systemString = attributeMap.get("所属系统");
String belongSystem = ""; String belongSystem = "";
...@@ -417,7 +433,7 @@ public class TableServiceImpl implements ITableService { ...@@ -417,7 +433,7 @@ public class TableServiceImpl implements ITableService {
returnNode.setType("Table"); returnNode.setType("Table");
// 获取属性 // 获取属性
Map<String,String> attributeMap = getAttributeMap(tableId); Map<String,String> attributeMap = getAttributeMap(metadataId);
String systemString = attributeMap.get("所属系统"); String systemString = attributeMap.get("所属系统");
String belongSystem = ""; String belongSystem = "";
......
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