Fix compilation problem in bosh language server
This commit is contained in:
@@ -18,6 +18,7 @@ import org.springframework.ide.vscode.bosh.models.BoshCommandCloudConfigProvider
|
||||
import org.springframework.ide.vscode.bosh.models.BoshCommandReleasesProvider;
|
||||
import org.springframework.ide.vscode.bosh.models.BoshCommandStemcellsProvider;
|
||||
import org.springframework.ide.vscode.commons.util.LogRedirect;
|
||||
import org.springframework.ide.vscode.commons.yaml.reconcile.ASTTypeCache;
|
||||
|
||||
@SpringBootApplication
|
||||
public class BoshLanguageServerBootApp {
|
||||
@@ -29,6 +30,10 @@ public class BoshLanguageServerBootApp {
|
||||
SpringApplication.run(BoshLanguageServerBootApp.class, args);
|
||||
}
|
||||
|
||||
@Bean public ASTTypeCache astTypeCache() {
|
||||
return new ASTTypeCache();
|
||||
}
|
||||
|
||||
@Bean public String serverName() {
|
||||
return SERVER_NAME;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ package org.springframework.ide.vscode.bosh;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.ide.vscode.bosh.models.BoshModels;
|
||||
import org.springframework.ide.vscode.bosh.models.CloudConfigModel;
|
||||
import org.springframework.ide.vscode.bosh.models.DynamicModelProvider;
|
||||
@@ -49,6 +50,8 @@ public class BoshLanguageServerInitializer implements InitializingBean {
|
||||
private DynamicModelProvider<ReleasesModel> releasesProvider;
|
||||
|
||||
@Autowired private SimpleLanguageServer server;
|
||||
@Autowired private ApplicationContext appContext;
|
||||
@Autowired private ASTTypeCache astTypeCache;
|
||||
|
||||
private BoshSchemas schema;
|
||||
private VscodeCompletionEngineAdapter completionEngine;
|
||||
@@ -66,11 +69,10 @@ public class BoshLanguageServerInitializer implements InitializingBean {
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
BoshModels models = new BoshModels(cloudConfigProvider, stemcellsProvider, releasesProvider);
|
||||
BoshModels models = new BoshModels(cloudConfigProvider, stemcellsProvider, releasesProvider, astTypeCache);
|
||||
SimpleTextDocumentService documents = server.getTextDocumentService();
|
||||
schema = new BoshSchemas(models);
|
||||
YamlAstCache asts = models.asts;
|
||||
ASTTypeCache astTypeCache = models.astTypes;
|
||||
|
||||
YamlStructureProvider structureProvider = YamlStructureProvider.DEFAULT;
|
||||
YamlAssistContextProvider contextProvider = new SchemaBasedYamlAssistContextProvider(schema);
|
||||
@@ -80,8 +82,7 @@ public class BoshLanguageServerInitializer implements InitializingBean {
|
||||
HoverInfoProvider infoProvider = new YamlHoverInfoProvider(asts.getAstProvider(true), structureProvider, contextProvider);
|
||||
VscodeHoverEngineAdapter hoverEngine = new VscodeHoverEngineAdapter(server, infoProvider);
|
||||
YamlQuickfixes quickfixes = new YamlQuickfixes(server.getQuickfixRegistry(), server.getTextDocumentService(), structureProvider);
|
||||
YamlSchemaBasedReconcileEngine engine = new YamlSchemaBasedReconcileEngine(asts.getAstProvider(false), schema, quickfixes);
|
||||
engine.setTypeCollector(astTypeCache);
|
||||
YamlSchemaBasedReconcileEngine engine = new YamlSchemaBasedReconcileEngine(asts.getAstProvider(false), schema, quickfixes, appContext);
|
||||
documents.onDocumentSymbol(new TypeBasedYamlSymbolHandler(documents, astTypeCache, schema.getDefinitionTypes()));
|
||||
|
||||
documents.onDidChangeContent(params -> {
|
||||
|
||||
@@ -18,17 +18,20 @@ import org.springframework.ide.vscode.commons.yaml.schema.DynamicSchemaContext;
|
||||
|
||||
public class BoshModels {
|
||||
public final YamlAstCache asts = new YamlAstCache();
|
||||
public final ASTTypeCache astTypes = new ASTTypeCache();
|
||||
public final ASTTypeCache astTypes;
|
||||
public final DynamicModelProvider<CloudConfigModel> cloudConfigProvider;
|
||||
public final DynamicModelProvider<StemcellsModel> stemcellsProvider;
|
||||
public final DynamicModelProvider<ReleasesModel> releasesProvider;
|
||||
|
||||
public BoshModels(DynamicModelProvider<CloudConfigModel> cloudConfigProvider,
|
||||
DynamicModelProvider<StemcellsModel> stemcellsProvider,
|
||||
DynamicModelProvider<ReleasesModel> releasesProvider) {
|
||||
DynamicModelProvider<ReleasesModel> releasesProvider,
|
||||
ASTTypeCache astTypes
|
||||
) {
|
||||
this.cloudConfigProvider = cloudConfigProvider;
|
||||
this.stemcellsProvider = stemcellsProvider;
|
||||
this.releasesProvider = releasesProvider;
|
||||
this.astTypes = astTypes;
|
||||
}
|
||||
|
||||
public String getTypeTag(DynamicSchemaContext dc) {
|
||||
|
||||
@@ -15,6 +15,7 @@ import static org.junit.Assert.assertEquals;
|
||||
import org.junit.Test;
|
||||
import org.springframework.ide.vscode.bosh.models.BoshModels;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SnippetBuilder;
|
||||
import org.springframework.ide.vscode.commons.yaml.reconcile.ASTTypeCache;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.DynamicSchemaContext;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YType;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YTypeUtil;
|
||||
@@ -22,7 +23,7 @@ import org.springframework.ide.vscode.commons.yaml.snippet.SchemaBasedSnippetGen
|
||||
|
||||
public class SchemaBasedSnippetGeneratorTest {
|
||||
|
||||
private BoshDeploymentManifestSchema schema = new BoshSchemas(new BoshModels((dc) -> null, (dc) -> null, (dc) -> null)).getDeploymentSchema();
|
||||
private BoshDeploymentManifestSchema schema = new BoshSchemas(new BoshModels((dc) -> null, (dc) -> null, (dc) -> null, new ASTTypeCache())).getDeploymentSchema();
|
||||
private YTypeUtil typeUtil = schema.getTypeUtil();
|
||||
private SchemaBasedSnippetGenerator generator = new SchemaBasedSnippetGenerator(typeUtil, SnippetBuilder::new);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user