From 733ca50f3e115127c97091bace9c76c3c1e4b9a3 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Wed, 16 Aug 2017 13:24:23 -0700 Subject: [PATCH] Avoid needless bosh cli execution if target not set --- .../ide/vscode/bosh/BoshLanguageServer.java | 1 - .../vscode/bosh/models/BoshCommandBasedModelProvider.java | 4 ++++ .../bosh/models/BoshCommandStemcellsProviderTest.java | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshLanguageServer.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshLanguageServer.java index 6991f9621..0316840cd 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshLanguageServer.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshLanguageServer.java @@ -24,7 +24,6 @@ import org.springframework.ide.vscode.commons.languageserver.util.Settings; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService; import org.springframework.ide.vscode.commons.languageserver.util.SimpleWorkspaceService; -import org.springframework.ide.vscode.commons.util.text.LanguageId; import org.springframework.ide.vscode.commons.util.text.TextDocument; import org.springframework.ide.vscode.commons.yaml.ast.YamlAstCache; import org.springframework.ide.vscode.commons.yaml.completion.SchemaBasedYamlAssistContextProvider; diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java index c0c6270e0..373784bd9 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandBasedModelProvider.java @@ -86,6 +86,10 @@ public abstract class BoshCommandBasedModelProvider implements DynamicModelPr } commandAndArgs.add(command); String target = config.getTarget(); + if (target==null && !StringUtil.hasText(System.getenv("BOSH_ENVIRONMENT"))) { + //See https://www.pivotaltracker.com/story/show/150309966 + return null; + } if (target!=null) { commandAndArgs.add("-e"); commandAndArgs.add(target); diff --git a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProviderTest.java b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProviderTest.java index a34c501a0..b5e13e2dc 100644 --- a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProviderTest.java +++ b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProviderTest.java @@ -82,13 +82,13 @@ public class BoshCommandStemcellsProviderTest { // verify(provider).executeCommand(eq(new ExternalCommand("bosh", "stemcells", "--json"))); // } - @Test public void obeysCliConfigCommand() throws Exception { + @Test public void obeysCliConfigCommandAndTarget() throws Exception { Map settings = ImmutableMap.of("bosh", ImmutableMap.of("cli", ImmutableMap.of( - "command", "alternate-command" + "command", "alternate-command", + "target", "some-target" ) )); - cliConfig.handleConfigurationChange(new Settings(settings)); assertEquals(ImmutableList.of( new StemcellData("bosh-vsphere-esxi-centos-7-go_agent", "3421.11", "centos-7"), @@ -96,7 +96,7 @@ public class BoshCommandStemcellsProviderTest { ), provider.getModel(mock(DynamicSchemaContext.class)).getStemcells() ); - verify(provider).executeCommand(eq(new ExternalCommand("alternate-command", "stemcells", "--json"))); + verify(provider).executeCommand(eq(new ExternalCommand("alternate-command", "-e", "some-target", "stemcells", "--json"))); } @Test public void obeysCliConfigTarget() throws Exception {