Cleanups
Some useless LSFactories removed. Some unused obsolete methods removed.
This commit is contained in:
@@ -26,16 +26,16 @@ import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
*
|
||||
* @author Kris De Volder
|
||||
*/
|
||||
public class ComposableLanguageServer<C extends LanguageServerComponents> implements SimpleLanguageServerWrapper {
|
||||
public class ComposableLanguageServer<C extends LanguageServerComponents> {
|
||||
|
||||
private final SimpleLanguageServer server;
|
||||
private C components;
|
||||
private VscodeCompletionEngineAdapter completionEngineAdapter;
|
||||
private HoverHandler hoverHandler;
|
||||
|
||||
public ComposableLanguageServer(SimpleLanguageServer server, LSFactory<C> _components) {
|
||||
public ComposableLanguageServer(SimpleLanguageServer server, C _components) {
|
||||
this.server = server;
|
||||
this.components = _components.create(server);
|
||||
this.components = _components;
|
||||
|
||||
SimpleTextDocumentService documents = server.getTextDocumentService();
|
||||
|
||||
@@ -58,25 +58,9 @@ public class ComposableLanguageServer<C extends LanguageServerComponents> implem
|
||||
documents.onHover(hoverHandler);
|
||||
}
|
||||
|
||||
public C getComponents() {
|
||||
return components;
|
||||
}
|
||||
|
||||
public void setMaxCompletionsNumber(int number) {
|
||||
if (completionEngineAdapter!=null) {
|
||||
completionEngineAdapter.setMaxCompletions(number);
|
||||
}
|
||||
}
|
||||
|
||||
public void setHoverType(HoverType type) {
|
||||
if (hoverHandler instanceof VscodeCompletionEngineAdapter) {
|
||||
((VscodeHoverEngineAdapter) hoverHandler).setHoverType(type);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SimpleLanguageServer getServer() {
|
||||
return this.server;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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