Bootify: remove deprecated CompletionEngine ...

from CompositeLanguageServerComponents
This commit is contained in:
Kris De Volder
2020-10-03 18:04:00 -07:00
parent 3be81b848f
commit d1d31e2a7c
3 changed files with 6 additions and 39 deletions

View File

@@ -41,7 +41,6 @@ public class CompositeLanguageServerComponents implements LanguageServerComponen
public static class Builder {
private Map<LanguageId, LanguageServerComponents> componentsByLanguageId = new HashMap<>();
private List<ICompletionEngine> completionEngines;
public void add(LanguageServerComponents components) {
for (LanguageId language : components.getInterestingLanguages()) {
@@ -54,33 +53,14 @@ public class CompositeLanguageServerComponents implements LanguageServerComponen
public CompositeLanguageServerComponents build(SimpleLanguageServer server) {
return new CompositeLanguageServerComponents(server, this);
}
public void completionEngines(List<ICompletionEngine> completionEngines) {
Assert.isNull("completionEngines should only be set once", this.completionEngines);
this.completionEngines = completionEngines;
}
}
private final Map<LanguageId, LanguageServerComponents> componentsByLanguageId;
private final CompositeCompletionEngine completionEngine;
private final IReconcileEngine reconcileEngine;
private final HoverHandler hoverHandler;
public CompositeLanguageServerComponents(SimpleLanguageServer server, Builder builder) {
this.componentsByLanguageId = ImmutableMap.copyOf(builder.componentsByLanguageId);
//Create composite Completion engine
this.completionEngine = new CompositeCompletionEngine();
for (Entry<LanguageId, LanguageServerComponents> entry : componentsByLanguageId.entrySet()) {
ICompletionEngine engine = entry.getValue().getCompletionEngine().orElse(null);
if (engine!=null) {
completionEngine.add(entry.getKey(), engine);
}
}
if (builder.completionEngines!=null) {
for (ICompletionEngine engine : builder.completionEngines) {
this.completionEngine.add(engine);
}
}
//Create composite Reconcile engine
if (componentsByLanguageId.values().stream().map(LanguageServerComponents::getReconcileEngine).anyMatch(Optional::isPresent)) {
this.reconcileEngine = new IReconcileEngine() {
@@ -126,11 +106,6 @@ public class CompositeLanguageServerComponents implements LanguageServerComponen
return componentsByLanguageId.keySet();
}
@Override
public Optional<ICompletionEngine> getCompletionEngine() {
return Optional.ofNullable(completionEngine);
}
@Override
public HoverHandler getHoverProvider() {
return hoverHandler;

View File

@@ -23,14 +23,5 @@ public interface LanguageServerComponents {
Set<LanguageId> getInterestingLanguages();
default Optional<IReconcileEngine> getReconcileEngine() { return Optional.empty(); }
/**
* Don't use language server components. Instead create a bean of type ICompletionEngine that implements
* {@link LanguageSpecific}. The bean will be automatically wired up to handle completion requests for
* documents of the language(s) it handles.
*/
@Deprecated
default Optional<ICompletionEngine> getCompletionEngine() { return Optional.empty(); }
HoverHandler getHoverProvider();
}