1
1
package com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .datasource .metadata ;
2
2
3
3
import com .intellij .ui .treeStructure .PatchedDefaultMutableTreeNode ;
4
- import com .neueda .jetbrains .plugin .graphdb .jetbrains .component .datasource .metadata .*;
4
+ import com .neueda .jetbrains .plugin .graphdb .jetbrains .component .datasource .metadata .DataSourceMetadata ;
5
+ import com .neueda .jetbrains .plugin .graphdb .jetbrains .component .datasource .metadata .DataSourcesComponentMetadata ;
6
+ import com .neueda .jetbrains .plugin .graphdb .jetbrains .component .datasource .metadata .Neo4jBoltCypherDataSourceMetadata ;
5
7
import com .neueda .jetbrains .plugin .graphdb .jetbrains .component .datasource .state .DataSourceApi ;
6
- import com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .datasource .tree .dto .ValueWithIcon ;
7
- import com .neueda .jetbrains .plugin .graphdb .platform .GraphIcons ;
8
+ import com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .datasource .tree .TreeNodeModel ;
9
+ import com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .datasource .tree .TreeNodeModelApi ;
10
+
11
+ import static com .neueda .jetbrains .plugin .graphdb .jetbrains .ui .datasource .tree .Neo4jTreeNodeType .*;
8
12
9
13
public class DataSourceMetadataUi {
10
14
11
- public static final String RELATIONSHIP_TYPES_TITLE = "relationship types" ;
12
- public static final String PROPERTY_KEYS_TITLE = "property keys" ;
13
- public static final String LABELS_TITLE = "labels" ;
14
- public static final String STORED_PROCEDURES_TITLE = "stored procedures" ;
15
- public static final String USER_FUNCTIONS_TITLE = "user functions" ;
15
+ private static final String RELATIONSHIP_TYPES_TITLE = "relationship types" ;
16
+ private static final String PROPERTY_KEYS_TITLE = "property keys" ;
17
+ private static final String LABELS_TITLE = "labels" ;
18
+ private static final String STORED_PROCEDURES_TITLE = "stored procedures" ;
19
+ private static final String USER_FUNCTIONS_TITLE = "user functions" ;
16
20
17
21
private final DataSourcesComponentMetadata dataSourcesComponent ;
18
22
@@ -36,39 +40,41 @@ boolean updateNeo4jBoltCypherMetadataUi(PatchedDefaultMutableTreeNode dataSource
36
40
DataSourceMetadata dataSourceMetadata ) {
37
41
// Remove existing metadata from ui
38
42
dataSourceRootTreeNode .removeAllChildren ();
43
+ TreeNodeModelApi model = (TreeNodeModelApi ) dataSourceRootTreeNode .getUserObject ();
44
+ DataSourceApi dataSourceApi = model .getDataSourceApi ();
39
45
40
46
// Labels
41
47
PatchedDefaultMutableTreeNode labelsTreeNode = new PatchedDefaultMutableTreeNode (
42
- new ValueWithIcon ( GraphIcons . Nodes . LABEL , LABELS_TITLE ));
48
+ new TreeNodeModel ( LABELS , dataSourceApi , LABELS_TITLE ));
43
49
dataSourceMetadata
44
50
.getMetadata (Neo4jBoltCypherDataSourceMetadata .LABELS )
45
- .forEach ((row ) -> labelsTreeNode .add (new PatchedDefaultMutableTreeNode ( row .get ("label" ))));
51
+ .forEach ((row ) -> labelsTreeNode .add (of ( new TreeNodeModel ( LABEL , dataSourceApi , row .get ("label" ) ))));
46
52
dataSourceRootTreeNode .add (labelsTreeNode );
47
53
48
54
// RelTypes
49
55
PatchedDefaultMutableTreeNode relationshipTypesTreeNode = new PatchedDefaultMutableTreeNode (
50
- new ValueWithIcon ( GraphIcons . Nodes . RELATIONSHIP_TYPE , RELATIONSHIP_TYPES_TITLE ));
56
+ new TreeNodeModel ( RELATIONSHIPS , dataSourceApi , RELATIONSHIP_TYPES_TITLE ));
51
57
dataSourceMetadata
52
58
.getMetadata (Neo4jBoltCypherDataSourceMetadata .RELATIONSHIP_TYPES )
53
- .forEach ((row ) -> relationshipTypesTreeNode .add (new PatchedDefaultMutableTreeNode ( row .get ("relationshipType" ))));
59
+ .forEach ((row ) -> relationshipTypesTreeNode .add (of ( new TreeNodeModel ( RELATIONSHIP , dataSourceApi , row .get ("relationshipType" ) ))));
54
60
dataSourceRootTreeNode .add (relationshipTypesTreeNode );
55
61
56
62
// Property Keys
57
63
PatchedDefaultMutableTreeNode propertyKeysTreeNode = new PatchedDefaultMutableTreeNode (
58
- new ValueWithIcon ( GraphIcons . Nodes . PROPERTY_KEY , PROPERTY_KEYS_TITLE ));
64
+ new TreeNodeModel ( PROPERTY_KEYS , dataSourceApi , PROPERTY_KEYS_TITLE ));
59
65
dataSourceMetadata
60
66
.getMetadata (Neo4jBoltCypherDataSourceMetadata .PROPERTY_KEYS )
61
- .forEach ((row ) -> propertyKeysTreeNode .add (new PatchedDefaultMutableTreeNode ( row .get ("propertyKey" ))));
67
+ .forEach ((row ) -> propertyKeysTreeNode .add (of ( new TreeNodeModel ( PROPERTY_KEY , dataSourceApi , row .get ("propertyKey" ) ))));
62
68
dataSourceRootTreeNode .add (propertyKeysTreeNode );
63
69
64
70
// Stored procedures
65
71
PatchedDefaultMutableTreeNode storedProceduresTreeNode = new PatchedDefaultMutableTreeNode (
66
- new ValueWithIcon ( GraphIcons . Nodes . STORED_PROCEDURE , STORED_PROCEDURES_TITLE ));
72
+ new TreeNodeModel ( STORED_PROCEDURES , dataSourceApi , STORED_PROCEDURES_TITLE ));
67
73
dataSourceMetadata
68
74
.getMetadata (Neo4jBoltCypherDataSourceMetadata .STORED_PROCEDURES )
69
75
.forEach ((row ) -> {
70
- PatchedDefaultMutableTreeNode nameNode = new PatchedDefaultMutableTreeNode ( row .get ("name" ));
71
- PatchedDefaultMutableTreeNode descriptionNode = new PatchedDefaultMutableTreeNode ( row .get ("signature" ));
76
+ PatchedDefaultMutableTreeNode nameNode = of ( new TreeNodeModel ( STORED_PROCEDURE , dataSourceApi , row .get ("name" ) ));
77
+ PatchedDefaultMutableTreeNode descriptionNode = of ( new TreeNodeModel ( STORED_PROCEDURE , dataSourceApi , row .get ("signature" ) ));
72
78
nameNode .add (descriptionNode );
73
79
storedProceduresTreeNode .add (nameNode );
74
80
});
@@ -77,13 +83,13 @@ boolean updateNeo4jBoltCypherMetadataUi(PatchedDefaultMutableTreeNode dataSource
77
83
// User Functions
78
84
if (dataSourceMetadata .isMetadataExists (Neo4jBoltCypherDataSourceMetadata .USER_FUNCTIONS )) {
79
85
PatchedDefaultMutableTreeNode userFunctionTreeNode = new PatchedDefaultMutableTreeNode (
80
- new ValueWithIcon ( GraphIcons . Nodes . USER_FUNCTION , USER_FUNCTIONS_TITLE ));
86
+ new TreeNodeModel ( USER_FUNCTIONS , dataSourceApi , USER_FUNCTIONS_TITLE ));
81
87
82
88
dataSourceMetadata
83
89
.getMetadata (Neo4jBoltCypherDataSourceMetadata .USER_FUNCTIONS )
84
90
.forEach ((row ) -> {
85
- PatchedDefaultMutableTreeNode nameNode = new PatchedDefaultMutableTreeNode ( row .get ("name" ));
86
- PatchedDefaultMutableTreeNode descriptionNode = new PatchedDefaultMutableTreeNode ( row .get ("signature" ));
91
+ PatchedDefaultMutableTreeNode nameNode = of ( new TreeNodeModel ( LABEL , dataSourceApi , row .get ("name" ) ));
92
+ PatchedDefaultMutableTreeNode descriptionNode = of ( new TreeNodeModel ( LABEL , dataSourceApi , row .get ("signature" ) ));
87
93
nameNode .add (descriptionNode );
88
94
userFunctionTreeNode .add (nameNode );
89
95
});
@@ -93,4 +99,8 @@ boolean updateNeo4jBoltCypherMetadataUi(PatchedDefaultMutableTreeNode dataSource
93
99
94
100
return true ;
95
101
}
102
+
103
+ private PatchedDefaultMutableTreeNode of (TreeNodeModel model ) {
104
+ return new PatchedDefaultMutableTreeNode (model );
105
+ }
96
106
}
0 commit comments