From 75bdd3f600700d52f27aac2a09eabc8513611b5a Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Wed, 10 Jun 2020 09:49:45 +0200 Subject: [PATCH] fixed problem with automatically connecting to processes to retrieve live data did not work for random cases --- .../livehover/v2/SpringProcessConnectorLocal.java | 14 +++++++++++--- .../java/livehover/v2/SpringProcessDescriptor.java | 7 ++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorLocal.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorLocal.java index b81775086..3df2b3a83 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorLocal.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessConnectorLocal.java @@ -60,17 +60,25 @@ public class SpringProcessConnectorLocal { projectObserver.addListener(new ProjectObserver.Listener() { @Override public void created(IJavaProject project) { - boolean hasActuators = SpringProjectUtil.hasBootActuators(project); - projects.put(project.getElementName(), hasActuators); - projectsChanged = true; + update(project); } + @Override public void deleted(IJavaProject project) { projects.remove(project.getElementName()); } + @Override public void changed(IJavaProject project) { + update(project); } + + protected void update(IJavaProject project) { + boolean hasActuators = SpringProjectUtil.hasBootActuators(project); + projects.put(project.getElementName(), hasActuators); + projectsChanged = true; + } + }); } diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessDescriptor.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessDescriptor.java index 60b7047cf..69ab3bb03 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessDescriptor.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/v2/SpringProcessDescriptor.java @@ -177,7 +177,12 @@ public class SpringProcessDescriptor { log.info("Spring boot process found: " + projectName); this.projectName = (String) projectName; - return projectIsKnown.test((String) projectName) && projectHasActuators.test((String)projectName); + boolean knownProject = projectIsKnown.test((String) projectName); + boolean hasActuators = projectHasActuators.test((String)projectName); + + log.info("Spring boot process details: " + knownProject + " - " + hasActuators); + + return knownProject && hasActuators; } } catch (Exception e) {