Streamlime and simplify JavaProjectFinder
Only a single method needs to be implemented now to define how a project context is found for a given document location.
This commit is contained in:
@@ -25,6 +25,7 @@ import org.eclipse.jdt.core.dom.Annotation;
|
||||
import org.eclipse.jdt.core.dom.CompilationUnit;
|
||||
import org.eclipse.jdt.core.dom.ITypeBinding;
|
||||
import org.eclipse.jdt.core.dom.NodeFinder;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.boot.java.snippets.JavaSnippetManager;
|
||||
import org.springframework.ide.vscode.commons.java.IClasspath;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
@@ -108,7 +109,7 @@ public class BootJavaCompletionEngine implements ICompletionEngine {
|
||||
}
|
||||
|
||||
private String[] getClasspathEntries(IDocument doc) throws Exception {
|
||||
IJavaProject project = this.projectFinder.find(doc);
|
||||
IJavaProject project = this.projectFinder.find(new TextDocumentIdentifier(doc.getUri()));
|
||||
IClasspath classpath = project.getClasspath();
|
||||
Stream<Path> classpathEntries = classpath.getClasspathEntries();
|
||||
return classpathEntries
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.eclipse.jdt.core.dom.NormalAnnotation;
|
||||
import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
|
||||
import org.eclipse.lsp4j.Hover;
|
||||
import org.eclipse.lsp4j.Range;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.eclipse.lsp4j.TextDocumentPositionParams;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer;
|
||||
import org.springframework.ide.vscode.commons.boot.app.cli.SpringBootApp;
|
||||
@@ -211,7 +212,7 @@ public class BootJavaHoverProvider implements HoverHandler {
|
||||
}
|
||||
|
||||
private IJavaProject getProject(IDocument doc) throws Exception {
|
||||
return this.projectFinder.find(doc);
|
||||
return this.projectFinder.find(new TextDocumentIdentifier(doc.getUri()));
|
||||
}
|
||||
|
||||
private String[] getClasspathEntries(IJavaProject project) throws Exception {
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.eclipse.jdt.core.dom.ITypeBinding;
|
||||
import org.eclipse.jdt.core.dom.NodeFinder;
|
||||
import org.eclipse.lsp4j.Location;
|
||||
import org.eclipse.lsp4j.ReferenceParams;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.commons.java.IClasspath;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
@@ -124,7 +125,7 @@ public class BootJavaReferencesHandler implements ReferencesHandler {
|
||||
}
|
||||
|
||||
private String[] getClasspathEntries(IDocument doc) throws Exception {
|
||||
IJavaProject project = this.projectFinder.find(doc);
|
||||
IJavaProject project = this.projectFinder.find(new TextDocumentIdentifier(doc.getUri()));
|
||||
IClasspath classpath = project.getClasspath();
|
||||
Stream<Path> classpathEntries = classpath.getClasspathEntries();
|
||||
return classpathEntries
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
|
||||
import org.eclipse.lsp4j.Location;
|
||||
import org.eclipse.lsp4j.SymbolInformation;
|
||||
import org.eclipse.lsp4j.SymbolKind;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
|
||||
import org.springframework.ide.vscode.commons.java.IClasspath;
|
||||
@@ -185,7 +186,7 @@ public class SpringIndexer {
|
||||
try {
|
||||
initializeTask.get();
|
||||
|
||||
IJavaProject project = projectFinder.find(new File(new URI(docURI)));
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
if (project != null) {
|
||||
String[] classpathEntries = getClasspathEntries(project);
|
||||
|
||||
@@ -268,7 +269,7 @@ public class SpringIndexer {
|
||||
.filter(path -> path.getFileName().toString().endsWith(".java"))
|
||||
.filter(Files::isRegularFile)
|
||||
.map(path -> path.toAbsolutePath().toString())
|
||||
.collect(Collectors.groupingBy((javaFile) -> projectFinder.find(new File(javaFile))));
|
||||
.collect(Collectors.groupingBy((javaFile) -> projectFinder.find(new TextDocumentIdentifier(new File(javaFile).toURI().toString()))));
|
||||
|
||||
System.out.println("scan directory done!!!");
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
package org.springframework.ide.vscode.boot.metadata;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.ProgressService;
|
||||
@@ -34,7 +35,7 @@ public class DefaultSpringPropertyIndexProvider implements SpringPropertyIndexPr
|
||||
|
||||
@Override
|
||||
public FuzzyMap<ConfigurationMetadataProperty> getIndex(IDocument doc) {
|
||||
IJavaProject jp = javaProjectFinder.find(doc);
|
||||
IJavaProject jp = javaProjectFinder.find(new TextDocumentIdentifier(doc.getUri()));
|
||||
if (jp != null) {
|
||||
return indexManager.get(jp, progressService);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.eclipse.lsp4j.Hover;
|
||||
import org.eclipse.lsp4j.MarkedString;
|
||||
import org.eclipse.lsp4j.Position;
|
||||
import org.eclipse.lsp4j.Range;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.eclipse.lsp4j.jsonrpc.messages.Either;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -88,7 +89,7 @@ public class AutowiredHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutowiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
@@ -114,7 +115,7 @@ public class AutowiredHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutowiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
@@ -133,7 +134,7 @@ public class AutowiredHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutowiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
@@ -154,7 +155,7 @@ public class AutowiredHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutowiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.eclipse.lsp4j.Hover;
|
||||
import org.eclipse.lsp4j.MarkedString;
|
||||
import org.eclipse.lsp4j.Position;
|
||||
import org.eclipse.lsp4j.Range;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.eclipse.lsp4j.jsonrpc.messages.Either;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -88,7 +89,7 @@ public class ComponentHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutomaticallyWiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
@@ -114,7 +115,7 @@ public class ComponentHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutowiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
@@ -135,7 +136,7 @@ public class ComponentHoverProviderTest {
|
||||
|
||||
String docURI = "file://" + directory.getAbsolutePath() + "/src/main/java/org/test/MyAutomaticallyWiredComponent.java";
|
||||
TextDocument document = createTempTextDocument(docURI);
|
||||
IJavaProject project = projectFinder.find(document);
|
||||
IJavaProject project = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
CompilationUnit cu = parse(document, project);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.CompositeJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.text.LanguageId;
|
||||
@@ -39,7 +39,7 @@ import org.springframework.ide.vscode.project.harness.PropertyIndexHarness;
|
||||
*/
|
||||
public class ScopeCompletionTest {
|
||||
|
||||
protected final CompositeJavaProjectFinder javaProjectFinder = new CompositeJavaProjectFinder(Arrays.asList((JavaProjectFinder)new AbstractJavaProjectFinder() {
|
||||
protected final CompositeJavaProjectFinder javaProjectFinder = new CompositeJavaProjectFinder(Arrays.asList((JavaProjectFinder)new FileBasedJavaProjectFinder() {
|
||||
@Override
|
||||
public IJavaProject find(File doc) {
|
||||
return getTestProject();
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.junit.Test;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer;
|
||||
import org.springframework.ide.vscode.boot.java.value.ValueCompletionProcessor;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.CompositeJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.text.LanguageId;
|
||||
import org.springframework.ide.vscode.languageserver.testharness.Editor;
|
||||
@@ -53,7 +53,7 @@ public class ValueCompletionTest {
|
||||
|
||||
harness = new LanguageServerHarness<BootJavaLanguageServer>(() -> {
|
||||
BootJavaLanguageServer server = new BootJavaLanguageServer(
|
||||
new CompositeJavaProjectFinder(new ArrayList<>(Collections.singleton(new AbstractJavaProjectFinder() {
|
||||
new CompositeJavaProjectFinder(new ArrayList<>(Collections.singleton(new FileBasedJavaProjectFinder() {
|
||||
@Override
|
||||
public IJavaProject find(File doc) {
|
||||
return getTestProject();
|
||||
|
||||
@@ -12,6 +12,7 @@ package org.springframework.ide.vscode.boot;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.boot.metadata.DefaultSpringPropertyIndexProvider;
|
||||
import org.springframework.ide.vscode.boot.metadata.types.TypeUtil;
|
||||
import org.springframework.ide.vscode.boot.metadata.types.TypeUtilProvider;
|
||||
@@ -33,7 +34,7 @@ public class Main {
|
||||
LaunguageServerApp.start(() -> {
|
||||
CompositeJavaProjectFinder javaProjectFinder = new CompositeJavaProjectFinder();
|
||||
DefaultSpringPropertyIndexProvider indexProvider = new DefaultSpringPropertyIndexProvider(javaProjectFinder);
|
||||
TypeUtilProvider typeUtilProvider = (IDocument doc) -> new TypeUtil(javaProjectFinder.find(doc));
|
||||
TypeUtilProvider typeUtilProvider = (IDocument doc) -> new TypeUtil(javaProjectFinder.find(new TextDocumentIdentifier(doc.getUri())));
|
||||
SimpleLanguageServer server = new BootPropertiesLanguageServer(indexProvider, typeUtilProvider, javaProjectFinder);
|
||||
indexProvider.setProgressService(server.getProgressService());
|
||||
return server;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
package org.springframework.ide.vscode.boot.metadata;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.ProgressService;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
@@ -32,7 +33,7 @@ public class DefaultSpringPropertyIndexProvider implements SpringPropertyIndexPr
|
||||
|
||||
@Override
|
||||
public FuzzyMap<PropertyInfo> getIndex(IDocument doc) {
|
||||
IJavaProject jp = javaProjectFinder.find(doc);
|
||||
IJavaProject jp = javaProjectFinder.find(new TextDocumentIdentifier(doc.getUri()));
|
||||
if (jp!=null) {
|
||||
return indexManager.get(jp, progressService);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
package org.springframework.ide.vscode.boot.properties.hover;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.boot.metadata.SpringPropertyIndexProvider;
|
||||
import org.springframework.ide.vscode.boot.metadata.types.TypeUtilProvider;
|
||||
import org.springframework.ide.vscode.commons.languageserver.hover.HoverInfoProvider;
|
||||
@@ -36,7 +37,7 @@ public class PropertiesHoverInfoProvider implements HoverInfoProvider {
|
||||
@Override
|
||||
public Tuple2<Renderable, IRegion> getHoverInfo(IDocument document, int offset) throws Exception {
|
||||
return new PropertiesHoverCalculator(indexProvider.getIndex(document),
|
||||
typeUtilProvider.getTypeUtil(document), projectFinder.find(document), document, offset).calculate();
|
||||
typeUtilProvider.getTypeUtil(document), projectFinder.find(new TextDocumentIdentifier(document.getUri())), document, offset).calculate();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,13 +22,14 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.lsp4j.CompletionItem;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.junit.Before;
|
||||
import org.springframework.ide.vscode.boot.editor.harness.PropertyIndexHarness.ItemConfigurer;
|
||||
import org.springframework.ide.vscode.boot.metadata.SpringPropertyIndexProvider;
|
||||
import org.springframework.ide.vscode.boot.metadata.types.TypeUtil;
|
||||
import org.springframework.ide.vscode.boot.metadata.types.TypeUtilProvider;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.CompositeJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
|
||||
@@ -47,9 +48,9 @@ public abstract class AbstractPropsEditorTest {
|
||||
private ProjectsHarness projects = ProjectsHarness.INSTANCE;
|
||||
|
||||
protected PropertyIndexHarness md;
|
||||
protected final CompositeJavaProjectFinder javaProjectFinder = new CompositeJavaProjectFinder(Arrays.asList(new AbstractJavaProjectFinder() {
|
||||
protected final CompositeJavaProjectFinder javaProjectFinder = new CompositeJavaProjectFinder(Arrays.asList(new JavaProjectFinder() {
|
||||
@Override
|
||||
public IJavaProject find(File doc) {
|
||||
public IJavaProject find(TextDocumentIdentifier doc) {
|
||||
return getTestProject();
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -13,7 +13,7 @@ package org.springframework.ide.vscode.commons.gradle;
|
||||
import java.io.File;
|
||||
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
|
||||
/**
|
||||
@@ -22,7 +22,7 @@ import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
* @author Alex Boyko
|
||||
*
|
||||
*/
|
||||
public class GradleProjectFinder extends AbstractJavaProjectFinder {
|
||||
public class GradleProjectFinder extends FileBasedJavaProjectFinder {
|
||||
|
||||
private GradleProjectCache cache;
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
|
||||
@@ -26,7 +27,7 @@ import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
* @author Alex Boyko
|
||||
*
|
||||
*/
|
||||
public class CompositeJavaProjectFinder extends AbstractJavaProjectFinder {
|
||||
public class CompositeJavaProjectFinder implements JavaProjectFinder {
|
||||
|
||||
private final List<JavaProjectFinder> projectFinders;
|
||||
|
||||
@@ -47,7 +48,7 @@ public class CompositeJavaProjectFinder extends AbstractJavaProjectFinder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJavaProject find(File file) {
|
||||
return projectFinders.stream().map(finder -> finder.find(file)).filter(Objects::nonNull).findFirst().orElse(null);
|
||||
public IJavaProject find(TextDocumentIdentifier doc) {
|
||||
return projectFinders.stream().map(finder -> finder.find(doc)).filter(Objects::nonNull).findFirst().orElse(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,27 +14,28 @@ import java.io.File;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.util.Log;
|
||||
import org.springframework.ide.vscode.commons.util.StringUtil;
|
||||
import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
|
||||
/**
|
||||
* Abstract implementation of Java project finder interface
|
||||
* File-based abstract implementation of JavaProjectFinder.
|
||||
* <p>
|
||||
* Note that implementations derived from this class have a built-in
|
||||
* limitation that they only work for documents stored on disk.
|
||||
*
|
||||
* @author Alex Boyko
|
||||
*
|
||||
* @author Kris De Volder
|
||||
*/
|
||||
public abstract class AbstractJavaProjectFinder implements JavaProjectFinder {
|
||||
public abstract class FileBasedJavaProjectFinder implements JavaProjectFinder {
|
||||
|
||||
@Override
|
||||
public final IJavaProject find(IDocument doc) {
|
||||
public final IJavaProject find(TextDocumentIdentifier doc) {
|
||||
try {
|
||||
String uriStr = doc.getUri();
|
||||
if (StringUtil.hasText(uriStr)) {
|
||||
URI uri = new URI(uriStr);
|
||||
// TODO: This only work with File uri. Should it work with others
|
||||
// too?
|
||||
if (uri.getScheme().equalsIgnoreCase("file")) {
|
||||
File file = new File(uri).getAbsoluteFile();
|
||||
return find(file);
|
||||
@@ -47,4 +48,6 @@ public abstract class AbstractJavaProjectFinder implements JavaProjectFinder {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected abstract IJavaProject find(File file);
|
||||
|
||||
}
|
||||
@@ -12,6 +12,7 @@ package org.springframework.ide.vscode.commons.languageserver.java;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
|
||||
@@ -24,7 +25,6 @@ import org.springframework.ide.vscode.commons.util.text.IDocument;
|
||||
*/
|
||||
public interface JavaProjectFinder {
|
||||
|
||||
IJavaProject find(IDocument doc);
|
||||
IJavaProject find(File file);
|
||||
IJavaProject find(TextDocumentIdentifier doc);
|
||||
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ package org.springframework.ide.vscode.commons.maven.java;
|
||||
import java.io.File;
|
||||
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.maven.MavenCore;
|
||||
import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
* @author Alex Boyko
|
||||
*
|
||||
*/
|
||||
public class MavenProjectFinder extends AbstractJavaProjectFinder {
|
||||
public class MavenProjectFinder extends FileBasedJavaProjectFinder {
|
||||
|
||||
private MavenProjectCache cache;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ package org.springframework.ide.vscode.commons.maven.java.classpathfile;
|
||||
import java.io.File;
|
||||
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.AbstractJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.FileBasedJavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.maven.MavenCore;
|
||||
import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.springframework.ide.vscode.commons.util.FileUtils;
|
||||
* @author Alex Boyko
|
||||
*
|
||||
*/
|
||||
public class JavaProjectWithClasspathFileFinder extends AbstractJavaProjectFinder {
|
||||
public class JavaProjectWithClasspathFileFinder extends FileBasedJavaProjectFinder {
|
||||
|
||||
private JavaProjectWithClasspathFileCache cache;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user