1
1
package org .jfrog .build .extractor .scan ;
2
2
3
3
import javax .swing .tree .DefaultMutableTreeNode ;
4
- import java .util .Comparator ;
5
- import java .util .HashSet ;
6
- import java .util .Set ;
7
- import java .util .Vector ;
4
+ import java .util .*;
8
5
9
6
/**
10
- * Dependencies tree for Xray scan. Used in 'Eclipse' and 'Idea' Xray plugins.
7
+ * Dependency tree for Xray scan. Used in 'Eclipse' and 'Idea' Xray plugins.
11
8
*
12
9
* @author yahavi
13
10
*/
14
- public class DependenciesTree extends DefaultMutableTreeNode {
11
+ public class DependencyTree extends DefaultMutableTreeNode {
15
12
16
- private Set <Issue > issues = new HashSet <>();
17
13
private Set <License > licenses = new HashSet <>();
14
+ private Set <Issue > issues = new HashSet <>();
18
15
private Set <Scope > scopes = new HashSet <>();
19
- private GeneralInfo generalInfo ;
20
16
private Issue topIssue = new Issue ();
17
+ private GeneralInfo generalInfo ;
21
18
22
- public DependenciesTree () {
19
+ public DependencyTree () {
23
20
super ();
24
21
}
25
22
26
- public DependenciesTree (Object userObject ) {
23
+ public DependencyTree (Object userObject ) {
27
24
super (userObject );
28
25
}
29
26
30
- public void setIssues (Set <Issue > issues ) {
31
- this .issues = issues ;
32
- }
33
-
34
27
public void setLicenses (Set <License > licenses ) {
35
28
this .licenses = licenses ;
36
29
}
37
30
31
+ public void setIssues (Set <Issue > issues ) {
32
+ this .issues = issues ;
33
+ }
34
+
38
35
public void setScopes (Set <Scope > scopes ) {
39
36
this .scopes = scopes ;
40
37
}
@@ -44,23 +41,23 @@ public void setGeneralInfo(GeneralInfo generalInfo) {
44
41
this .generalInfo = generalInfo ;
45
42
}
46
43
47
- @ SuppressWarnings ("unused" )
48
- public GeneralInfo getGeneralInfo () {
49
- return generalInfo ;
44
+ public Set <License > getLicenses () {
45
+ return licenses ;
50
46
}
51
47
52
48
public Set <Issue > getIssues () {
53
49
return issues ;
54
50
}
55
51
56
- public Set <License > getLicenses () {
57
- return licenses ;
58
- }
59
-
60
52
public Set <Scope > getScopes () {
61
53
return scopes ;
62
54
}
63
55
56
+ @ SuppressWarnings ("unused" )
57
+ public GeneralInfo getGeneralInfo () {
58
+ return generalInfo ;
59
+ }
60
+
64
61
/**
65
62
* @return top severity issue of the current node and its ancestors
66
63
*/
@@ -81,7 +78,7 @@ public int getIssueCount() {
81
78
* @return Node's children
82
79
*/
83
80
@ SuppressWarnings ({"WeakerAccess" , "unchecked" })
84
- public Vector <DependenciesTree > getChildren () {
81
+ public Vector <DependencyTree > getChildren () {
85
82
return children != null ? children : new Vector <>();
86
83
}
87
84
@@ -111,11 +108,11 @@ private void setIssuesComponent() {
111
108
112
109
private void sortChildren () {
113
110
getChildren ().sort (Comparator
114
- .comparing (DependenciesTree ::getTopIssue , Comparator .comparing (Issue ::getSeverity ))
115
- .thenComparing (DependenciesTree ::getIssueCount )
116
- .thenComparing (DependenciesTree ::getChildCount )
111
+ .comparing (DependencyTree ::getTopIssue , Comparator .comparing (Issue ::getSeverity ))
112
+ .thenComparing (DependencyTree ::getIssueCount )
113
+ .thenComparing (DependencyTree ::getChildCount )
117
114
.reversed ()
118
- .thenComparing (DependenciesTree ::toString ));
115
+ .thenComparing (DependencyTree ::toString ));
119
116
}
120
117
121
118
private void setTopIssue () {
@@ -128,4 +125,20 @@ private void setTopIssue() {
128
125
}
129
126
});
130
127
}
128
+
129
+ /**
130
+ * Recursively, collect all scopes and licenses.
131
+ *
132
+ * @param allScopes - Out - All dependency tree scopes
133
+ * @param allLicenses - Out - All dependency tree licenses
134
+ */
135
+ @ SuppressWarnings ("unused" )
136
+ public void collectAllScopesAndLicenses (Set <Scope > allScopes , Set <License > allLicenses ) {
137
+ Enumeration <?> enumeration = breadthFirstEnumeration ();
138
+ while (enumeration .hasMoreElements ()) {
139
+ DependencyTree child = (DependencyTree ) enumeration .nextElement ();
140
+ allScopes .addAll (child .getScopes ());
141
+ allLicenses .addAll (child .getLicenses ());
142
+ }
143
+ }
131
144
}
0 commit comments