Convert SpringSymbolIndexer to a @Component
This commit is contained in:
@@ -49,6 +49,7 @@ public class BootLanguageServerInitializer implements InitializingBean {
|
||||
@Autowired YamlAssistContextProvider yamlAssistContextProvider;
|
||||
@Autowired SymbolCache symbolCache;
|
||||
@Autowired BootJavaConfig config;
|
||||
@Autowired SpringSymbolIndex springIndexer;
|
||||
|
||||
@Qualifier("adHocProperties") @Autowired ProjectBasedPropertyIndexProvider adHocProperties;
|
||||
|
||||
@@ -74,7 +75,7 @@ public class BootLanguageServerInitializer implements InitializingBean {
|
||||
// some server intialization code. Migrate that code and get rid of the ComposableLanguageServer class
|
||||
CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder();
|
||||
builder.add(new BootPropertiesLanguageServerComponents(server, params, javaElementLocationProvider, parser, yamlStructureProvider, yamlAssistContextProvider, sourceLinks));
|
||||
builder.add(new BootJavaLanguageServerComponents(server, params, sourceLinks, cuCache, adHocProperties, symbolCache, config));
|
||||
builder.add(new BootJavaLanguageServerComponents(server, params, sourceLinks, cuCache, adHocProperties, symbolCache, config, springIndexer));
|
||||
components = builder.build(server);
|
||||
params.projectObserver.addListener(reconcileOpenDocuments(server, components));
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.boot.java.utils;
|
||||
package org.springframework.ide.vscode.boot.app;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
@@ -34,45 +34,60 @@ import org.eclipse.lsp4j.SymbolInformation;
|
||||
import org.eclipse.lsp4j.TextDocumentIdentifier;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.boot.app.BootLanguageServerParams;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
|
||||
import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.EnhancedSymbolInformation;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolAddOnInformation;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringIndexer;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringIndexerJava;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringIndexerXML;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringIndexerXMLNamespaceHandler;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringIndexerXMLNamespaceHandlerBeans;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolCache;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolHandler;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.java.SpringProjectUtil;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver.Listener;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleWorkspaceService;
|
||||
import org.springframework.ide.vscode.commons.util.Futures;
|
||||
import org.springframework.ide.vscode.commons.util.StringUtil;
|
||||
import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author Martin Lippert
|
||||
*/
|
||||
public class SpringSymbolIndex {
|
||||
@Component
|
||||
public class SpringSymbolIndex implements InitializingBean {
|
||||
|
||||
@Autowired SimpleLanguageServer server;
|
||||
@Autowired BootJavaConfig config;
|
||||
@Autowired BootLanguageServerParams params;
|
||||
@Autowired AnnotationHierarchyAwareLookup<SymbolProvider> specificProviders;
|
||||
@Autowired SymbolCache cache;
|
||||
|
||||
private static final String QUERY_PARAM_LOCATION_PREFIX = "locationPrefix:";
|
||||
private static final int MAX_NUMBER_OF_SYMBOLS_IN_RESPONSE = 50;
|
||||
|
||||
private final SimpleLanguageServer server;
|
||||
private final BootLanguageServerParams params;
|
||||
private final JavaProjectFinder projectFinder;
|
||||
private final List<SymbolInformation> symbols = new ArrayList<>();
|
||||
private final List<SymbolAddOnInformation> addonInformation = new ArrayList<>();
|
||||
|
||||
private final List<SymbolInformation> symbols;
|
||||
private final List<SymbolAddOnInformation> addonInformation;
|
||||
private final ConcurrentMap<String, List<SymbolInformation>> symbolsByDoc = new ConcurrentHashMap<>();
|
||||
private final ConcurrentMap<String, List<SymbolAddOnInformation>> addonInformationByDoc = new ConcurrentHashMap<>();
|
||||
|
||||
private final ConcurrentMap<String, List<SymbolInformation>> symbolsByDoc;
|
||||
private final ConcurrentMap<String, List<SymbolAddOnInformation>> addonInformationByDoc;
|
||||
private final ConcurrentMap<String, List<SymbolInformation>> symbolsByProject = new ConcurrentHashMap<>();
|
||||
private final ConcurrentMap<String, List<SymbolAddOnInformation>> addonInformationByProject = new ConcurrentHashMap<>();
|
||||
|
||||
private final ConcurrentMap<String, List<SymbolInformation>> symbolsByProject;
|
||||
private final ConcurrentMap<String, List<SymbolAddOnInformation>> addonInformationByProject;
|
||||
|
||||
private final ExecutorService updateQueue;
|
||||
private final ExecutorService updateQueue = Executors.newSingleThreadExecutor();
|
||||
private SpringIndexer[] indexer;
|
||||
private final SymbolCache cache;
|
||||
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SpringSymbolIndex.class);
|
||||
|
||||
@@ -103,6 +118,7 @@ public class SpringSymbolIndex {
|
||||
private String watchXMLCreatedRegistration;
|
||||
private String watchXMLChangedRegistration;
|
||||
|
||||
|
||||
private SimpleWorkspaceService getWorkspaceService() {
|
||||
return server.getServer().getWorkspaceService();
|
||||
}
|
||||
@@ -111,21 +127,9 @@ public class SpringSymbolIndex {
|
||||
return params.projectObserver;
|
||||
}
|
||||
|
||||
public SpringSymbolIndex(SimpleLanguageServer server, BootLanguageServerParams params,
|
||||
AnnotationHierarchyAwareLookup<SymbolProvider> specificProviders, SymbolCache cache) {
|
||||
log.debug("Creating {}", this);
|
||||
this.server = server;
|
||||
this.params = params;
|
||||
this.projectFinder = params.projectFinder;
|
||||
|
||||
this.symbols = new ArrayList<>();
|
||||
this.symbolsByDoc = new ConcurrentHashMap<>();
|
||||
this.symbolsByProject = new ConcurrentHashMap<>();
|
||||
this.addonInformation = new ArrayList<>();
|
||||
this.addonInformationByDoc = new ConcurrentHashMap<>();
|
||||
this.addonInformationByProject = new ConcurrentHashMap<>();
|
||||
|
||||
this.cache = cache;
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
log.debug("Setting up {}", this);
|
||||
|
||||
SymbolHandler handler = new SymbolHandler() {
|
||||
@Override
|
||||
@@ -141,7 +145,6 @@ public class SpringSymbolIndex {
|
||||
|
||||
this.indexer = new SpringIndexer[] {springIndexerJava};
|
||||
|
||||
this.updateQueue = Executors.newSingleThreadExecutor();
|
||||
|
||||
getWorkspaceService().onDidChangeWorkspaceFolders(evt -> {
|
||||
log.debug("workspace roots have changed event arrived - added: " + evt.getEvent().getAdded() + " - removed: " + evt.getEvent().getRemoved());
|
||||
@@ -151,6 +154,22 @@ public class SpringSymbolIndex {
|
||||
getProjectObserver().addListener(projectListener);
|
||||
log.info("project listener registered");
|
||||
}
|
||||
|
||||
SimpleTextDocumentService documents = server.getTextDocumentService();
|
||||
documents.onDidSave(params -> {
|
||||
TextDocument document = params.getDocument();
|
||||
// Spring Boot LS get events from boot properties files as well, so filter them out
|
||||
if (BootJavaLanguageServerComponents.LANGUAGES.contains(document.getLanguageId())) {
|
||||
String docURI = document.getId().getUri();
|
||||
String content = document.get();
|
||||
this.updateDocument(docURI, content);
|
||||
}
|
||||
});
|
||||
config.addListener(evt -> {
|
||||
this.configureIndexer(config.isSpringXMLSupportEnabled());
|
||||
});
|
||||
server.doOnInitialized(this::serverInitialized);
|
||||
server.onShutdown(this::shutdown);
|
||||
}
|
||||
|
||||
public void serverInitialized() {
|
||||
@@ -266,7 +285,7 @@ public class SpringSymbolIndex {
|
||||
|
||||
for (SpringIndexer indexer : this.indexer) {
|
||||
if (indexer.isInterestedIn(docURI)) {
|
||||
Optional<IJavaProject> maybeProject = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
Optional<IJavaProject> maybeProject = projectFinder().find(new TextDocumentIdentifier(docURI));
|
||||
|
||||
if (maybeProject.isPresent()) {
|
||||
try {
|
||||
@@ -289,13 +308,17 @@ public class SpringSymbolIndex {
|
||||
}
|
||||
}
|
||||
|
||||
private JavaProjectFinder projectFinder() {
|
||||
return params.projectFinder;
|
||||
}
|
||||
|
||||
public CompletableFuture<Void> updateDocument(String docURI, String content) {
|
||||
synchronized(this) {
|
||||
List<CompletableFuture<Void>> futures = new ArrayList<>();
|
||||
|
||||
for (SpringIndexer indexer : this.indexer) {
|
||||
if (indexer.isInterestedIn(docURI)) {
|
||||
Optional<IJavaProject> maybeProject = projectFinder.find(new TextDocumentIdentifier(docURI));
|
||||
Optional<IJavaProject> maybeProject = projectFinder().find(new TextDocumentIdentifier(docURI));
|
||||
if (maybeProject.isPresent()) {
|
||||
try {
|
||||
File file = new File(new URI(docURI));
|
||||
@@ -321,7 +344,7 @@ public class SpringSymbolIndex {
|
||||
public CompletableFuture<Void> deleteDocument(String deletedDocURI) {
|
||||
synchronized(this) {
|
||||
try {
|
||||
Optional<IJavaProject> maybeProject = projectFinder.find(new TextDocumentIdentifier(deletedDocURI));
|
||||
Optional<IJavaProject> maybeProject = projectFinder().find(new TextDocumentIdentifier(deletedDocURI));
|
||||
if (maybeProject.isPresent()) {
|
||||
DeleteItem deleteItem = new DeleteItem(maybeProject.get(), deletedDocURI, this.indexer);
|
||||
return CompletableFuture.runAsync(deleteItem, this.updateQueue);
|
||||
@@ -674,7 +697,5 @@ public class SpringSymbolIndex {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2019 Pivotal, Inc.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* https://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.boot.app;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.ide.vscode.boot.java.Annotations;
|
||||
import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup;
|
||||
import org.springframework.ide.vscode.boot.java.beans.BeansSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.beans.ComponentSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.data.DataRepositorySymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxRouterSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.RestrictedDefaultSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolCache;
|
||||
|
||||
@Configuration
|
||||
public class SpringSymbolIndexerConfig {
|
||||
|
||||
@Bean
|
||||
AnnotationHierarchyAwareLookup<SymbolProvider> symbolProviders(SymbolCache cache) {
|
||||
AnnotationHierarchyAwareLookup<SymbolProvider> providers = new AnnotationHierarchyAwareLookup<>();
|
||||
RequestMappingSymbolProvider requestMappingSymbolProvider = new RequestMappingSymbolProvider();
|
||||
BeansSymbolProvider beansSymbolProvider = new BeansSymbolProvider();
|
||||
ComponentSymbolProvider componentSymbolProvider = new ComponentSymbolProvider();
|
||||
RestrictedDefaultSymbolProvider restrictedDefaultSymbolProvider = new RestrictedDefaultSymbolProvider();
|
||||
DataRepositorySymbolProvider dataRepositorySymbolProvider = new DataRepositorySymbolProvider();
|
||||
WebfluxRouterSymbolProvider webfluxRouterSymbolProvider = new WebfluxRouterSymbolProvider();
|
||||
|
||||
providers.put(Annotations.SPRING_REQUEST_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_GET_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_POST_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_PUT_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_DELETE_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_PATCH_MAPPING, requestMappingSymbolProvider);
|
||||
|
||||
providers.put(Annotations.BEAN, beansSymbolProvider);
|
||||
providers.put(Annotations.COMPONENT, componentSymbolProvider);
|
||||
|
||||
providers.put(Annotations.PROFILE, restrictedDefaultSymbolProvider);
|
||||
|
||||
providers.put(Annotations.CONDITIONAL, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_BEAN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_MISSING_BEAN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_PROPERTY, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_RESOURCE, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_CLASS, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_MISSING_CLASS, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_CLOUD_PLATFORM, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_WEB_APPLICATION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_NOT_WEB_APPLICATION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_INFO_CONTRIBUTOR, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_RESOURCE_CHAIN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_ENDPOINT, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_HEALTH_INDICATOR, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_EXPRESSION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_JAVA, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_JNDI, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_SINGLE_CANDIDATE, restrictedDefaultSymbolProvider);
|
||||
|
||||
providers.put(Annotations.REPOSITORY, dataRepositorySymbolProvider);
|
||||
providers.put("", webfluxRouterSymbolProvider);
|
||||
|
||||
return providers;
|
||||
}
|
||||
}
|
||||
@@ -17,18 +17,15 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.lsp4j.CompletionItemKind;
|
||||
import org.eclipse.lsp4j.InitializeParams;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.boot.app.BootJavaConfig;
|
||||
import org.springframework.ide.vscode.boot.app.BootLanguageServerParams;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup;
|
||||
import org.springframework.ide.vscode.boot.java.autowired.AutowiredHoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.beans.BeansSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.beans.ComponentSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.conditionals.ConditionalsLiveHoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.data.DataRepositoryCompletionProcessor;
|
||||
import org.springframework.ide.vscode.boot.java.data.DataRepositorySymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.BootJavaCodeLensEngine;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.BootJavaCompletionEngine;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.BootJavaDocumentHighlightEngine;
|
||||
@@ -42,26 +39,21 @@ import org.springframework.ide.vscode.boot.java.handlers.HighlightProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.HoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.ReferenceProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.RunningAppProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.links.SourceLinks;
|
||||
import org.springframework.ide.vscode.boot.java.livehover.ActiveProfilesProvider;
|
||||
import org.springframework.ide.vscode.boot.java.livehover.BeanInjectedIntoHoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.livehover.ComponentInjectionsHoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.LiveAppURLSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingHoverProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.RequestMappingSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxHandlerCodeLensProvider;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxRouteHighlightProdivder;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxRouterSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.scope.ScopeCompletionProcessor;
|
||||
import org.springframework.ide.vscode.boot.java.snippets.JavaSnippet;
|
||||
import org.springframework.ide.vscode.boot.java.snippets.JavaSnippetContext;
|
||||
import org.springframework.ide.vscode.boot.java.snippets.JavaSnippetManager;
|
||||
import org.springframework.ide.vscode.boot.java.utils.CompilationUnitCache;
|
||||
import org.springframework.ide.vscode.boot.java.utils.RestrictedDefaultSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringLiveChangeDetectionWatchdog;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringLiveHoverWatchdog;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolCache;
|
||||
import org.springframework.ide.vscode.boot.java.value.ValueCompletionProcessor;
|
||||
import org.springframework.ide.vscode.boot.java.value.ValueHoverProvider;
|
||||
@@ -100,13 +92,13 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
// Do not add more components here. You should instead just make your new
|
||||
// components into separate beans.
|
||||
|
||||
private static final Set<LanguageId> LANGUAGES = ImmutableSet.of(LanguageId.JAVA, LanguageId.XML);
|
||||
public static final Set<LanguageId> LANGUAGES = ImmutableSet.of(LanguageId.JAVA, LanguageId.XML);
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(BootJavaLanguageServerComponents.class);
|
||||
|
||||
private final SimpleLanguageServer server;
|
||||
private final BootLanguageServerParams serverParams;
|
||||
private final SpringSymbolIndex indexer;
|
||||
// private final SpringSymbolIndex indexer;
|
||||
private final SpringPropertyIndexProvider propertyIndexProvider;
|
||||
private final ProjectBasedPropertyIndexProvider adHocPropertyIndexProvider;
|
||||
private final SpringLiveHoverWatchdog liveHoverWatchdog;
|
||||
@@ -126,7 +118,8 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
CompilationUnitCache cuCache,
|
||||
ProjectBasedPropertyIndexProvider adHocIndexProvider,
|
||||
SymbolCache symbolCache,
|
||||
BootJavaConfig config
|
||||
BootJavaConfig config,
|
||||
SpringSymbolIndex indexer
|
||||
) {
|
||||
this.server = server;
|
||||
this.serverParams = serverParams;
|
||||
@@ -144,17 +137,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
ReferencesHandler referencesHandler = createReferenceHandler(server, projectFinder);
|
||||
documents.onReferences(referencesHandler);
|
||||
|
||||
this.indexer = createAnnotationIndexer(server, serverParams, symbolCache);
|
||||
|
||||
documents.onDidSave(params -> {
|
||||
TextDocument document = params.getDocument();
|
||||
// Spring Boot LS get events from boot properties files as well, so filter them out
|
||||
if (getInterestingLanguages().contains(document.getLanguageId())) {
|
||||
String docURI = document.getId().getUri();
|
||||
String content = document.get();
|
||||
indexer.updateDocument(docURI, content);
|
||||
}
|
||||
});
|
||||
|
||||
documents.onDocumentSymbol(new BootJavaDocumentSymbolHandler(indexer));
|
||||
workspaceService.onWorkspaceSymbol(new BootJavaWorkspaceSymbolHandler(indexer,
|
||||
@@ -201,10 +183,10 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
serverParams.watchDogInterval,
|
||||
sourceLinks);
|
||||
|
||||
codeLensHandler = createCodeLensEngine();
|
||||
codeLensHandler = createCodeLensEngine(indexer);
|
||||
documents.onCodeLens(codeLensHandler);
|
||||
|
||||
highlightsEngine = createDocumentHighlightEngine();
|
||||
highlightsEngine = createDocumentHighlightEngine(indexer);
|
||||
documents.onDocumentHighlight(highlightsEngine);
|
||||
|
||||
config.addListener(ignore -> {
|
||||
@@ -215,8 +197,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
liveHoverWatchdog.disableHighlights();
|
||||
}
|
||||
|
||||
indexer.configureIndexer(config.isSpringXMLSupportEnabled());
|
||||
|
||||
// live change detection watchdog
|
||||
if (config.isChangeDetectionEnabled()) {
|
||||
liveChangeDetectionWatchdog.enableHighlights();
|
||||
@@ -226,7 +206,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
}
|
||||
});
|
||||
|
||||
server.onInitialize(this::initialize);
|
||||
server.doOnInitialized(this::initialized);
|
||||
server.onShutdown(this::shutdown);
|
||||
}
|
||||
@@ -253,26 +232,13 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
return highlightsEngine;
|
||||
}
|
||||
|
||||
private void initialize(InitializeParams params) {
|
||||
// this.indexer.initialize(server.getWorkspaceRoots());
|
||||
}
|
||||
|
||||
private void initialized() {
|
||||
this.indexer.serverInitialized();
|
||||
this.liveChangeDetectionWatchdog.start();
|
||||
|
||||
// TODO: due to a missing message from lsp4e this "initialized" is not called in
|
||||
// the LSP4E case
|
||||
// if this gets fixed, the code should move here (from "initialize" above)
|
||||
|
||||
// this.indexer.initialize(this.getWorkspaceRoot());
|
||||
// this.liveHoverWatchdog.start();
|
||||
}
|
||||
|
||||
private void shutdown() {
|
||||
this.liveHoverWatchdog.shutdown();
|
||||
this.liveChangeDetectionWatchdog.shutdown();
|
||||
this.indexer.shutdown();
|
||||
this.cuCache.dispose();
|
||||
}
|
||||
|
||||
@@ -382,52 +348,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
return new BootJavaHoverProvider(this, javaProjectFinder, providers, runningAppProvider);
|
||||
}
|
||||
|
||||
public SpringSymbolIndex createAnnotationIndexer(SimpleLanguageServer server, BootLanguageServerParams params, SymbolCache cache) {
|
||||
AnnotationHierarchyAwareLookup<SymbolProvider> providers = new AnnotationHierarchyAwareLookup<>();
|
||||
RequestMappingSymbolProvider requestMappingSymbolProvider = new RequestMappingSymbolProvider();
|
||||
BeansSymbolProvider beansSymbolProvider = new BeansSymbolProvider();
|
||||
ComponentSymbolProvider componentSymbolProvider = new ComponentSymbolProvider();
|
||||
RestrictedDefaultSymbolProvider restrictedDefaultSymbolProvider = new RestrictedDefaultSymbolProvider();
|
||||
DataRepositorySymbolProvider dataRepositorySymbolProvider = new DataRepositorySymbolProvider();
|
||||
WebfluxRouterSymbolProvider webfluxRouterSymbolProvider = new WebfluxRouterSymbolProvider();
|
||||
|
||||
providers.put(Annotations.SPRING_REQUEST_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_GET_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_POST_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_PUT_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_DELETE_MAPPING, requestMappingSymbolProvider);
|
||||
providers.put(Annotations.SPRING_PATCH_MAPPING, requestMappingSymbolProvider);
|
||||
|
||||
providers.put(Annotations.BEAN, beansSymbolProvider);
|
||||
providers.put(Annotations.COMPONENT, componentSymbolProvider);
|
||||
|
||||
providers.put(Annotations.PROFILE, restrictedDefaultSymbolProvider);
|
||||
|
||||
providers.put(Annotations.CONDITIONAL, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_BEAN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_MISSING_BEAN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_PROPERTY, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_RESOURCE, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_CLASS, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_MISSING_CLASS, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_CLOUD_PLATFORM, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_WEB_APPLICATION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_NOT_WEB_APPLICATION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_INFO_CONTRIBUTOR, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_RESOURCE_CHAIN, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_ENDPOINT, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_ENABLED_HEALTH_INDICATOR, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_EXPRESSION, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_JAVA, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_JNDI, restrictedDefaultSymbolProvider);
|
||||
providers.put(Annotations.CONDITIONAL_ON_SINGLE_CANDIDATE, restrictedDefaultSymbolProvider);
|
||||
|
||||
providers.put(Annotations.REPOSITORY, dataRepositorySymbolProvider);
|
||||
providers.put("", webfluxRouterSymbolProvider);
|
||||
|
||||
return new SpringSymbolIndex(server, params, providers, cache);
|
||||
}
|
||||
|
||||
protected ReferencesHandler createReferenceHandler(SimpleLanguageServer server, JavaProjectFinder projectFinder) {
|
||||
Map<String, ReferenceProvider> providers = new HashMap<>();
|
||||
providers.put(org.springframework.ide.vscode.boot.java.value.Constants.SPRING_VALUE,
|
||||
@@ -436,16 +356,16 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
return new BootJavaReferencesHandler(this, projectFinder, providers);
|
||||
}
|
||||
|
||||
protected BootJavaCodeLensEngine createCodeLensEngine() {
|
||||
protected BootJavaCodeLensEngine createCodeLensEngine(SpringSymbolIndex index) {
|
||||
Collection<CodeLensProvider> codeLensProvider = new ArrayList<>();
|
||||
codeLensProvider.add(new WebfluxHandlerCodeLensProvider(this));
|
||||
codeLensProvider.add(new WebfluxHandlerCodeLensProvider(index));
|
||||
|
||||
return new BootJavaCodeLensEngine(this, codeLensProvider);
|
||||
}
|
||||
|
||||
protected BootJavaDocumentHighlightEngine createDocumentHighlightEngine() {
|
||||
protected BootJavaDocumentHighlightEngine createDocumentHighlightEngine(SpringSymbolIndex indexer) {
|
||||
Collection<HighlightProvider> highlightProvider = new ArrayList<>();
|
||||
highlightProvider.add(new WebfluxRouteHighlightProdivder(this));
|
||||
highlightProvider.add(new WebfluxRouteHighlightProdivder(indexer));
|
||||
|
||||
return new BootJavaDocumentHighlightEngine(this, highlightProvider);
|
||||
}
|
||||
@@ -458,10 +378,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
|
||||
return projectFinder;
|
||||
}
|
||||
|
||||
public SpringSymbolIndex getSpringSymbolIndex() {
|
||||
return indexer;
|
||||
}
|
||||
|
||||
public SpringPropertyIndexProvider getSpringPropertyIndexProvider() {
|
||||
return propertyIndexProvider;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.List;
|
||||
|
||||
import org.eclipse.lsp4j.DocumentSymbolParams;
|
||||
import org.eclipse.lsp4j.SymbolInformation;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.DocumentSymbolHandler;
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,8 +14,8 @@ import java.util.List;
|
||||
|
||||
import org.eclipse.lsp4j.SymbolInformation;
|
||||
import org.eclipse.lsp4j.WorkspaceSymbolParams;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.LiveAppURLSymbolProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.WorkspaceSymbolHandler;
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,10 +18,10 @@ import org.eclipse.jdt.core.dom.IMethodBinding;
|
||||
import org.eclipse.jdt.core.dom.MethodDeclaration;
|
||||
import org.eclipse.lsp4j.CodeLens;
|
||||
import org.eclipse.lsp4j.Command;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.CodeLensProvider;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolAddOnInformation;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.util.BadLocationException;
|
||||
import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
|
||||
@@ -32,8 +32,8 @@ public class WebfluxHandlerCodeLensProvider implements CodeLensProvider {
|
||||
|
||||
private final SpringSymbolIndex springIndexer;
|
||||
|
||||
public WebfluxHandlerCodeLensProvider(BootJavaLanguageServerComponents bootJavaLanguageServerComponents) {
|
||||
this.springIndexer = bootJavaLanguageServerComponents.getSpringSymbolIndex();
|
||||
public WebfluxHandlerCodeLensProvider(SpringSymbolIndex springIndexer) {
|
||||
this.springIndexer = springIndexer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,9 +17,8 @@ import org.eclipse.lsp4j.DocumentHighlight;
|
||||
import org.eclipse.lsp4j.Position;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.HighlightProvider;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
|
||||
/**
|
||||
@@ -31,8 +30,8 @@ public class WebfluxRouteHighlightProdivder implements HighlightProvider {
|
||||
|
||||
private final SpringSymbolIndex springIndexer;
|
||||
|
||||
public WebfluxRouteHighlightProdivder(BootJavaLanguageServerComponents bootJavaLanguageServerComponents) {
|
||||
this.springIndexer = bootJavaLanguageServerComponents.getSpringSymbolIndex();
|
||||
public WebfluxRouteHighlightProdivder(SpringSymbolIndex indexer) {
|
||||
this.springIndexer = indexer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,11 +15,11 @@ import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.BootLanguageServerInitializer;
|
||||
import org.springframework.ide.vscode.boot.app.BootLanguageServerParams;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.editor.harness.PropertyIndexHarness;
|
||||
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
|
||||
import org.springframework.ide.vscode.boot.java.links.SourceLinkFactory;
|
||||
import org.springframework.ide.vscode.boot.java.links.SourceLinks;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolCache;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SymbolCacheVoid;
|
||||
import org.springframework.ide.vscode.boot.metadata.DefaultSpringPropertyIndexProvider;
|
||||
@@ -53,10 +53,6 @@ public class SymbolProviderTestConf {
|
||||
return BootLanguageServerParams.createTestDefault(server, valueProviders);
|
||||
}
|
||||
|
||||
@Bean SpringSymbolIndex springSymbolIndex(BootLanguageServerInitializer serverInit) {
|
||||
return serverInit.getComponents().get(BootJavaLanguageServerComponents.class).getSpringSymbolIndex();
|
||||
}
|
||||
|
||||
@Bean DefaultSpringPropertyIndexProvider indexProvider(BootLanguageServerParams serverParams) {
|
||||
return (DefaultSpringPropertyIndexProvider) serverParams.indexProvider;
|
||||
}
|
||||
|
||||
@@ -21,9 +21,9 @@ import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.BootLanguageServerInitializer;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
|
||||
|
||||
@@ -20,9 +20,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.eclipse.lsp4j.Range;
|
||||
import org.eclipse.lsp4j.SymbolInformation;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.util.text.LanguageId;
|
||||
import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
import org.springframework.ide.vscode.languageserver.testharness.Editor;
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
|
||||
|
||||
@@ -29,9 +29,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.text.LanguageId;
|
||||
import org.springframework.ide.vscode.languageserver.testharness.TextDocumentInfo;
|
||||
|
||||
@@ -28,11 +28,11 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.handlers.SymbolAddOnInformation;
|
||||
import org.springframework.ide.vscode.boot.java.requestmapping.WebfluxHandlerInformation;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.Assert;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
|
||||
@@ -25,9 +25,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.UriUtil;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
|
||||
@@ -30,9 +30,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.commons.util.Assert;
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.ide.vscode.boot.app.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.boot.bootiful.BootLanguageServerTest;
|
||||
import org.springframework.ide.vscode.boot.bootiful.SymbolProviderTestConf;
|
||||
import org.springframework.ide.vscode.boot.java.utils.SpringSymbolIndex;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
|
||||
import org.springframework.ide.vscode.project.harness.BootLanguageServerHarness;
|
||||
|
||||
Reference in New Issue
Block a user