Cleanups
Some useless LSFactories removed. Some unused obsolete methods removed.
This commit is contained in:
@@ -32,6 +32,6 @@ public class BootLanguagServerBootApp {
|
||||
|
||||
@ConditionalOnMissingClass("org.springframework.ide.vscode.languageserver.testharness.LanguageServerHarness")
|
||||
@Bean BootLanguageServerParams serverParams(SimpleLanguageServer server) {
|
||||
return BootLanguageServerParams.createDefault().create(server);
|
||||
return BootLanguageServerParams.createDefault(server);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class BootLanguageServerInitializer implements InitializingBean {
|
||||
|
||||
private CompositeLanguageServerComponents components;
|
||||
|
||||
private ComposableLanguageServer composableLs;
|
||||
private ComposableLanguageServer<CompositeLanguageServerComponents> composableLs;
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(BootLanguageServerInitializer.class);
|
||||
|
||||
@@ -49,38 +49,16 @@ public class BootLanguageServerInitializer implements InitializingBean {
|
||||
});
|
||||
}
|
||||
|
||||
public static ComposableLanguageServer<CompositeLanguageServerComponents> create(SimpleLanguageServer server, LSFactory<BootLanguageServerParams> _params) {
|
||||
return new ComposableLanguageServer<>(server, s -> {
|
||||
BootLanguageServerParams params = _params.create(s);
|
||||
CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder();
|
||||
builder.add(new BootPropertiesLanguageServerComponents(s, (ignore) -> params));
|
||||
builder.add(new BootJavaLanguageServerComponents(s, (ignore) -> params));
|
||||
CompositeLanguageServerComponents components = builder.build(s);
|
||||
params.projectObserver.addListener(reconcileOpenDocuments(s, components));
|
||||
return components;
|
||||
});
|
||||
}
|
||||
|
||||
public static ComposableLanguageServer<BootPropertiesLanguageServerComponents> createProperties(SimpleLanguageServer server, LSFactory<BootLanguageServerParams> params) {
|
||||
return new ComposableLanguageServer<>(server, s -> new BootPropertiesLanguageServerComponents(s, params));
|
||||
}
|
||||
|
||||
public static ComposableLanguageServer<BootJavaLanguageServerComponents> createJava(SimpleLanguageServer server, LSFactory<BootLanguageServerParams> params) {
|
||||
return new ComposableLanguageServer<>(server, s -> new BootJavaLanguageServerComponents(s, params));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
//TODO: ComposableLanguageServer object instance serves no purpose anymore. The constructor really just contains
|
||||
// some server intialization code. Migrate that code and get rid of the ComposableLanguageServer class
|
||||
this.composableLs = new ComposableLanguageServer<>(server, s -> {
|
||||
CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder();
|
||||
builder.add(new BootPropertiesLanguageServerComponents(s, (ignore) -> params));
|
||||
builder.add(new BootJavaLanguageServerComponents(s, (ignore) -> params));
|
||||
components = builder.build(s);
|
||||
params.projectObserver.addListener(reconcileOpenDocuments(s, components));
|
||||
return components;
|
||||
});
|
||||
CompositeLanguageServerComponents.Builder builder = new CompositeLanguageServerComponents.Builder();
|
||||
builder.add(new BootPropertiesLanguageServerComponents(server, (ignore) -> params));
|
||||
builder.add(new BootJavaLanguageServerComponents(server, (ignore) -> params));
|
||||
components = builder.build(server);
|
||||
params.projectObserver.addListener(reconcileOpenDocuments(server, components));
|
||||
this.composableLs = new ComposableLanguageServer<>(server, components);
|
||||
}
|
||||
|
||||
public CompositeLanguageServerComponents getComponents() {
|
||||
|
||||
@@ -89,29 +89,26 @@ public class BootLanguageServerParams {
|
||||
this.watchDogInterval = watchDogInterval;
|
||||
}
|
||||
|
||||
public static LSFactory<BootLanguageServerParams> createDefault() {
|
||||
//TODO: Get rid of LSFactory
|
||||
return (SimpleLanguageServer server) -> {
|
||||
// Initialize project finders, project caches and project observers
|
||||
JavaProjectsService jdtProjectCache = new JavaProjectsServiceWithFallback(
|
||||
server,
|
||||
new JdtLsProjectCache(server),
|
||||
() -> createFallbackProjectCache(server)
|
||||
);
|
||||
DefaultSpringPropertyIndexProvider indexProvider = new DefaultSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache);
|
||||
SpringPropertyIndexProvider adHocProvider = new AdHocSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache, server.getWorkspaceService().getFileObserver());
|
||||
indexProvider.setProgressService(server.getProgressService());
|
||||
public static BootLanguageServerParams createDefault(SimpleLanguageServer server) {
|
||||
// Initialize project finders, project caches and project observers
|
||||
JavaProjectsService jdtProjectCache = new JavaProjectsServiceWithFallback(
|
||||
server,
|
||||
new JdtLsProjectCache(server),
|
||||
() -> createFallbackProjectCache(server)
|
||||
);
|
||||
DefaultSpringPropertyIndexProvider indexProvider = new DefaultSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache);
|
||||
SpringPropertyIndexProvider adHocProvider = new AdHocSpringPropertyIndexProvider(jdtProjectCache, jdtProjectCache, server.getWorkspaceService().getFileObserver());
|
||||
indexProvider.setProgressService(server.getProgressService());
|
||||
|
||||
return new BootLanguageServerParams(
|
||||
jdtProjectCache.filter(BootProjectUtil::isBootProject),
|
||||
jdtProjectCache,
|
||||
indexProvider,
|
||||
adHocProvider,
|
||||
(IDocument doc) -> new TypeUtil(jdtProjectCache.find(new TextDocumentIdentifier(doc.getUri()))),
|
||||
RunningAppProvider.createDefault(server),
|
||||
SpringLiveHoverWatchdog.DEFAULT_INTERVAL
|
||||
);
|
||||
};
|
||||
return new BootLanguageServerParams(
|
||||
jdtProjectCache.filter(BootProjectUtil::isBootProject),
|
||||
jdtProjectCache,
|
||||
indexProvider,
|
||||
adHocProvider,
|
||||
(IDocument doc) -> new TypeUtil(jdtProjectCache.find(new TextDocumentIdentifier(doc.getUri()))),
|
||||
RunningAppProvider.createDefault(server),
|
||||
SpringLiveHoverWatchdog.DEFAULT_INTERVAL
|
||||
);
|
||||
}
|
||||
|
||||
private static JavaProjectsService createFallbackProjectCache(SimpleLanguageServer server) {
|
||||
|
||||
Reference in New Issue
Block a user