Capabilities Cache (#831)

* init

* finished compile erros

* fixed all merge conflicts

* fix dialog problems

* formatting

* fix opening dialog on first open

* fix various problems with connectiondialog

* formatting

* fix tests
This commit is contained in:
Anthony Dresser
2018-03-08 17:16:40 -08:00
committed by GitHub
parent 45b1ae1fb1
commit 8b2ea4f0a0
26 changed files with 302 additions and 414 deletions

View File

@@ -6,11 +6,11 @@
'use strict';
import * as sqlops from 'sqlops';
import { ConnectionManagementInfo } from 'sql/parts/connection/common/connectionManagementInfo';
import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesService';
import Event from 'vs/base/common/event';
import { Action } from 'vs/base/common/actions';
import { ICapabilitiesService, clientCapabilities } from 'sql/services/capabilities/capabilitiesService';
import { ConnectionOptionSpecialType } from 'sql/workbench/api/common/sqlExtHostTypes';
import Event, { Emitter } from 'vs/base/common/event';
import { Action } from 'vs/base/common/actions';
export class CapabilitiesTestService implements ICapabilitiesService {
@@ -18,8 +18,7 @@ export class CapabilitiesTestService implements ICapabilitiesService {
private _providers: sqlops.CapabilitiesProvider[] = [];
private _capabilities: sqlops.DataProtocolServerCapabilities[] = [];
public capabilities: { [id: string]: sqlops.DataProtocolServerCapabilities } = {};
constructor() {
@@ -95,15 +94,19 @@ export class CapabilitiesTestService implements ICapabilitiesService {
adminServicesProvider: undefined,
features: undefined
};
this._capabilities.push(msSQLCapabilities);
this.capabilities['MSSQL'] = msSQLCapabilities;
}
/**
* Retrieve a list of registered server capabilities
*/
public getCapabilities(): sqlops.DataProtocolServerCapabilities[] {
return this._capabilities;
public getCapabilities(provider: string): sqlops.DataProtocolServerCapabilities {
return this.capabilities[provider];
}
public get providers(): string[] {
return Object.keys(this.capabilities);
}
/**
@@ -125,5 +128,8 @@ export class CapabilitiesTestService implements ICapabilitiesService {
public onCapabilitiesReady(): Promise<void> {
return Promise.resolve(null);
}
private _onCapabilitiesRegistered = new Emitter<string>();
public readonly onCapabilitiesRegistered = this._onCapabilitiesRegistered.event;
}