diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProvider.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProvider.java index aa5df4b17..3d7cf95a1 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProvider.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/BoshCommandStemcellsProvider.java @@ -34,6 +34,9 @@ public class BoshCommandStemcellsProvider extends BoshCommandBasedModelProvider< private static final YamlTraversal STEMCELL_OSS = STEMCELLS .thenValAt("os"); + private static final YamlTraversal STEMCELL_VERSIONS = STEMCELLS + .thenValAt("version"); + @Override public StemcellsModel getModel(DynamicSchemaContext dc) throws Exception { JSONCursor cursor = new JSONCursor(getJsonTree()); @@ -80,6 +83,11 @@ public class BoshCommandStemcellsProvider extends BoshCommandBasedModelProvider< public Collection getStemcellOss() { return getNames(STEMCELL_OSS); } + + @Override + public Collection getVersions() { + return getNames(STEMCELL_VERSIONS); + } }; } diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/StemcellsModel.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/StemcellsModel.java index 0b92eeb7e..6f83ab545 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/StemcellsModel.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/models/StemcellsModel.java @@ -19,4 +19,5 @@ public interface StemcellsModel { Collection getStemcellNames(); Collection getStemcellOss(); Collection getStemcells(); + Collection getVersions(); } diff --git a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java index 004a9fa69..e4a7c8e2f 100644 --- a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java +++ b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/bosh/BoshEditorTest.java @@ -936,13 +936,13 @@ public class BoshEditorTest { editor = harness.newEditor( "stemcells:\n" + "- alias: good\n" + - " os: ubuntu-trusty\n" + + " os: ubuntu\n" + "- alias: not-so-good\n" + " os: bogus<*>" ); editor.ignoreProblem(YamlSchemaProblems.MISSING_PROPERTY); editor.assertProblems( - "bogus|unknown 'StemcellOs'. Valid values are: [centos-7, ubuntu-trusty]" + "bogus|unknown 'StemcellOs'. Valid values are: [ubuntu, centos]" ); } 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 f255ef18a..097228ed5 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 @@ -57,4 +57,10 @@ public class BoshCommandStemcellsProviderTest { provider.getModel(mock(DynamicSchemaContext.class)).getStemcellOss()); } + @Test public void getVersions() throws Exception { + assertEquals(ImmutableSet.of("3421.11"), + provider.getModel(mock(DynamicSchemaContext.class)).getVersions()); + } + + }