From 67e1a485d3a1991dc628bea6fb21c38bc125b630 Mon Sep 17 00:00:00 2001 From: BoykoAlex Date: Fri, 11 Nov 2016 10:14:14 -0500 Subject: [PATCH] Ignore non-file scheme URIs when finding project. --- .../java/DefaultJavaProjectFinder.java | 4 ++-- ...JavaProjectWithClasspathFileFinderStrategy.java | 14 ++++++++------ .../java/MavenProjectFinderStrategy.java | 14 ++++++++------ 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/DefaultJavaProjectFinder.java b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/DefaultJavaProjectFinder.java index 8503c514d..e4257b169 100644 --- a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/DefaultJavaProjectFinder.java +++ b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/DefaultJavaProjectFinder.java @@ -7,8 +7,8 @@ import org.springframework.ide.vscode.commons.util.Log; public class DefaultJavaProjectFinder implements JavaProjectFinder { private final IJavaProjectFinderStrategy[] STRATEGIES = new IJavaProjectFinderStrategy[] { - new JavaProjectWithClasspathFileFinderStrategy(), - new MavenProjectFinderStrategy() + new MavenProjectFinderStrategy(), + new JavaProjectWithClasspathFileFinderStrategy() }; @Override diff --git a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/JavaProjectWithClasspathFileFinderStrategy.java b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/JavaProjectWithClasspathFileFinderStrategy.java index 9851272d0..2227eaf51 100644 --- a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/JavaProjectWithClasspathFileFinderStrategy.java +++ b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/JavaProjectWithClasspathFileFinderStrategy.java @@ -35,12 +35,14 @@ public class JavaProjectWithClasspathFileFinderStrategy implements IJavaProjectF URI uri = new URI(uriStr); // TODO: This only work with File uri. Should it work with others // too? - File file = toFile(uri); - File cpFile = FileUtils.findFile(file, MavenCore.CLASSPATH_TXT); - if (cpFile != null) { - return cache.get(cpFile, () -> { - return new JavaProjectWithClasspathFile(cpFile); - }); + if (uri.getScheme().equalsIgnoreCase("file")) { + File file = toFile(uri); + File cpFile = FileUtils.findFile(file, MavenCore.CLASSPATH_TXT); + if (cpFile != null) { + return cache.get(cpFile, () -> { + return new JavaProjectWithClasspathFile(cpFile); + }); + } } } return null; diff --git a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/MavenProjectFinderStrategy.java b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/MavenProjectFinderStrategy.java index 8f5c85429..50e74d57b 100644 --- a/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/MavenProjectFinderStrategy.java +++ b/vscode-extensions/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/java/MavenProjectFinderStrategy.java @@ -41,12 +41,14 @@ public class MavenProjectFinderStrategy implements IJavaProjectFinderStrategy { URI uri = new URI(uriStr); // TODO: This only work with File uri. Should it work with others // too? - File file = new File(uri).getAbsoluteFile(); - File pomFile = FileUtils.findFile(file, MavenCore.POM_XML); - if (pomFile != null) { - return cache.get(pomFile, () -> { - return new MavenJavaProject(pomFile); - }); + if (uri.getScheme().equalsIgnoreCase("file")) { + File file = new File(uri).getAbsoluteFile(); + File pomFile = FileUtils.findFile(file, MavenCore.POM_XML); + if (pomFile != null) { + return cache.get(pomFile, () -> { + return new MavenJavaProject(pomFile); + }); + } } } return null;