Add target description to services CA hints

This commit is contained in:
Kris De Volder
2017-04-25 08:09:11 -07:00
parent 2cdf0af492
commit 5a8864d622
2 changed files with 11 additions and 5 deletions

View File

@@ -17,6 +17,8 @@ import java.util.List;
import org.springframework.ide.vscode.commons.cloudfoundry.client.CFServiceInstance;
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFTarget;
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFTargetCache;
import org.springframework.ide.vscode.commons.util.Renderable;
import org.springframework.ide.vscode.commons.util.Renderables;
import org.springframework.ide.vscode.commons.yaml.schema.BasicYValueHint;
import org.springframework.ide.vscode.commons.yaml.schema.YValueHint;
@@ -38,12 +40,14 @@ public class ManifestYamlCFServicesProvider extends AbstractCFHintsProvider {
for (CFTarget cfTarget : targets) {
List<CFServiceInstance> services = cfTarget.getServices();
Renderable targetLabel = Renderables.text(cfTarget.getLabel());
if (services != null && !services.isEmpty()) {
for (CFServiceInstance service : services) {
String name = service.getName();
String label = getServiceLabel(cfTarget, service);
YValueHint hint = new BasicYValueHint(name, label);
YValueHint hint = new BasicYValueHint(name, label)
.setDocumentation(targetLabel);
if (!hints.contains(hint)) {
hints.add(hint);
}
@@ -56,8 +60,7 @@ public class ManifestYamlCFServicesProvider extends AbstractCFHintsProvider {
}
private String getServiceLabel(CFTarget cfClientTarget, CFServiceInstance service) {
return service.getName() + " - " + service.getPlan() + " (" + cfClientTarget.getParams().getOrgName() + " - "
+ cfClientTarget.getParams().getSpaceName() + ")";
return service.getName() + " - " + service.getPlan();
}
@Override

View File

@@ -991,15 +991,18 @@ public class ManifestYamlEditorTest {
ClientRequests cfClient = cloudfoundry.client;
CFServiceInstance service = Mockito.mock(CFServiceInstance.class);
when(service.getName()).thenReturn("mysql");
when(service.getPlan()).thenReturn("medium");
when(cfClient.getServices()).thenReturn(ImmutableList.of(service));
assertCompletions(
CompletionItem completion = assertCompletions(
"services:\n" +
" - <*>"
, // ==>
"services:\n" +
" - mysql<*>"
);
).get(0);
assertEquals("mysql - medium", completion.getLabel());
assertEquals("an-org : a-space [test.io]", completion.getDocumentation());
}
@Test