Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
neo4jRelation
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qiuchaofei
neo4jRelation
Commits
0c5f98b1
Commit
0c5f98b1
authored
Dec 16, 2021
by
qiuchaofei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.按照新原型设计模型,实体类,新的前后端接口。2修改从mongo同步数据到neo4j的方法。
parent
03229683
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
619 additions
and
36 deletions
+619
-36
MetaDataController.java
...adata/metadataRelation/controller/MetaDataController.java
+8
-9
RelationalGraphController.java
...etadataRelation/controller/RelationalGraphController.java
+78
-0
BaseNode.java
...om/keymobile/metadata/metadataRelation/pojo/BaseNode.java
+19
-0
Neo4jFunction.java
...etadata/metadataRelation/pojo/metadata/Neo4jFunction.java
+8
-0
Neo4jJob.java
...ile/metadata/metadataRelation/pojo/metadata/Neo4jJob.java
+8
-0
Neo4jProcedure.java
...tadata/metadataRelation/pojo/metadata/Neo4jProcedure.java
+8
-0
Neo4jSchema.java
.../metadata/metadataRelation/pojo/metadata/Neo4jSchema.java
+18
-0
Neo4jSystem.java
.../metadata/metadataRelation/pojo/metadata/Neo4jSystem.java
+9
-0
Neo4jTable.java
...e/metadata/metadataRelation/pojo/metadata/Neo4jTable.java
+8
-0
Neo4jView.java
...le/metadata/metadataRelation/pojo/metadata/Neo4jView.java
+8
-0
MongoData.java
...obile/metadata/metadataRelation/pojo/mongo/MongoData.java
+64
-0
ReturnEdge.java
...metadata/metadataRelation/pojo/returnBean/ReturnEdge.java
+1
-1
ReturnNode.java
...metadata/metadataRelation/pojo/returnBean/ReturnNode.java
+1
-1
ReturnReslult.java
...adata/metadataRelation/pojo/returnBean/ReturnReslult.java
+6
-7
Neo4jFunctionRepository.java
...elation/respository/metadata/Neo4jFunctionRepository.java
+13
-0
Neo4jProcedureRepository.java
...lation/respository/metadata/Neo4jProcedureRepository.java
+14
-0
Neo4jSchemaRepository.java
...aRelation/respository/metadata/Neo4jSchemaRepository.java
+18
-0
Neo4jSystemRepository.java
...aRelation/respository/metadata/Neo4jSystemRepository.java
+18
-0
Neo4jTableRepository.java
...taRelation/respository/metadata/Neo4jTableRepository.java
+12
-0
Neo4jViewRepository.java
...ataRelation/respository/metadata/Neo4jViewRepository.java
+14
-0
AsyncDataFromMongoToNeo4j.java
...a/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
+35
-3
IBaseRelationshipService.java
...ta/metadataRelation/service/IBaseRelationshipService.java
+2
-1
IMetadataService.java
...e/metadata/metadataRelation/service/IMetadataService.java
+3
-0
ISchemaService.java
...ile/metadata/metadataRelation/service/ISchemaService.java
+12
-0
ISystemService.java
...ile/metadata/metadataRelation/service/ISystemService.java
+13
-0
BaseRelationshipServiceImpl.java
...ataRelation/service/impl/BaseRelationshipServiceImpl.java
+16
-0
MetadataServiceImpl.java
...ta/metadataRelation/service/impl/MetadataServiceImpl.java
+0
-0
MongoDbServiceImpl.java
...ata/metadataRelation/service/impl/MongoDbServiceImpl.java
+49
-1
MultiModelServiceImpl.java
.../metadataRelation/service/impl/MultiModelServiceImpl.java
+5
-13
SchemaServiceImpl.java
...data/metadataRelation/service/impl/SchemaServiceImpl.java
+100
-0
SystemServiceImpl.java
...data/metadataRelation/service/impl/SystemServiceImpl.java
+51
-0
No files found.
src/main/java/com/keymobile/metadata/metadataRelation/controller/MetaDataController.java
View file @
0c5f98b1
...
@@ -12,9 +12,9 @@ import java.util.stream.Collectors;
...
@@ -12,9 +12,9 @@ import java.util.stream.Collectors;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.
Return
Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Node
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.
Return
Node
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.service.AsyncDataFromMongoToNeo4j
;
import
com.keymobile.metadata.metadataRelation.service.AsyncDataFromMongoToNeo4j
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
...
@@ -30,7 +30,6 @@ import org.slf4j.Logger;
...
@@ -30,7 +30,6 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.system.ApplicationHome
;
import
org.springframework.boot.system.ApplicationHome
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
@@ -165,7 +164,7 @@ public class MetaDataController {
...
@@ -165,7 +164,7 @@ public class MetaDataController {
returnReslult
=
metadataService
.
findResultByModelName
(
modelName0
,
sizeInt
);
returnReslult
=
metadataService
.
findResultByModelName
(
modelName0
,
sizeInt
);
}
else
{
}
else
{
List
<
MetaData
>
metaDataList
=
metadataService
.
finAllMetaData
();
List
<
MetaData
>
metaDataList
=
metadataService
.
finAllMetaData
();
Map
<
String
,
Node
>
nodeMap
=
new
HashMap
<>();
Map
<
String
,
Return
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
<>();
...
@@ -175,7 +174,7 @@ public class MetaDataController {
...
@@ -175,7 +174,7 @@ public class MetaDataController {
Map
<
String
,
MetaModel
>
metaModelMap
=
new
HashMap
<>();
Map
<
String
,
MetaModel
>
metaModelMap
=
new
HashMap
<>();
for
(
MetaData
metaData
:
metaDataList
)
{
for
(
MetaData
metaData
:
metaDataList
)
{
Node
node
=
new
Node
();
ReturnNode
node
=
new
Return
Node
();
String
[]
strings
=
metaData
.
getMetadataId
().
split
(
"="
);
String
[]
strings
=
metaData
.
getMetadataId
().
split
(
"="
);
String
modelName
=
strings
[
0
];
String
modelName
=
strings
[
0
];
...
@@ -184,7 +183,7 @@ public class MetaDataController {
...
@@ -184,7 +183,7 @@ public class MetaDataController {
String
systemName
=
metaData
.
getSystem
();
String
systemName
=
metaData
.
getSystem
();
Node
systemNode
=
new
Node
();
ReturnNode
systemNode
=
new
Return
Node
();
systemNode
.
setId
(
"catalog="
+
systemName
);
systemNode
.
setId
(
"catalog="
+
systemName
);
systemNode
.
setName
(
systemName
);
systemNode
.
setName
(
systemName
);
String
newModelName
=
"Catalog"
;
String
newModelName
=
"Catalog"
;
...
@@ -297,7 +296,7 @@ public class MetaDataController {
...
@@ -297,7 +296,7 @@ public class MetaDataController {
// }
// }
if
(
nodeMap
.
containsKey
(
""
+
startId
))
{
if
(
nodeMap
.
containsKey
(
""
+
startId
))
{
Node
startNode
=
nodeMap
.
get
(
""
+
startId
);
Return
Node
startNode
=
nodeMap
.
get
(
""
+
startId
);
startMetaId
=
nodeMap
.
get
(
""
+
startId
).
getId
();
startMetaId
=
nodeMap
.
get
(
""
+
startId
).
getId
();
}
}
...
@@ -306,7 +305,7 @@ public class MetaDataController {
...
@@ -306,7 +305,7 @@ public class MetaDataController {
endMetaId
=
nodeMap
.
get
(
""
+
endId
).
getId
();
endMetaId
=
nodeMap
.
get
(
""
+
endId
).
getId
();
}
}
if
(
StringUtils
.
isNotBlank
(
startMetaId
)
&&
StringUtils
.
isNotBlank
(
endMetaId
)){
if
(
StringUtils
.
isNotBlank
(
startMetaId
)
&&
StringUtils
.
isNotBlank
(
endMetaId
)){
Edge
edge
=
new
Edge
();
ReturnEdge
edge
=
new
Return
Edge
();
edge
.
setEdgeId
(
""
+
baseRelationship
.
getId
());
edge
.
setEdgeId
(
""
+
baseRelationship
.
getId
());
edge
.
setFromId
(
startMetaId
);
edge
.
setFromId
(
startMetaId
);
edge
.
setToId
(
endMetaId
);
edge
.
setToId
(
endMetaId
);
...
@@ -368,7 +367,7 @@ public class MetaDataController {
...
@@ -368,7 +367,7 @@ public class MetaDataController {
metaDataList
=
metadataService
.
findChildrenByParentId
(
dataId
,
count
);
metaDataList
=
metadataService
.
findChildrenByParentId
(
dataId
,
count
);
}
}
for
(
MetaData
metaData
:
metaDataList
)
{
for
(
MetaData
metaData
:
metaDataList
)
{
Node
node
=
new
Node
();
ReturnNode
node
=
new
Return
Node
();
String
[]
strings
=
metaData
.
getMetadataId
().
split
(
"="
);
String
[]
strings
=
metaData
.
getMetadataId
().
split
(
"="
);
String
modelName
=
strings
[
0
];
String
modelName
=
strings
[
0
];
...
...
src/main/java/com/keymobile/metadata/metadataRelation/controller/RelationalGraphController.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
controller
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.service.IMetadataService
;
import
com.keymobile.metadata.metadataRelation.service.ISchemaService
;
import
com.keymobile.metadata.metadataRelation.service.ISystemService
;
import
com.keymobile.metadata.metadataRelation.service.impl.SystemServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
@RestController
@Api
(
value
=
"关系图谱的接口"
,
tags
=
"relational graph controller"
)
public
class
RelationalGraphController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RelationalGraphController
.
class
);
@Autowired
private
IMetadataService
metadataService
;
@Autowired
private
ISystemService
systemService
;
@Autowired
private
ISchemaService
schemaService
;
//系统总图的接口
@ApiOperation
(
tags
=
""
,
value
=
"系统总图"
)
@RequestMapping
(
path
=
"/getSystemGraph1"
,
method
=
RequestMethod
.
GET
)
public
ReturnReslult
getSystemGraph1
(){
int
size
=
300
;
return
metadataService
.
getSystemGraph
(
size
);
}
//系统总图下钻获取schema,schema要分层
@ApiOperation
(
tags
=
""
,
value
=
"按照系统获取schema,要分层"
)
@RequestMapping
(
path
=
"/getSchemaBySystemId"
,
method
=
RequestMethod
.
GET
)
public
Map
<
String
,
List
<
ReturnNode
>>
getSchemaBySystem
(
String
systemId
){
//传入一个系统名称/id,返回系统下的所有schema,注意分层
Map
<
String
,
List
<
ReturnNode
>>
stringListMap
=
systemService
.
getSchemaBySystemId
(
systemId
);
int
size
=
300
;
return
stringListMap
;
// metadataService.getSystemGraph(size);
}
//单个schema的数据,包括表,视图,函数,过程等,列表形势
@ApiOperation
(
tags
=
""
,
value
=
"按照系统获取schema,要分层"
)
@RequestMapping
(
path
=
"/getTableBySchemaId"
,
method
=
RequestMethod
.
GET
)
public
Map
<
String
,
List
<
ReturnNode
>>
getTableBySchemaId
(
String
schemaId
){
//传入一个系统名称/id,返回系统下的所有schema,注意分层
Map
<
String
,
List
<
ReturnNode
>>
stringListMap
=
schemaService
.
getTablesBySchemaId
(
schemaId
);
int
size
=
300
;
return
stringListMap
;
// metadataService.getSystemGraph(size);
}
//关系的分层,图的形势,由里到外
//表的分析,关系分析--表与模型,表与质量,表与标准,表与作业的关系
//表的分析,链路分析,表与其他表的关系,其他表可以下钻,并且可以收缩。
//搜索接口,多个搜索结果,则先弹出列表(对象的全路径),再进行选择哪个对象
//同步数据,从mongo到neo4j,从“环境,系统,schema,表”的结构
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/BaseNode.java
View file @
0c5f98b1
...
@@ -4,6 +4,25 @@ package com.keymobile.metadata.metadataRelation.pojo;
...
@@ -4,6 +4,25 @@ package com.keymobile.metadata.metadataRelation.pojo;
public
class
BaseNode
extends
AllBaseEntity
{
public
class
BaseNode
extends
AllBaseEntity
{
private
String
name
;
//名称
private
String
name
;
//名称
public
String
getCnName
()
{
return
cnName
;
}
public
void
setCnName
(
String
cnName
)
{
this
.
cnName
=
cnName
;
}
public
String
getMetadataId
()
{
return
metadataId
;
}
public
void
setMetadataId
(
String
metadataId
)
{
this
.
metadataId
=
metadataId
;
}
private
String
metadataId
;
private
String
cnName
;
// @Relationship(type= NodeType.REF)
// @Relationship(type= NodeType.REF)
// private Set<BaseRelationship> relationships; //关系列表
// private Set<BaseRelationship> relationships; //关系列表
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jFunction.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jFunction"
)
public
class
Neo4jFunction
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jJob.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jJob"
)
public
class
Neo4jJob
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jProcedure.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jProcedure"
)
public
class
Neo4jProcedure
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jSchema.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jSchema"
)
public
class
Neo4jSchema
extends
BaseNode
{
public
String
getLabel
()
{
return
label
;
}
public
void
setLabel
(
String
label
)
{
this
.
label
=
label
;
}
private
String
label
;
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jSystem.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jSystem"
)
public
class
Neo4jSystem
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jTable.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jTable"
)
public
class
Neo4jTable
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jView.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jView"
)
public
class
Neo4jView
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/mongo/MongoData.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
mongo
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
MongoData
{
private
String
_id
;
private
String
name
;
private
String
cnName
;
private
String
parentId
;
public
List
<
String
>
getSysList
()
{
return
sysList
;
}
public
void
setSysList
(
List
<
String
>
sysList
)
{
this
.
sysList
=
sysList
;
}
private
List
<
String
>
sysList
=
new
ArrayList
<>();
public
String
get_class
()
{
return
_class
;
}
public
void
set_class
(
String
_class
)
{
this
.
_class
=
_class
;
}
private
String
_class
;
public
String
getParentId
()
{
return
parentId
;
}
public
void
setParentId
(
String
parentId
)
{
this
.
parentId
=
parentId
;
}
public
String
get_id
()
{
return
_id
;
}
public
void
set_id
(
String
_id
)
{
this
.
_id
=
_id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getCnName
()
{
return
cnName
;
}
public
void
setCnName
(
String
cnName
)
{
this
.
cnName
=
cnName
;
}
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/Edge.java
→
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/
Return
Edge.java
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
;
public
class
Edge
{
public
class
Return
Edge
{
private
String
edgeId
;
private
String
edgeId
;
private
String
fromId
;
private
String
fromId
;
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/Node.java
→
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/
Return
Node.java
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
;
public
class
Node
{
public
class
Return
Node
{
private
String
name
;
private
String
name
;
private
String
id
;
private
String
id
;
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/ReturnReslult.java
View file @
0c5f98b1
...
@@ -3,7 +3,6 @@ package com.keymobile.metadata.metadataRelation.pojo.returnBean;
...
@@ -3,7 +3,6 @@ package com.keymobile.metadata.metadataRelation.pojo.returnBean;
import
org.apache.commons.collections.map.HashedMap
;
import
org.apache.commons.collections.map.HashedMap
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -20,9 +19,9 @@ public class ReturnReslult {
...
@@ -20,9 +19,9 @@ public class ReturnReslult {
}
}
private
List
<
Edge
>
edges
=
new
ArrayList
<>();
private
List
<
Return
Edge
>
edges
=
new
ArrayList
<>();
private
List
<
Node
>
nodes
=
new
ArrayList
<>();
private
List
<
Return
Node
>
nodes
=
new
ArrayList
<>();
public
Map
<
String
,
MetaModel
>
getMetaModelMap
()
{
public
Map
<
String
,
MetaModel
>
getMetaModelMap
()
{
return
metaModelMap
;
return
metaModelMap
;
...
@@ -35,19 +34,19 @@ public class ReturnReslult {
...
@@ -35,19 +34,19 @@ public class ReturnReslult {
private
Map
<
String
,
MetaModel
>
metaModelMap
=
new
HashedMap
();
private
Map
<
String
,
MetaModel
>
metaModelMap
=
new
HashedMap
();
public
List
<
Edge
>
getEdges
()
{
public
List
<
Return
Edge
>
getEdges
()
{
return
edges
;
return
edges
;
}
}
public
void
setEdges
(
List
<
Edge
>
edges
)
{
public
void
setEdges
(
List
<
Return
Edge
>
edges
)
{
this
.
edges
=
edges
;
this
.
edges
=
edges
;
}
}
public
List
<
Node
>
getNodes
()
{
public
List
<
Return
Node
>
getNodes
()
{
return
nodes
;
return
nodes
;
}
}
public
void
setNodes
(
List
<
Node
>
nodes
)
{
public
void
setNodes
(
List
<
Return
Node
>
nodes
)
{
this
.
nodes
=
nodes
;
this
.
nodes
=
nodes
;
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jFunctionRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jFunction
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jTable
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jFunctionRepository
extends
Neo4jRepository
<
Neo4jFunction
,
Long
>
{
List
<
Neo4jFunction
>
findNeo4jFunctionByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jProcedureRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jFunction
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jProcedure
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jProcedureRepository
extends
Neo4jRepository
<
Neo4jProcedure
,
Long
>
{
List
<
Neo4jProcedure
>
findNeo4jProcedureByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jSchemaRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
org.springframework.data.neo4j.annotation.Query
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jSchemaRepository
extends
Neo4jRepository
<
Neo4jSchema
,
Long
>
{
List
<
Neo4jSchema
>
findNeo4jSchemaByMetadataId
(
String
metadataId
);
@Query
(
"match (n:Neo4jSchema{metadataId:{schemaId}} )-[r:Composition]->(m) return m "
)
List
<
BaseNode
>
getTableBySchemaId
(
@Param
(
"schemaId"
)
String
schemaId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jSystemRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSystem
;
import
org.springframework.data.neo4j.annotation.Query
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jSystemRepository
extends
Neo4jRepository
<
Neo4jSystem
,
Long
>
{
List
<
Neo4jSystem
>
findNeo4jSystemByMetadataId
(
String
metadataId
);
// @Query("MATCH p=(n:MetaData {metadataId:{parentId}})-[r:Composition]->(m) RETURN m limit {limit} ")
@Query
(
"match (n:Neo4jSystem{metadataId:{systemId}} )-[r:Composition]->(m) return m "
)
List
<
Neo4jSchema
>
getSchemaBySystemId
(
@Param
(
"systemId"
)
String
systemId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jTableRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jTable
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jTableRepository
extends
Neo4jRepository
<
Neo4jTable
,
Long
>
{
List
<
Neo4jTable
>
findNeo4jTableByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jViewRepository.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jProcedure
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jView
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jViewRepository
extends
Neo4jRepository
<
Neo4jView
,
Long
>
{
List
<
Neo4jView
>
findNeo4jViewByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
;
import
com.keymobile.metadata.metadataRelation.pojo.mongo.MongoData
;
import
org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler
;
import
org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.RowMapper
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.AsyncConfigurer
;
import
org.springframework.scheduling.annotation.AsyncConfigurer
;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
org.springframework.scheduling.annotation.EnableAsync
;
...
@@ -10,6 +13,9 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
...
@@ -10,6 +13,9 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Method
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.List
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.Executor
;
@Service
@Service
...
@@ -19,12 +25,38 @@ public class AsyncDataFromMongoToNeo4j {
...
@@ -19,12 +25,38 @@ public class AsyncDataFromMongoToNeo4j {
@Autowired
@Autowired
private
IMetadataService
metadataService
;
private
IMetadataService
metadataService
;
@Autowired
private
JdbcTemplate
jdbcTemplate
;
@Async
@Async
public
void
asyncDataFromMongoToNeo4j
(
String
catalogName
)
{
public
void
asyncDataFromMongoToNeo4j
(
String
catalogName
)
{
metadataService
.
syschroRelationFromMongo
(
catalogName
);
String
sql
=
"select scope_id, scope_name from auth_scope"
;
metadataService
.
deleteTempNodeByCatalogName
(
catalogName
);
List
<
MongoData
>
mongoDataList
=
jdbcTemplate
.
query
(
sql
,
new
RowMapper
<
MongoData
>()
{
metadataService
.
createTempNode
(
catalogName
);
@Override
public
MongoData
mapRow
(
ResultSet
resultSet
,
int
i
)
throws
SQLException
{
MongoData
user
=
new
MongoData
();
user
.
set_id
(
resultSet
.
getString
(
"scope_id"
));
user
.
setName
(
resultSet
.
getString
(
"scope_name"
));
user
.
setCnName
(
resultSet
.
getString
(
"scope_name"
));
user
.
set_class
(
"System"
);
return
user
;
}
});
metadataService
.
syschroMetadataFromMongo
(
catalogName
,
mongoDataList
);
//先同步元数据,纵向关系,root开始
//再同步元数据的横向关系
// metadataService.syschroRelationFromMongo(catalogName);
// // 同步其他数据(模型,标准,质量等)
//
// //同步作业内部的临时数据
// metadataService.deleteTempNodeByCatalogName(catalogName);
// metadataService.createTempNode(catalogName);
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/IBaseRelationshipService.java
View file @
0c5f98b1
...
@@ -3,7 +3,6 @@ package com.keymobile.metadata.metadataRelation.service;
...
@@ -3,7 +3,6 @@ package com.keymobile.metadata.metadataRelation.service;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
java.util.List
;
import
java.util.List
;
...
@@ -67,4 +66,6 @@ public interface IBaseRelationshipService {
...
@@ -67,4 +66,6 @@ public interface IBaseRelationshipService {
* @desc 根据节点名称, 获取所有有关系的节点
* @desc 根据节点名称, 获取所有有关系的节点
*/
*/
List
<
BaseNode
>
findMetadataByStartName
(
String
startName
);
List
<
BaseNode
>
findMetadataByStartName
(
String
startName
);
void
saveRelation
(
String
startMetadataId
,
String
endMetadataid
,
String
composition
);
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/IMetadataService.java
View file @
0c5f98b1
...
@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.service;
...
@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.service;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.TempNode
;
import
com.keymobile.metadata.metadataRelation.pojo.TempNode
;
import
com.keymobile.metadata.metadataRelation.pojo.mongo.MongoData
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
java.util.List
;
import
java.util.List
;
...
@@ -97,4 +98,6 @@ public interface IMetadataService {
...
@@ -97,4 +98,6 @@ public interface IMetadataService {
Map
<
String
,
String
>
getAutoMatchByInput
(
String
name
,
int
countInt
,
int
offsetInt
);
Map
<
String
,
String
>
getAutoMatchByInput
(
String
name
,
int
countInt
,
int
offsetInt
);
ReturnReslult
searchGraphBySystem
(
String
metadataId
,
int
layerLong
);
ReturnReslult
searchGraphBySystem
(
String
metadataId
,
int
layerLong
);
void
syschroMetadataFromMongo
(
String
catalogName
,
List
<
MongoData
>
mongoDataList
);
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/ISchemaService.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ISchemaService
{
Map
<
String
,
String
>
getSchemaBySystem
(
String
systemId
);
Map
<
String
,
List
<
ReturnNode
>>
getTablesBySchemaId
(
String
schemaId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/service/ISystemService.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ISystemService
{
Map
<
String
,
List
<
ReturnNode
>>
getSchemaBySystemId
(
String
systemId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/BaseRelationshipServiceImpl.java
View file @
0c5f98b1
...
@@ -3,6 +3,8 @@ package com.keymobile.metadata.metadataRelation.service.impl;
...
@@ -3,6 +3,8 @@ 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.*
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSystem
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
org.neo4j.driver.v1.Driver
;
import
org.neo4j.driver.v1.Driver
;
...
@@ -165,4 +167,18 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
...
@@ -165,4 +167,18 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
// }
// }
return
null
;
return
null
;
}
}
@Override
public
void
saveRelation
(
String
startId
,
String
endId
,
String
composition
)
{
Neo4jConfig
neo4jConfig
=
new
Neo4jConfig
();
Driver
neo4jConnection
=
neo4jConfig
.
getNeo4jConnection
();
Session
session
=
neo4jConnection
.
session
();
// match (n{metadataId:"Column=1=d9c2d67e56a3428e8e4f22918782437f"}),
// (m{metadataId:"Table=1=d644b631fa8c434e928bcd1f1665b060"})
// create (n)<-[r:Composition]-(m)
// return n,m,r
String
cypher
=
" match (n{metadataId:\""
+
startId
+
"\"}),(m{metadataId:\""
+
endId
+
"\"}) merge (n)-[r:"
+
composition
+
"]->(m) return n,m,r "
;
session
.
run
(
cypher
);
logger
.
info
(
"运行保存关系完成:"
+
cypher
);
}
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MetadataServiceImpl.java
View file @
0c5f98b1
This diff is collapsed.
Click to expand it.
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MongoDbServiceImpl.java
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.pojo.RelationMongo
;
import
com.keymobile.metadata.metadataRelation.pojo.RelationMongo
;
import
com.keymobile.metadata.metadataRelation.pojo.mongo.MongoData
;
import
org.bson.Document
;
import
org.bson.Document
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -9,6 +10,7 @@ import org.springframework.data.domain.Pageable;
...
@@ -9,6 +10,7 @@ import org.springframework.data.domain.Pageable;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -22,12 +24,14 @@ public class MongoDbServiceImpl {
...
@@ -22,12 +24,14 @@ public class MongoDbServiceImpl {
private
MongoTemplate
mongoTemplate
;
private
MongoTemplate
mongoTemplate
;
/**
/**
* 查询所有
* 查询所有
*
*
* @return
* @return
*/
*/
public
List
<
RelationMongo
>
findAll
(
String
catalogName
)
{
public
List
<
RelationMongo
>
findAll
RelationByCatalog
(
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
);
...
@@ -39,6 +43,50 @@ public class MongoDbServiceImpl {
...
@@ -39,6 +43,50 @@ public class MongoDbServiceImpl {
}
}
/**
/**
* 获取领域,获取系统,获取数据库
* */
/**
* 查询所有数据库
*
* @return
*/
public
List
<
MongoData
>
findDatabaseByparentId
(
String
catalogName
,
String
collectionName
)
{
logger
.
info
(
"开始从mongo获取元数据:"
+
catalogName
);
try
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"parentId"
).
is
(
catalogName
));
List
<
MongoData
>
mongoDataList
=
mongoTemplate
.
find
(
query
,
MongoData
.
class
,
collectionName
);
return
mongoDataList
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
/**
* 查询所有数据库
*
* @return
*/
public
List
<
MongoData
>
findDataByparentId
(
String
parentId
,
String
collectionName
)
{
logger
.
info
(
"开始从mongo获取元数据:"
+
parentId
);
try
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"parentId"
).
is
(
parentId
));
List
<
MongoData
>
mongoDataList
=
mongoTemplate
.
find
(
query
,
MongoData
.
class
,
collectionName
);
return
mongoDataList
;
// mongoTemplate.findAll(MongoData.class, "md_relation_" + catalogName);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
/**
* 查询所有
* 查询所有
*
*
* @return
* @return
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MultiModelServiceImpl.java
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.config.Neo4jConfig
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.
Return
Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.MetaModel
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.service.MultiModelService
;
import
com.keymobile.metadata.metadataRelation.service.MultiModelService
;
import
com.keymobile.metadata.metadataRelation.util.Neo4jTool
;
import
org.hibernate.boot.Metadata
;
import
org.neo4j.driver.v1.*
;
import
org.neo4j.driver.v1.types.Node
;
import
org.neo4j.driver.v1.types.Path
;
import
org.neo4j.driver.v1.types.Relationship
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.system.ApplicationHome
;
import
org.springframework.boot.system.ApplicationHome
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
sun.misc.BASE64Encoder
;
import
sun.misc.BASE64Encoder
;
import
sun.rmi.runtime.Log
;
import
javax.persistence.Table
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -257,7 +249,7 @@ public class MultiModelServiceImpl implements MultiModelService {
...
@@ -257,7 +249,7 @@ public class MultiModelServiceImpl implements MultiModelService {
if
(!
returnMetadata
.
contains
(
toId
)){
if
(!
returnMetadata
.
contains
(
toId
)){
continue
;
continue
;
}
}
Edge
edge
=
new
Edge
();
ReturnEdge
edge
=
new
Return
Edge
();
edge
.
setEdgeId
(
fromId
+
"_"
+
toId
);
edge
.
setEdgeId
(
fromId
+
"_"
+
toId
);
MetaData
startNode
=
metaDataMapLong
.
get
(
fromId
);
MetaData
startNode
=
metaDataMapLong
.
get
(
fromId
);
...
@@ -280,7 +272,7 @@ public class MultiModelServiceImpl implements MultiModelService {
...
@@ -280,7 +272,7 @@ public class MultiModelServiceImpl implements MultiModelService {
if
(!
returnMetadata
.
contains
(
toId
)){
if
(!
returnMetadata
.
contains
(
toId
)){
continue
;
continue
;
}
}
Edge
edge
=
new
Edge
();
ReturnEdge
edge
=
new
Return
Edge
();
edge
.
setEdgeId
(
fromId
+
"_"
+
toId
);
edge
.
setEdgeId
(
fromId
+
"_"
+
toId
);
MetaData
startNode
=
metaDataMapLong
.
get
(
fromId
);
MetaData
startNode
=
metaDataMapLong
.
get
(
fromId
);
...
@@ -297,7 +289,7 @@ public class MultiModelServiceImpl implements MultiModelService {
...
@@ -297,7 +289,7 @@ public class MultiModelServiceImpl implements MultiModelService {
for
(
Long
returnMeta:
returnMetadata
){
for
(
Long
returnMeta:
returnMetadata
){
MetaData
metaData
=
metaDataMapLong
.
get
(
returnMeta
);
MetaData
metaData
=
metaDataMapLong
.
get
(
returnMeta
);
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
.
Node
returnNode
=
new
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
.
Node
();
ReturnNode
returnNode
=
new
Return
Node
();
returnNode
.
setId
(
metaData
.
getMetadataId
());
returnNode
.
setId
(
metaData
.
getMetadataId
());
returnNode
.
setName
(
metaData
.
getName
());
returnNode
.
setName
(
metaData
.
getName
());
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/SchemaServiceImpl.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSchemaRepository
;
import
com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository
;
import
com.keymobile.metadata.metadataRelation.service.ISchemaService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
SchemaServiceImpl
implements
ISchemaService
{
@Autowired
private
Neo4jSchemaRepository
neo4jSchemaRepository
;
@Override
public
Map
<
String
,
String
>
getSchemaBySystem
(
String
systemId
)
{
return
null
;
}
@Override
public
Map
<
String
,
List
<
ReturnNode
>>
getTablesBySchemaId
(
String
schemaId
)
{
Map
<
String
,
List
<
ReturnNode
>>
schemaMap
=
new
HashMap
<>();
List
<
BaseNode
>
baseNodeList
=
neo4jSchemaRepository
.
getTableBySchemaId
(
schemaId
);
for
(
BaseNode
baseNode:
baseNodeList
){
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
baseNode
.
getMetadataId
());
returnNode
.
setName
(
baseNode
.
getName
());
if
(
baseNode
.
getMetadataId
().
startsWith
(
"Table="
)){
returnNode
.
setType
(
"表"
);
if
(
schemaMap
.
containsKey
(
"表"
)){
List
<
ReturnNode
>
returnNodeList
=
schemaMap
.
get
(
"表"
);
returnNodeList
.
add
(
returnNode
);
}
else
{
List
<
ReturnNode
>
returnNodeList
=
new
ArrayList
<>();
returnNodeList
.
add
(
returnNode
);
schemaMap
.
put
(
"表"
,
returnNodeList
);
}
}
else
if
(
baseNode
.
getMetadataId
().
startsWith
(
"View="
)){
returnNode
.
setType
(
"视图"
);
if
(
schemaMap
.
containsKey
(
"视图"
)){
List
<
ReturnNode
>
returnNodeList
=
schemaMap
.
get
(
"视图"
);
returnNodeList
.
add
(
returnNode
);
}
else
{
List
<
ReturnNode
>
returnNodeList
=
new
ArrayList
<>();
returnNodeList
.
add
(
returnNode
);
schemaMap
.
put
(
"视图"
,
returnNodeList
);
}
}
else
if
(
baseNode
.
getMetadataId
().
startsWith
(
"Function="
)){
returnNode
.
setType
(
"函数"
);
if
(
schemaMap
.
containsKey
(
"函数"
)){
List
<
ReturnNode
>
returnNodeList
=
schemaMap
.
get
(
"函数"
);
returnNodeList
.
add
(
returnNode
);
}
else
{
List
<
ReturnNode
>
returnNodeList
=
new
ArrayList
<>();
returnNodeList
.
add
(
returnNode
);
schemaMap
.
put
(
"函数"
,
returnNodeList
);
}
}
else
if
(
baseNode
.
getMetadataId
().
startsWith
(
"Procedure="
)){
returnNode
.
setType
(
"存储过程"
);
if
(
schemaMap
.
containsKey
(
"存储过程"
)){
List
<
ReturnNode
>
returnNodeList
=
schemaMap
.
get
(
"存储过程"
);
returnNodeList
.
add
(
returnNode
);
}
else
{
List
<
ReturnNode
>
returnNodeList
=
new
ArrayList
<>();
returnNodeList
.
add
(
returnNode
);
schemaMap
.
put
(
"存储过程"
,
returnNodeList
);
}
}
else
{
returnNode
.
setType
(
"其他类型"
);
if
(
schemaMap
.
containsKey
(
"其他类型"
)){
List
<
ReturnNode
>
returnNodeList
=
schemaMap
.
get
(
"其他类型"
);
returnNodeList
.
add
(
returnNode
);
}
else
{
List
<
ReturnNode
>
returnNodeList
=
new
ArrayList
<>();
returnNodeList
.
add
(
returnNode
);
schemaMap
.
put
(
"其他类型"
,
returnNodeList
);
}
}
}
return
schemaMap
;
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/SystemServiceImpl.java
0 → 100644
View file @
0c5f98b1
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jSchema
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnNode
;
import
com.keymobile.metadata.metadataRelation.respository.metadata.Neo4jSystemRepository
;
import
com.keymobile.metadata.metadataRelation.service.ISystemService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
SystemServiceImpl
implements
ISystemService
{
@Autowired
private
Neo4jSystemRepository
neo4jSystemRepository
;
@Override
public
Map
<
String
,
List
<
ReturnNode
>>
getSchemaBySystemId
(
String
systemId
)
{
Map
<
String
,
List
<
ReturnNode
>>
schemaMap
=
new
HashMap
<>();
List
<
Neo4jSchema
>
neo4jSchemaList
=
neo4jSystemRepository
.
getSchemaBySystemId
(
systemId
);
for
(
Neo4jSchema
neo4jSchema:
neo4jSchemaList
){
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
neo4jSchema
.
getMetadataId
());
returnNode
.
setName
(
neo4jSchema
.
getName
());
returnNode
.
setType
(
"Schema"
);
String
label
=
neo4jSchema
.
getLabel
();
if
(
label
==
null
||
label
.
equals
(
""
)){
label
=
"未分层"
;
}
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
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment