Feature/viewlet cmsapis (#4312)

* first set of changes to experiment the registration of cms related apis

* Adding cms service entry to workbench

* Adding basic functionality for add remove reg servers and group

* Returning relative path as part of RegServerResult as string

* Removing the cms apis from core. Having mssql extension expose them for cms extension

* Propogating the backend name changes to apis

* Fixing some missing sqlops references

* Adding a sqltools service version with CMS apis available
This commit is contained in:
udeeshagautam
2019-03-22 17:24:45 -07:00
committed by Anthony Dresser
parent d00c3780a6
commit ddce7731b9
9 changed files with 283 additions and 7 deletions

View File

@@ -13,7 +13,7 @@ const localize = nls.loadMessageBundle();
import { SqlOpsDataClient, ClientOptions } from 'dataprotocol-client';
import { IConfig, ServerProvider, Events } from 'service-downloader';
import { ServerOptions, TransportKind } from 'vscode-languageclient';
import { ServerOptions, TransportKind, LanguageClient } from 'vscode-languageclient';
import * as Constants from './constants';
import ContextProvider from './contextProvider';
@@ -31,6 +31,7 @@ import { MssqlExtensionApi, MssqlObjectExplorerBrowser } from './api/mssqlapis';
import { OpenSparkJobSubmissionDialogCommand, OpenSparkJobSubmissionDialogFromFileCommand, OpenSparkJobSubmissionDialogTask } from './sparkFeature/dialog/dialogCommands';
import { OpenSparkYarnHistoryTask } from './sparkFeature/historyTask';
import { MssqlObjectExplorerNodeProvider, mssqlOutputChannel } from './objectExplorerNodeProvider/objectExplorerNodeProvider';
import { CmsService } from './cms/cmsService';
const baseConfig = require('./config.json');
const outputChannel = vscode.window.createOutputChannel(Constants.serviceName);
@@ -57,6 +58,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<MssqlE
const credentialsStore = new CredentialStore(config);
const resourceProvider = new AzureResourceProvider(config);
let languageClient: SqlOpsDataClient;
let cmsService: CmsService;
const serverdownloader = new ServerProvider(config);
@@ -83,7 +85,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<MssqlE
let appContext = new AppContext(context, new ApiWrapper());
const installationStart = Date.now();
serverdownloader.getOrDownloadServer().then(e => {
let serverPromise = serverdownloader.getOrDownloadServer().then(e => {
const installationComplete = Date.now();
let serverOptions = generateServerOptions(e);
languageClient = new SqlOpsDataClient(Constants.serviceName, serverOptions, clientOptions);
@@ -109,6 +111,9 @@ export async function activate(context: vscode.ExtensionContext): Promise<MssqlE
let nodeProvider = new MssqlObjectExplorerNodeProvider(prompter, appContext);
azdata.dataprotocol.registerObjectExplorerNodeProvider(nodeProvider);
cmsService = new CmsService(appContext, languageClient);
activateSparkFeatures(appContext);
activateNotebookTask(appContext);
}, e => {
@@ -136,6 +141,9 @@ export async function activate(context: vscode.ExtensionContext): Promise<MssqlE
return <any>oeProvider.findSqlClusterNodeByContext(context);
}
};
},
getCmsServiceProvider(): Promise<CmsService> {
return serverPromise.then(() => cmsService);
}
};
return api;