Turn RunningAppProvider into a bean

This commit is contained in:
Kris De Volder
2019-03-29 13:42:09 -07:00
parent 68c26e29de
commit 3f70e16f37
12 changed files with 61 additions and 19 deletions

View File

@@ -18,6 +18,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClas
import org.springframework.context.annotation.Bean;
import org.springframework.ide.vscode.boot.common.PropertyCompletionFactory;
import org.springframework.ide.vscode.boot.common.RelaxedNameConfig;
import org.springframework.ide.vscode.boot.java.handlers.RunningAppProvider;
import org.springframework.ide.vscode.boot.java.links.DefaultJavaElementLocationProvider;
import org.springframework.ide.vscode.boot.java.links.EclipseJavaDocumentUriProvider;
import org.springframework.ide.vscode.boot.java.links.JavaDocumentUriProvider;
@@ -76,6 +77,12 @@ public class BootLanguagServerBootApp {
}
}
@ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness")
@Bean
RunningAppProvider runningAppProvider(SimpleLanguageServer server) {
return RunningAppProvider.createDefault(server);
}
@ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness")
@Bean AdHocSpringPropertyIndexProvider adHocProperties(BootLanguageServerParams params, FileObserver fileObserver, DocumentEventListenerManager documentEvents) {
return new AdHocSpringPropertyIndexProvider(params.projectFinder, params.projectObserver, fileObserver, documentEvents);

View File

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
import org.springframework.ide.vscode.boot.java.handlers.RunningAppProvider;
import org.springframework.ide.vscode.boot.java.links.JavaElementLocationProvider;
import org.springframework.ide.vscode.boot.java.links.SourceLinks;
import org.springframework.ide.vscode.boot.java.utils.CompilationUnitCache;
@@ -50,6 +51,7 @@ public class BootLanguageServerInitializer implements InitializingBean {
@Autowired SymbolCache symbolCache;
@Autowired BootJavaConfig config;
@Autowired SpringSymbolIndex springIndexer;
@Autowired RunningAppProvider runningAppProvider;
@Qualifier("adHocProperties") @Autowired ProjectBasedPropertyIndexProvider adHocProperties;
@@ -75,7 +77,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, springIndexer));
builder.add(new BootJavaLanguageServerComponents(server, params, sourceLinks, cuCache, adHocProperties, symbolCache, config, springIndexer, runningAppProvider));
components = builder.build(server);
params.projectObserver.addListener(reconcileOpenDocuments(server, components));

View File

@@ -76,7 +76,7 @@ public class BootLanguageServerParams {
public final TypeUtilProvider typeUtilProvider;
//Boot Java
public final RunningAppProvider runningAppProvider;
//public final RunningAppProvider runningAppProvider;
public final Duration watchDogInterval;
public BootLanguageServerParams(
@@ -84,7 +84,6 @@ public class BootLanguageServerParams {
ProjectObserver projectObserver,
SpringPropertyIndexProvider indexProvider,
TypeUtilProvider typeUtilProvider,
RunningAppProvider runningAppProvider,
Duration watchDogInterval
) {
super();
@@ -93,7 +92,6 @@ public class BootLanguageServerParams {
this.projectObserver = projectObserver;
this.indexProvider = indexProvider;
this.typeUtilProvider = typeUtilProvider;
this.runningAppProvider = runningAppProvider;
this.watchDogInterval = watchDogInterval;
}
@@ -114,7 +112,6 @@ public class BootLanguageServerParams {
jdtProjectCache,
indexProvider,
(SourceLinks sourceLinks, IDocument doc) -> new TypeUtil(sourceLinks, jdtProjectCache.find(new TextDocumentIdentifier(doc.getUri()))),
RunningAppProvider.createDefault(server),
SpringLiveHoverWatchdog.DEFAULT_INTERVAL
);
}
@@ -182,7 +179,6 @@ public class BootLanguageServerParams {
projectObserver,
indexProvider,
(SourceLinks sourceLinks, IDocument doc) -> new TypeUtil(sourceLinks, javaProjectFinder.find(new TextDocumentIdentifier(doc.getUri()))),
RunningAppProvider.NULL,
SpringLiveHoverWatchdog.DEFAULT_INTERVAL
);
}

View File

@@ -98,7 +98,6 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
private final SimpleLanguageServer server;
private final BootLanguageServerParams serverParams;
// private final SpringSymbolIndex indexer;
private final SpringPropertyIndexProvider propertyIndexProvider;
private final ProjectBasedPropertyIndexProvider adHocPropertyIndexProvider;
private final SpringLiveHoverWatchdog liveHoverWatchdog;
@@ -119,7 +118,8 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
ProjectBasedPropertyIndexProvider adHocIndexProvider,
SymbolCache symbolCache,
BootJavaConfig config,
SpringSymbolIndex indexer
SpringSymbolIndex indexer,
RunningAppProvider runningAppProvider
) {
this.server = server;
this.serverParams = serverParams;
@@ -140,14 +140,14 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
documents.onDocumentSymbol(new BootJavaDocumentSymbolHandler(indexer));
workspaceService.onWorkspaceSymbol(new BootJavaWorkspaceSymbolHandler(indexer,
new LiveAppURLSymbolProvider(serverParams.runningAppProvider)));
new LiveAppURLSymbolProvider(runningAppProvider)));
// BootJavaCodeLensEngine codeLensHandler = createCodeLensEngine(server, projectFinder);
// documents.onCodeLens(codeLensHandler::createCodeLenses);
// documents.onCodeLensResolve(codeLensHandler::resolveCodeLens);
hoverProvider = createHoverHandler(projectFinder, serverParams.runningAppProvider, sourceLinks);
liveHoverWatchdog = new SpringLiveHoverWatchdog(server, hoverProvider, serverParams.runningAppProvider,
hoverProvider = createHoverHandler(projectFinder, runningAppProvider, sourceLinks);
liveHoverWatchdog = new SpringLiveHoverWatchdog(server, hoverProvider, runningAppProvider,
projectFinder, projectObserver, serverParams.watchDogInterval);
documents.onDidChangeContent(params -> {
TextDocument doc = params.getDocument();
@@ -178,7 +178,7 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
this,
server,
serverParams.projectObserver,
serverParams.runningAppProvider,
runningAppProvider,
projectFinder,
serverParams.watchDogInterval,
sourceLinks);