From a8aa3d7c5e4e97ef4971ac573af5fe0a2b650e70 Mon Sep 17 00:00:00 2001 From: BoykoAlex Date: Tue, 20 Jul 2021 11:58:43 -0400 Subject: [PATCH] Do not look for main method when hide non-runnable apps filter is off --- .../boot/dash/model/BootProjectDashElement.java | 5 +++-- .../eclipse/boot/dash/model/LocalBootDashModel.java | 11 ++++++++++- .../eclipse/boot/dash/model/ToggleFiltersModel.java | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/BootProjectDashElement.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/BootProjectDashElement.java index 9327b800d..acf582a7e 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/BootProjectDashElement.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/BootProjectDashElement.java @@ -99,7 +99,6 @@ public class BootProjectDashElement extends AbstractLaunchConfigurationsDashElem this.projectProperties = projectProperties; this.childFactory = childFactory; - hasMainMethod.refresh(); addModelState(hasMainMethod); addDisposableChild(hasMainMethod); // if (DEBUG) { @@ -265,6 +264,8 @@ public class BootProjectDashElement extends AbstractLaunchConfigurationsDashElem } public void refreshHasMainMethod() { - hasMainMethod.refresh(); + if (getBootDashModel().getViewModel().getToggleFilters().getSelectedFilters().getValue().contains(ToggleFiltersModel.FILTER_CHOICE_HIDE_NOT_RUNNABLE_APPS)) { + hasMainMethod.refresh(); + } } } diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/LocalBootDashModel.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/LocalBootDashModel.java index 1c1fa5f4e..ec2203f85 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/LocalBootDashModel.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/LocalBootDashModel.java @@ -119,12 +119,21 @@ public class LocalBootDashModel extends AbstractBootDashModel implements Deletio this.consoleManager = new LocalElementConsoleManager(); this.projectExclusion = context.getBootProjectExclusion(); - RunTargetType type = getRunTarget().getType(); + RunTargetType type = getRunTarget().getType(); IPropertyStore typeStore = PropertyStores.createForScope(type, context.getRunTargetProperties()); this.modelStore = PropertyStores.createSubStore(getRunTarget().getId(), typeStore); // Listen to M2E JDT plugin active event to refresh local boot project dash elements. addMavenInitializationIssueEventHandling(); + + addDisposableChild(parent.getToggleFilters().getSelectedFilters().onChange((e, v) -> { + if (e.getValue().contains(ToggleFiltersModel.FILTER_CHOICE_HIDE_NOT_RUNNABLE_APPS)) { + for (BootProjectDashElement a : applications.getValue()) { + a.refreshHasMainMethod(); + } + } + })); + } /** * Refresh boot project dash elements once m2e JDT plugin is fully diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/ToggleFiltersModel.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/ToggleFiltersModel.java index fe8291fe4..fa75e8ae0 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/ToggleFiltersModel.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/model/ToggleFiltersModel.java @@ -117,7 +117,7 @@ public class ToggleFiltersModel { "Hide local non-runnable apps", "Spring Boot projects that cannot be laucnhed such as Spring Boot library projects not having a main method will not be shown", HIDE_LOCAL_NOT_RUNNABLE_APPS, - true); + false); private static final String STORE_ID = "toggle-filters"; private static final FilterChoice[] FILTERS = {