mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-17 17:22:42 -05:00
44 lines
2.1 KiB
TypeScript
44 lines
2.1 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as vscode from 'vscode';
|
|
import * as azdata from 'azdata';
|
|
|
|
|
|
import * as constants from './constants';
|
|
import * as utils from './utils';
|
|
|
|
import { ApiWrapper } from './apiWrapper';
|
|
import { AppContext } from './appContext';
|
|
import { DataSourceWizardService } from './services/contracts';
|
|
import { managerInstance, ApiType } from './services/serviceApiManager';
|
|
import { OpenVirtualizeDataWizardCommand, OpenVirtualizeDataWizardTask, OpenMssqlHdfsTableFromFileWizardCommand } from './wizards/wizardCommands';
|
|
import { ServiceClient } from './services/serviceClient';
|
|
import { TelemetryReporter } from './services/telemetry';
|
|
|
|
export function activate(extensionContext: vscode.ExtensionContext): void {
|
|
let apiWrapper = new ApiWrapper();
|
|
let appContext = new AppContext(extensionContext, apiWrapper);
|
|
|
|
let wizard = managerInstance.onRegisteredApi<DataSourceWizardService>(ApiType.DataSourceWizard);
|
|
wizard((wizardService: DataSourceWizardService) => {
|
|
apiWrapper.setCommandContext(constants.CommandContext.WizardServiceEnabled, true);
|
|
|
|
extensionContext.subscriptions.push(new OpenVirtualizeDataWizardCommand(appContext, wizardService));
|
|
apiWrapper.registerTaskHandler(constants.virtualizeDataTask, (profile: azdata.IConnectionProfile) => {
|
|
new OpenVirtualizeDataWizardTask(appContext, wizardService).execute(profile);
|
|
});
|
|
|
|
extensionContext.subscriptions.push(new OpenMssqlHdfsTableFromFileWizardCommand(appContext, wizardService));
|
|
});
|
|
|
|
const outputChannel = apiWrapper.createOutputChannel(constants.serviceName);
|
|
let serviceClient = new ServiceClient(apiWrapper, outputChannel);
|
|
serviceClient.startService(extensionContext).then(success => undefined, err => {
|
|
apiWrapper.showErrorMessage(utils.getErrorMessage(err));
|
|
});
|
|
extensionContext.subscriptions.push(TelemetryReporter);
|
|
}
|