2727import java .lang .reflect .Field ;
2828import java .util .*;
2929
30+ import static java .util .stream .Collectors .toList ;
31+
3032public class CheckstyleAnalyzer implements Analyzer <List <AuditEvent >> {
3133 private static final Logger LOG = LoggerFactory .getLogger (CheckstyleAnalyzer .class );
3234
3335 private final AnalyzerConfig config ;
3436 private final StyleChecks checks ;
3537 private final StyleEventCollector collector ;
3638
37- private static final Comparator <AuditEvent > EVENT_SORTER = new Comparator <AuditEvent >() {
38- @ Override
39- public int compare (AuditEvent b1 , AuditEvent b2 ) {
40- final int severity = b1 .getSeverityLevel ().compareTo (b2 .getSeverityLevel ());
41- if (severity != 0 ) {
42- return severity ;
43- }
44- return b1 .getLocalizedMessage ().getKey ().compareTo (b2 .getLocalizedMessage ().getKey ());
45- }
46- };
39+ private static final Comparator <AuditEvent > EVENT_COMPARATOR = Comparator
40+ .comparing (AuditEvent ::getSeverityLevel )
41+ .thenComparing (e -> e .getLocalizedMessage ().getKey ());
4742
4843 private static class LoggingAuditListener implements AuditListener {
4944 final List <AuditEvent > events = new ArrayList <>();
@@ -107,7 +102,7 @@ private PropertyResolver createPropertyResolver() {
107102
108103 private String propertyValue (String name , Object value ) {
109104 if (name .endsWith ("-tokens" )) {
110- final StringBuilder tokens = new StringBuilder ("" );
105+ final StringBuilder tokens = new StringBuilder ();
111106 for (final Integer val : (List <Integer >) value ) {
112107 for (final Field f : TokenTypes .class .getFields ()) {
113108 try {
@@ -125,17 +120,13 @@ private String propertyValue(String name, Object value) {
125120 }
126121
127122 private CheckstyleResult createResult (List <AuditEvent > events ) {
128- final List <AuditEvent > sorted = new ArrayList <>(events );
129- Collections .sort (sorted , EVENT_SORTER );
130- final List <AuditEvent > filtered = new ArrayList <>();
131123 final UsageCounter counter = new UsageCounter ();
132- for (final AuditEvent event : sorted ) {
133- if (counter .accept (collector .accept (event ))) {
134- filtered .add (event );
135- }
136- }
124+ final List <AuditEvent > res = events .stream ()
125+ .filter (e -> counter .accept (collector .accept (e )))
126+ .sorted (EVENT_COMPARATOR )
127+ .collect (toList ());
137128 collector .printUnusedWarning (counter );
138- return new CheckstyleResult (this , filtered , collector .unusedActions (counter ));
129+ return new CheckstyleResult (this , res , collector .unusedActions (counter ));
139130 }
140131
141132}
0 commit comments