2020
2121package net .sf .eclipsecs .ui ;
2222
23- import org .osgi .service .component .annotations .Component ;
24- import org .osgi .service .event .EventConstants ;
25- import org .osgi .service .event .EventHandler ;
26-
27- import net .sf .eclipsecs .core .jobs .AbstractCheckJob ;
28- import net .sf .eclipsecs .ui .properties .filter .CheckFileOnOpenPartListener ;
29-
30- import java .util .Collection ;
31- import java .util .Collections ;
32- import java .util .HashSet ;
23+ import java .util .Arrays ;
24+ import java .util .Set ;
25+ import java .util .stream .Collectors ;
3326
3427import org .eclipse .e4 .ui .workbench .UIEvents ;
35- import org .eclipse .ui .IEditorReference ;
3628import org .eclipse .ui .IWindowListener ;
3729import org .eclipse .ui .IWorkbench ;
3830import org .eclipse .ui .IWorkbenchPage ;
3931import org .eclipse .ui .IWorkbenchPartReference ;
4032import org .eclipse .ui .IWorkbenchWindow ;
4133import org .eclipse .ui .PlatformUI ;
4234import org .eclipse .ui .progress .IProgressService ;
35+ import org .osgi .service .component .annotations .Component ;
36+ import org .osgi .service .event .EventConstants ;
37+ import org .osgi .service .event .EventHandler ;
38+
39+ import net .sf .eclipsecs .core .jobs .AbstractCheckJob ;
40+ import net .sf .eclipsecs .ui .properties .filter .CheckFileOnOpenPartListener ;
4341
4442/**
4543 * Event handler being called when the eclipse application has started.
@@ -50,7 +48,6 @@ public final class ApplicationStartedHandler implements EventHandler {
5048 private final CheckFileOnOpenPartListener mPartListener = new CheckFileOnOpenPartListener ();
5149
5250 private final IWindowListener mWindowListener = new IWindowListener () {
53-
5451 @ Override
5552 public void windowOpened (IWorkbenchWindow window ) {
5653 window .getPartService ().addPartListener (mPartListener );
@@ -63,13 +60,11 @@ public void windowActivated(IWorkbenchWindow window) {
6360 @ Override
6461 public void windowClosed (IWorkbenchWindow window ) {
6562 window .getPartService ().removePartListener (mPartListener );
66-
6763 }
6864
6965 @ Override
7066 public void windowDeactivated (IWorkbenchWindow window ) {
7167 }
72-
7368 };
7469
7570 @ Override
@@ -87,35 +82,20 @@ private void registerListener() {
8782 workbench .getDisplay ().asyncExec (new Runnable () {
8883 @ Override
8984 public void run () {
90-
91- IWorkbenchWindow [] windows = workbench .getWorkbenchWindows ();
92-
93- for (IWorkbenchWindow window : windows ) {
94-
85+ for (IWorkbenchWindow window : workbench .getWorkbenchWindows ()) {
9586 if (window != null ) {
96-
97- // collect open editors and have then run against Checkstyle if
98- // appropriate
99- Collection <IWorkbenchPartReference > parts = new HashSet <>();
100-
101- // add already opened files to the filter
102- // bugfix for 2923044
103- IWorkbenchPage [] pages = window .getPages ();
104- for (IWorkbenchPage page : pages ) {
105-
106- IEditorReference [] editorRefs = page .getEditorReferences ();
107- Collections .addAll (parts , editorRefs );
108- }
109-
87+ // collect open editors and have then run against Checkstyle if appropriate
88+ // add already opened files to the filter - bugfix for 2923044
89+ Set <IWorkbenchPartReference > parts = Arrays .stream (window .getPages ())
90+ .map (IWorkbenchPage ::getEditorReferences )
91+ .flatMap (Arrays ::stream )
92+ .collect (Collectors .toSet ());
11093 mPartListener .partsOpened (parts );
111-
112- // remove listener first for safety, we don't want
113- // register the same listener twice accidently
94+ // remove listener first for safety, we don't want to register the same listener twice accidently
11495 window .getPartService ().removePartListener (mPartListener );
11596 window .getPartService ().addPartListener (mPartListener );
11697 }
11798 }
118-
11999 workbench .addWindowListener (mWindowListener );
120100 }
121101 });
0 commit comments