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
96980932
Commit
96980932
authored
Jan 04, 2022
by
qiuchaofei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.添加etljob,etlscript模型,2修改table的查找,3修改同步流向关系的方法
parent
a7b76387
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
102 additions
and
37 deletions
+102
-37
RelationalGraphController.java
...etadataRelation/controller/RelationalGraphController.java
+0
-3
Neo4jETLJob.java
.../metadata/metadataRelation/pojo/metadata/Neo4jETLJob.java
+3
-2
Neo4jETLScript.java
...tadata/metadataRelation/pojo/metadata/Neo4jETLScript.java
+8
-0
Neo4jETLJobRepository.java
...aRelation/respository/metadata/Neo4jETLJobRepository.java
+15
-0
Neo4jETLScriptRepository.java
...lation/respository/metadata/Neo4jETLScriptRepository.java
+13
-0
Neo4jTableRepository.java
...taRelation/respository/metadata/Neo4jTableRepository.java
+11
-2
AsyncDataFromMongoToNeo4j.java
...a/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
+1
-4
MetadataServiceImpl.java
...ta/metadataRelation/service/impl/MetadataServiceImpl.java
+0
-0
MongoDbServiceImpl.java
...ata/metadataRelation/service/impl/MongoDbServiceImpl.java
+13
-0
TableServiceImpl.java
...adata/metadataRelation/service/impl/TableServiceImpl.java
+38
-26
No files found.
src/main/java/com/keymobile/metadata/metadataRelation/controller/RelationalGraphController.java
View file @
96980932
...
@@ -145,9 +145,6 @@ public class RelationalGraphController {
...
@@ -145,9 +145,6 @@ public class RelationalGraphController {
@RequestMapping
(
path
=
"/getTableBySchemaIdAndKeyWord"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
path
=
"/getTableBySchemaIdAndKeyWord"
,
method
=
RequestMethod
.
GET
)
public
Map
<
String
,
List
<
ReturnNode
>>
getTableBySchemaIdAndKeyWord
(
String
schemaId
,
String
keyWord
){
public
Map
<
String
,
List
<
ReturnNode
>>
getTableBySchemaIdAndKeyWord
(
String
schemaId
,
String
keyWord
){
//传入一个系统名称/id,返回系统下的所有schema,注意分层
//传入一个系统名称/id,返回系统下的所有schema,注意分层
Map
<
String
,
List
<
ReturnNode
>>
stringListMap
=
schemaService
.
getTablesBySchemaId
(
schemaId
);
return
tableService
.
autoMatchBySchemaIdAndInputWord
(
schemaId
,
keyWord
);
return
tableService
.
autoMatchBySchemaIdAndInputWord
(
schemaId
,
keyWord
);
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jJob.java
→
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4j
ETL
Job.java
View file @
96980932
...
@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.pojo.metadata;
...
@@ -3,6 +3,7 @@ package com.keymobile.metadata.metadataRelation.pojo.metadata;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jJob"
)
@NodeEntity
(
label
=
"Neo4jETLJob"
)
public
class
Neo4jJob
extends
BaseNode
{
public
class
Neo4jETLJob
extends
BaseNode
{
}
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/metadata/Neo4jETLScript.java
0 → 100644
View file @
96980932
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseNode
;
import
org.neo4j.ogm.annotation.NodeEntity
;
@NodeEntity
(
label
=
"Neo4jETLScript"
)
public
class
Neo4jETLScript
extends
BaseNode
{
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jETLJobRepository.java
0 → 100644
View file @
96980932
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jETLJob
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jFunction
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jETLJobRepository
extends
Neo4jRepository
<
Neo4jETLJob
,
Long
>
{
List
<
Neo4jETLJob
>
findNeo4jETLJobByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jETLScriptRepository.java
0 → 100644
View file @
96980932
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
.
metadata
;
import
com.keymobile.metadata.metadataRelation.pojo.metadata.Neo4jETLScript
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
Neo4jETLScriptRepository
extends
Neo4jRepository
<
Neo4jETLScript
,
Long
>
{
List
<
Neo4jETLScript
>
findNeo4jETLScriptByMetadataId
(
String
metadataId
);
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/metadata/Neo4jTableRepository.java
View file @
96980932
...
@@ -13,10 +13,19 @@ import java.util.List;
...
@@ -13,10 +13,19 @@ import java.util.List;
public
interface
Neo4jTableRepository
extends
Neo4jRepository
<
Neo4jTable
,
Long
>
{
public
interface
Neo4jTableRepository
extends
Neo4jRepository
<
Neo4jTable
,
Long
>
{
List
<
Neo4jTable
>
findNeo4jTableByMetadataId
(
String
metadataId
);
List
<
Neo4jTable
>
findNeo4jTableByMetadataId
(
String
metadataId
);
@Query
(
"match (n{metadataId:{tableId}} )<-[r:流向]-(m) return m "
)
@Query
(
"match (n{metadataId:{tableId}} )<-[r:流向]-(m
1)<-[r1:流向]-(m
) return m "
)
List
<
BaseNode
>
getSourceTable
(
@Param
(
"tableId"
)
String
tableId
);
List
<
BaseNode
>
getSourceTable
(
@Param
(
"tableId"
)
String
tableId
);
@Query
(
"match (n{metadataId:{tableId}} )-[r:流向]->(m) return m "
)
@Query
(
"match (n{metadataId:{tableId}} )-[r
1:流向]->(m1)-[r
:流向]->(m) return m "
)
List
<
BaseNode
>
getTargetTable
(
@Param
(
"tableId"
)
String
tableId
);
List
<
BaseNode
>
getTargetTable
(
@Param
(
"tableId"
)
String
tableId
);
@Query
(
"match (n{metadataId:{tableId}} )<-[r1:流向]-(m1) <-[r:Composition]-(m) return m "
)
List
<
BaseNode
>
getSourceEtlJob
(
@Param
(
"tableId"
)
String
tableId
);
@Query
(
"match (n{metadataId:{tableId}} )-[r1:流向]->(m1) <-[r:Composition]-(m) return m "
)
List
<
BaseNode
>
getTargetEtlJob
(
@Param
(
"tableId"
)
String
tableId
);
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
View file @
96980932
...
@@ -32,13 +32,10 @@ public class AsyncDataFromMongoToNeo4j {
...
@@ -32,13 +32,10 @@ public class AsyncDataFromMongoToNeo4j {
@Autowired
@Autowired
private
JdbcTemplate
jdbcTemplate
;
private
JdbcTemplate
jdbcTemplate
;
@Async
@Async
public
void
asyncDataFromMongoToNeo4j
(
String
catalogName
)
{
public
void
asyncDataFromMongoToNeo4j
(
String
catalogName
)
{
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
String
sql
=
"select scope_id, scope_name from auth_scope
"
;
String
sql
=
"select scope_id, scope_name from auth_scope
where domain_id ="
+
catalogName
;
List
<
MongoData
>
mongoDataList
=
jdbcTemplate
.
query
(
sql
,
new
RowMapper
<
MongoData
>()
{
List
<
MongoData
>
mongoDataList
=
jdbcTemplate
.
query
(
sql
,
new
RowMapper
<
MongoData
>()
{
@Override
@Override
public
MongoData
mapRow
(
ResultSet
resultSet
,
int
i
)
throws
SQLException
{
public
MongoData
mapRow
(
ResultSet
resultSet
,
int
i
)
throws
SQLException
{
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MetadataServiceImpl.java
View file @
96980932
This diff is collapsed.
Click to expand it.
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MongoDbServiceImpl.java
View file @
96980932
...
@@ -23,6 +23,7 @@ public class MongoDbServiceImpl {
...
@@ -23,6 +23,7 @@ public class MongoDbServiceImpl {
@Autowired
@Autowired
private
MongoTemplate
mongoTemplate
;
private
MongoTemplate
mongoTemplate
;
private
static
final
String
PREFIX_MD_RELATION
=
"md_relation_"
;
...
@@ -125,4 +126,16 @@ public class MongoDbServiceImpl {
...
@@ -125,4 +126,16 @@ public class MongoDbServiceImpl {
query
.
with
(
pageable
);
query
.
with
(
pageable
);
return
mongoTemplate
.
count
(
query
,
Document
.
class
,
PREFIX_MD_RELATION_TEMP_NODE
+
catalogName
);
return
mongoTemplate
.
count
(
query
,
Document
.
class
,
PREFIX_MD_RELATION_TEMP_NODE
+
catalogName
);
}
}
public
List
<
Document
>
findRelationByPage
(
Pageable
pageable
,
String
catalogName
)
{
Query
query
=
new
Query
(
new
Criteria
().
orOperator
(
Criteria
.
where
(
"type"
).
is
(
"Input"
),
Criteria
.
where
(
"type"
).
is
(
"Output"
)));
query
.
with
(
pageable
);
return
mongoTemplate
.
find
(
query
,
Document
.
class
,
PREFIX_MD_RELATION
+
catalogName
);
}
public
long
countRelation
(
Pageable
pageable
,
String
catalogName
)
{
Query
query
=
new
Query
(
new
Criteria
().
orOperator
(
Criteria
.
where
(
"type"
).
is
(
"Input"
),
Criteria
.
where
(
"type"
).
is
(
"Output"
)));
query
.
with
(
pageable
);
return
mongoTemplate
.
count
(
query
,
Document
.
class
,
PREFIX_MD_RELATION
+
catalogName
);
}
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/TableServiceImpl.java
View file @
96980932
...
@@ -50,23 +50,23 @@ public class TableServiceImpl implements ITableService {
...
@@ -50,23 +50,23 @@ public class TableServiceImpl implements ITableService {
//作业
//作业
List
<
ReturnNode
>
etlJobs
=
new
ArrayList
<>();
List
<
ReturnNode
>
etlJobs
=
new
ArrayList
<>();
//获取关联作业,
//获取关联作业,
List
<
BaseNode
>
sourceBaseNodes
=
neo4jTableRepository
.
getSource
Table
(
tableId
);
List
<
BaseNode
>
sourceBaseNodes
=
neo4jTableRepository
.
getSource
EtlJob
(
tableId
);
for
(
BaseNode
sourceBaseNode:
sourceBaseNodes
){
for
(
BaseNode
sourceBaseNode:
sourceBaseNodes
){
if
(
sourceBaseNode
.
getMetadataId
().
startsWith
(
"
Procedure
="
)){
if
(
sourceBaseNode
.
getMetadataId
().
startsWith
(
"
ETLJob
="
)){
ReturnNode
returnNode
=
new
ReturnNode
();
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
sourceBaseNode
.
getMetadataId
());
returnNode
.
setId
(
sourceBaseNode
.
getMetadataId
());
returnNode
.
setName
(
sourceBaseNode
.
getName
());
returnNode
.
setName
(
sourceBaseNode
.
getName
());
returnNode
.
setType
(
"
Procedure
"
);
returnNode
.
setType
(
"
ETLJob
"
);
etlJobs
.
add
(
returnNode
);
etlJobs
.
add
(
returnNode
);
}
}
}
}
List
<
BaseNode
>
targetBaseNodes
=
neo4jTableRepository
.
getTarget
Table
(
tableId
);
List
<
BaseNode
>
targetBaseNodes
=
neo4jTableRepository
.
getTarget
EtlJob
(
tableId
);
for
(
BaseNode
targetBaseNode:
targetBaseNodes
){
for
(
BaseNode
targetBaseNode:
targetBaseNodes
){
if
(
targetBaseNode
.
getMetadataId
().
startsWith
(
"
Procedure
="
)){
if
(
targetBaseNode
.
getMetadataId
().
startsWith
(
"
ETLJob
="
)){
ReturnNode
returnNode
=
new
ReturnNode
();
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
targetBaseNode
.
getMetadataId
());
returnNode
.
setId
(
targetBaseNode
.
getMetadataId
());
returnNode
.
setName
(
targetBaseNode
.
getName
());
returnNode
.
setName
(
targetBaseNode
.
getName
());
returnNode
.
setType
(
"
Procedure
"
);
returnNode
.
setType
(
"
ETLJob
"
);
etlJobs
.
add
(
returnNode
);
etlJobs
.
add
(
returnNode
);
}
}
}
}
...
@@ -81,34 +81,46 @@ public class TableServiceImpl implements ITableService {
...
@@ -81,34 +81,46 @@ public class TableServiceImpl implements ITableService {
relationObjects
.
put
(
"模型"
,
modelList
);
relationObjects
.
put
(
"模型"
,
modelList
);
//资产
//资产
List
<
ReturnNode
>
assetList
=
new
ArrayList
<>();
List
<
ReturnNode
>
assetList
=
new
ArrayList
<>();
List
<
Map
<
String
,
String
>>
dataAssetGraphInfos
=
dataAssertRemoteService
.
getDataAssetGraphInfoByMetadataId
(
tableId
);
try
{
for
(
Map
<
String
,
String
>
map
:
dataAssetGraphInfos
){
List
<
Map
<
String
,
String
>>
dataAssetGraphInfos
=
dataAssertRemoteService
.
getDataAssetGraphInfoByMetadataId
(
tableId
);
ReturnNode
returnNode
=
new
ReturnNode
();
for
(
Map
<
String
,
String
>
map
:
dataAssetGraphInfos
){
returnNode
.
setId
(
map
.
get
(
"dataAssetId"
));
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setName
(
map
.
get
(
"enName"
));
returnNode
.
setId
(
map
.
get
(
"dataAssetId"
));
returnNode
.
setCnName
(
map
.
get
(
"cnName"
));
returnNode
.
setName
(
map
.
get
(
"enName"
));
assetList
.
add
(
returnNode
);
returnNode
.
setCnName
(
map
.
get
(
"cnName"
));
assetList
.
add
(
returnNode
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
relationObjects
.
put
(
"资产"
,
assetList
);
relationObjects
.
put
(
"资产"
,
assetList
);
//标准
//标准
List
<
ReturnNode
>
standardList
=
new
ArrayList
<>();
List
<
ReturnNode
>
standardList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
maps
=
new
HashMap
<>();
Map
<
String
,
Object
>
maps
=
new
HashMap
<>();
maps
.
put
(
"metadataId"
,
tableId
);
maps
.
put
(
"metadataId"
,
tableId
);
Map
<
String
,
Object
>
standardMaps
=
dataStandardRemoteService
.
findStandardByMetadatId
(
1
,
10
,
maps
);
List
<
LinkedHashMap
<
String
,
Object
>>
contentList
=
(
List
<
LinkedHashMap
<
String
,
Object
>>)
standardMaps
.
get
(
"content"
);
for
(
LinkedHashMap
<
String
,
Object
>
contentString:
contentList
){
String
standardId
=
(
String
)
contentString
.
get
(
"standardId"
);
String
enName
=
(
String
)
contentString
.
get
(
"enName"
);
String
cnName
=
(
String
)
contentString
.
get
(
"cnName"
);
ReturnNode
returnNode
=
new
ReturnNode
();
try
{
returnNode
.
setId
(
standardId
);
Map
<
String
,
Object
>
standardMaps
=
dataStandardRemoteService
.
findStandardByMetadatId
(
1
,
10
,
returnNode
.
setName
(
enName
);
maps
);
returnNode
.
setCnName
(
cnName
);
List
<
LinkedHashMap
<
String
,
Object
>>
contentList
=
(
List
<
LinkedHashMap
<
String
,
Object
>>)
standardMaps
.
get
(
"content"
);
standardList
.
add
(
returnNode
);
for
(
LinkedHashMap
<
String
,
Object
>
contentString:
contentList
){
String
standardId
=
(
String
)
contentString
.
get
(
"standardId"
);
String
enName
=
(
String
)
contentString
.
get
(
"enName"
);
String
cnName
=
(
String
)
contentString
.
get
(
"cnName"
);
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
standardId
);
returnNode
.
setName
(
enName
);
returnNode
.
setCnName
(
cnName
);
standardList
.
add
(
returnNode
);
}
relationObjects
.
put
(
"标准"
,
standardList
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
relationObjects
.
put
(
"标准"
,
standardList
);
List
<
ReturnNode
>
neo4jTableList
=
getCurrentTableInfo
(
tableId
);
List
<
ReturnNode
>
neo4jTableList
=
getCurrentTableInfo
(
tableId
);
relationObjects
.
put
(
"当前表"
,
neo4jTableList
);
relationObjects
.
put
(
"当前表"
,
neo4jTableList
);
...
...
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