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
f597c9c3
Commit
f597c9c3
authored
Apr 25, 2022
by
qiuchaofei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1修改返回结果,表嵌套字段。字段级关系独立一个map
parent
cf1af814
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
20 deletions
+49
-20
ReturnNode.java
...metadata/metadataRelation/pojo/returnBean/ReturnNode.java
+13
-0
ReturnReslult.java
...adata/metadataRelation/pojo/returnBean/ReturnReslult.java
+9
-0
TableServiceImpl.java
...adata/metadataRelation/service/impl/TableServiceImpl.java
+27
-20
No files found.
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/ReturnNode.java
View file @
f597c9c3
package
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
ReturnNode
{
...
...
@@ -15,10 +17,21 @@ public class ReturnNode {
private
String
cnName
;
private
String
dataPath
;
private
Map
<
String
,
String
>
attributeMaps
=
new
HashMap
<>();
private
Map
<
String
,
String
>
relationMaps
=
new
HashMap
<>();
public
List
<
ReturnNode
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
ReturnNode
>
children
)
{
this
.
children
=
children
;
}
private
List
<
ReturnNode
>
children
=
new
ArrayList
<>();
public
Map
<
String
,
String
>
getRelationMaps
()
{
return
relationMaps
;
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/ReturnReslult.java
View file @
f597c9c3
...
...
@@ -18,6 +18,15 @@ public class ReturnReslult {
this
.
count
=
count
;
}
public
List
<
ReturnEdge
>
getChildrenEdges
()
{
return
childrenEdges
;
}
public
void
setChildrenEdges
(
List
<
ReturnEdge
>
childrenEdges
)
{
this
.
childrenEdges
=
childrenEdges
;
}
private
List
<
ReturnEdge
>
childrenEdges
=
new
ArrayList
<>();
private
List
<
ReturnEdge
>
edges
=
new
ArrayList
<>();
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/TableServiceImpl.java
View file @
f597c9c3
...
...
@@ -456,6 +456,7 @@ public class TableServiceImpl implements ITableService {
long
timeStart
=
System
.
currentTimeMillis
();
Map
<
String
,
ReturnNode
>
returnNodeMap
=
new
HashMap
<>();
Map
<
String
,
ReturnEdge
>
returnEdgeMap
=
new
HashMap
<>();
Map
<
String
,
ReturnEdge
>
childrenEdgeMap
=
new
HashMap
<>();
Neo4jConfig
neo4jConfig
=
new
Neo4jConfig
();
Driver
neo4jConnection
=
neo4jConfig
.
getNeo4jConnection
();
...
...
@@ -556,11 +557,11 @@ public class TableServiceImpl implements ITableService {
}
}
int
respossitoryCount
=
0
;
int
respossitoryTime
=
0
;
Map
<
String
,
String
>
withRelationColumns
=
new
HashMap
<>();
long
time101
=
System
.
currentTimeMillis
();
List
<
Neo4jColumn
>
neo4jColumns
=
neo4jTableRepository
.
getColumnByTableId
(
tableId
);
long
time102
=
System
.
currentTimeMillis
();
...
...
@@ -568,7 +569,7 @@ public class TableServiceImpl implements ITableService {
respossitoryCount
++;
for
(
Neo4jColumn
neo4jColumn:
neo4jColumns
){
String
currentColumnId
=
neo4jColumn
.
getMetadataId
();
withRelationColumns
.
put
(
currentColumnId
,
""
);
String
targetColumncypher
=
"match (m:Neo4jColumn{metadataId:\""
+
currentColumnId
+
"\"})-[r1:流向]->(n1)-[r0:TempRelation*0..]->(m2)-[r:流向]->(m1) return m1"
;
long
time30
=
System
.
currentTimeMillis
();
...
...
@@ -595,15 +596,17 @@ public class TableServiceImpl implements ITableService {
returnNode
.
setCnName
(
metaData
.
getCnName
());
returnNode
.
setType
(
"Column"
);
returnNode
.
setDataPath
(
metaData
.
getPath
());
returnNodeMap
.
put
(
returnNode
.
getId
(),
returnNode
);
//
returnNodeMap.put(returnNode.getId(),returnNode);
withRelationColumns
.
put
(
returnNode
.
getId
(),
""
);
ReturnEdge
returnEdge
=
new
ReturnEdge
();
String
edgeId
=
currentColumnId
+
"_"
+
returnNode
.
getId
();
returnEdge
.
setFromId
(
currentColumnId
);
returnEdge
.
setToId
(
returnNode
.
getId
());
returnEdge
.
setType
(
"To"
);
returnEdge
.
setEdgeId
(
edgeId
);
retur
nEdgeMap
.
put
(
edgeId
,
returnEdge
);
childre
nEdgeMap
.
put
(
edgeId
,
returnEdge
);
}
}
}
...
...
@@ -634,19 +637,19 @@ public class TableServiceImpl implements ITableService {
returnNode
.
setType
(
"Column"
);
returnNodeMap
.
put
(
returnNode
.
getId
(),
returnNode
);
withRelationColumns
.
put
(
returnNode
.
getId
(),
""
);
ReturnEdge
returnEdge
=
new
ReturnEdge
();
String
edgeId
=
returnNode
.
getId
()
+
"_"
+
currentColumnId
;
returnEdge
.
setFromId
(
returnNode
.
getId
()
);
returnEdge
.
setToId
(
currentColumnId
);
returnEdge
.
setType
(
"To"
);
returnEdge
.
setEdgeId
(
edgeId
);
retur
nEdgeMap
.
put
(
edgeId
,
returnEdge
);
childre
nEdgeMap
.
put
(
edgeId
,
returnEdge
);
}
}
}
}
Map
<
String
,
ReturnNode
>
noRelationColumns
=
new
HashMap
<>();
for
(
Object
obj:
tableIdMap
.
keySet
()){
String
currentTableId
=
(
String
)
obj
;
...
...
@@ -656,6 +659,10 @@ public class TableServiceImpl implements ITableService {
StatementResult
table2CoumnResult
=
session
.
run
(
table2CoumnCypher
);
long
time104
=
System
.
currentTimeMillis
();
runCypherTime
+=
(
time104
-
time103
);
ReturnNode
currentTableNode
=
returnNodeMap
.
get
(
currentTableId
);
while
(
table2CoumnResult
.
hasNext
()){
Record
record
=
table2CoumnResult
.
next
();
List
<
Value
>
values
=
record
.
values
();
...
...
@@ -671,24 +678,24 @@ public class TableServiceImpl implements ITableService {
}
String
columnId
=
metaData
.
getMetadataId
();
if
(!
returnNodeMap
.
containsKey
(
columnId
)){
ReturnNode
returnNode
=
new
ReturnNode
();
returnNode
.
setId
(
metaData
.
getMetadataId
());
returnNode
.
setName
(
metaData
.
getName
());
returnNode
.
setCnName
(
metaData
.
getCnName
());
returnNode
.
setDataPath
(
metaData
.
getPath
());
if
(!
withRelationColumns
.
containsKey
(
columnId
)){
returnNode
.
setDataPath
(
"noRelation"
);
returnNode
.
setType
(
"Column"
);
noRelationColumns
.
put
(
columnId
,
returnNode
);
}
returnNode
.
setType
(
"Column"
);
currentTableNode
.
getChildren
().
add
(
returnNode
);
ReturnEdge
returnEdge
=
new
ReturnEdge
();
String
edgeId
=
currentTableId
+
"_"
+
columnId
;
returnEdge
.
setEdgeId
(
edgeId
);
returnEdge
.
setFromId
(
currentTableId
);
returnEdge
.
setToId
(
columnId
);
returnEdge
.
setType
(
"Composition"
);
returnEdgeMap
.
put
(
edgeId
,
returnEdge
);
//
ReturnEdge returnEdge = new ReturnEdge();
//
String edgeId = currentTableId+"_"+columnId;
//
returnEdge.setEdgeId(edgeId);
//
returnEdge.setFromId(currentTableId);
//
returnEdge.setToId(columnId);
//
returnEdge.setType("Composition");
//
returnEdgeMap.put(edgeId,returnEdge);
}
}
}
...
...
@@ -698,9 +705,9 @@ public class TableServiceImpl implements ITableService {
ReturnNode
returnNode
=
returnNodeMap
.
get
(
obj
);
returnReslult
.
getNodes
().
add
(
returnNode
);
}
for
(
Object
obj:
noRelationColumns
.
keySet
()){
Return
Node
returnNode
=
noRelationColumns
.
get
(
obj
);
returnReslult
.
get
Nodes
().
add
(
returnNod
e
);
for
(
Object
obj:
childrenEdgeMap
.
keySet
()){
Return
Edge
returnEdge
=
childrenEdgeMap
.
get
(
obj
);
returnReslult
.
get
ChildrenEdges
().
add
(
returnEdg
e
);
}
for
(
Object
obj:
returnEdgeMap
.
keySet
()){
ReturnEdge
returnEdge
=
returnEdgeMap
.
get
(
obj
);
...
...
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