11package de .andrena .tools .nopackagecycles ;
22
3- import java .util .Collection ;
43import java .util .Iterator ;
54import java .util .List ;
65import java .util .Set ;
76
8- import jdepend .framework .JavaPackage ;
9-
107import org .jgrapht .DirectedGraph ;
118import org .jgrapht .alg .StrongConnectivityInspector ;
129import org .jgrapht .graph .DefaultDirectedGraph ;
1310import org .jgrapht .graph .DefaultEdge ;
1411
12+ import jdepend .framework .JavaPackage ;
13+
1514public class PackageCycleCollector {
1615
1716 public List <Set <JavaPackage >> collectCycles (List <JavaPackage > packages ) {
18- DirectedGraph <JavaPackage , DefaultEdge > graph = new DefaultDirectedGraph <JavaPackage , DefaultEdge >(
19- DefaultEdge .class );
17+ DirectedGraph <JavaPackage , DefaultEdge > graph = new DefaultDirectedGraph <>(DefaultEdge .class );
2018 addVerticesToGraph (packages , graph );
2119 addEdgesToGraph (packages , graph );
2220 return collectCycles (graph );
2321 }
2422
2523 private List <Set <JavaPackage >> collectCycles (DirectedGraph <JavaPackage , DefaultEdge > graph ) {
26- List <Set <JavaPackage >> stronglyConnectedSets = new StrongConnectivityInspector <JavaPackage , DefaultEdge >(graph )
27- .stronglyConnectedSets ();
24+ List <Set <JavaPackage >> stronglyConnectedSets = new StrongConnectivityInspector <>(graph ).stronglyConnectedSets ();
2825 removeSingletonSets (stronglyConnectedSets );
2926 return stronglyConnectedSets ;
3027 }
@@ -39,10 +36,9 @@ private void removeSingletonSets(List<Set<JavaPackage>> stronglyConnectedSets) {
3936 }
4037 }
4138
42- @ SuppressWarnings ("unchecked" )
4339 private void addEdgesToGraph (List <JavaPackage > packages , DirectedGraph <JavaPackage , DefaultEdge > graph ) {
4440 for (JavaPackage javaPackage : packages ) {
45- for (JavaPackage efferent : ( Collection < JavaPackage >) javaPackage .getEfferents ()) {
41+ for (JavaPackage efferent : javaPackage .getEfferents ()) {
4642 graph .addEdge (javaPackage , efferent );
4743 }
4844 }
0 commit comments