From 007b2c5f95d6441e3dfa3e073c61488bb9f9163d Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Tue, 31 Jul 2018 14:08:51 +0200 Subject: [PATCH] fixed logic around specific project name setting --- .../boot/java/handlers/RunningAppMatcher.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RunningAppMatcher.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RunningAppMatcher.java index cb91bd6af..a67198dcc 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RunningAppMatcher.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RunningAppMatcher.java @@ -33,19 +33,28 @@ public class RunningAppMatcher { return RunningAppMatcher.doesProjectMatch(app, project); }).collect(CollectorUtil.toImmutableList()); - if (matchedProjects.size() > 0) { - return matchedProjects; - } + return matchedProjects; } return apps; } private static boolean doesProjectMatch(SpringBootApp app, IJavaProject project) { - if (doesProjectNameMatch(app, project)) return true; - if (doesProjectThinJarWrapperMatch(app, project)) return true; - if (doesClasspathMatch(app, project)) return true; + if (hasProjectName(app, project)) { + return doesProjectNameMatch(app, project); + } + else { + return doesProjectThinJarWrapperMatch(app, project) || doesClasspathMatch(app, project); + } + } - return false; + public static boolean hasProjectName(SpringBootApp app, IJavaProject project) { + try { + String projectName = app.getSystemProperty("spring.boot.project.name"); + return projectName != null && projectName.trim().length() > 0; + } + catch (Exception e) { + return false; + } } public static boolean doesProjectNameMatch(SpringBootApp app, IJavaProject project) {