mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-19 01:25:36 -05:00
This reverts commit 756f77063a.
This commit is contained in:
@@ -17,6 +17,7 @@ import { ConnectionManagementInfo } from 'sql/platform/connection/common/connect
|
||||
import * as Utils from 'sql/platform/connection/common/utils';
|
||||
import * as Constants from 'sql/platform/connection/common/constants';
|
||||
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
|
||||
import { ICredentialsService } from 'sql/platform/credentials/common/credentialsService';
|
||||
import * as ConnectionContracts from 'sql/parts/connection/common/connection';
|
||||
import { ConnectionStatusManager } from 'sql/platform/connection/common/connectionStatusManager';
|
||||
import { DashboardInput } from 'sql/parts/dashboard/dashboardInput';
|
||||
@@ -43,7 +44,9 @@ import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IEditorService, ACTIVE_GROUP } from 'vs/workbench/services/editor/common/editorService';
|
||||
import * as platform from 'vs/platform/registry/common/platform';
|
||||
import { Memento } from 'vs/workbench/common/memento';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||
import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { EditorPart } from 'vs/workbench/browser/parts/editor/editorPart';
|
||||
@@ -74,13 +77,16 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
private _connectionGlobalStatus = new ConnectionGlobalStatus(this._statusBarService);
|
||||
|
||||
constructor(
|
||||
private _connectionMemento: Memento,
|
||||
private _connectionStore: ConnectionStore,
|
||||
@IStorageService _storageService: IStorageService,
|
||||
@IConnectionDialogService private _connectionDialogService: IConnectionDialogService,
|
||||
@IServerGroupController private _serverGroupController: IServerGroupController,
|
||||
@IInstantiationService private _instantiationService: IInstantiationService,
|
||||
@IEditorService private _editorService: IEditorService,
|
||||
@ITelemetryService private _telemetryService: ITelemetryService,
|
||||
@IConfigurationService private _configurationService: IConfigurationService,
|
||||
@ICredentialsService private _credentialsService: ICredentialsService,
|
||||
@ICapabilitiesService private _capabilitiesService: ICapabilitiesService,
|
||||
@IQuickInputService private _quickInputService: IQuickInputService,
|
||||
@IEditorGroupsService private _editorGroupService: IEditorGroupsService,
|
||||
@@ -91,8 +97,13 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
) {
|
||||
super();
|
||||
|
||||
// _connectionMemento and _connectionStore are in constructor to enable this class to be more testable
|
||||
if (!this._connectionMemento) {
|
||||
this._connectionMemento = new Memento('ConnectionManagement', _storageService);
|
||||
}
|
||||
if (!this._connectionStore) {
|
||||
this._connectionStore = _instantiationService.createInstance(ConnectionStore);
|
||||
this._connectionStore = new ConnectionStore(this._connectionMemento,
|
||||
this._configurationService, this._credentialsService, this._capabilitiesService);
|
||||
}
|
||||
|
||||
// Register Statusbar item
|
||||
@@ -124,6 +135,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
this.onConnectionChanged(() => this.refreshEditorTitles());
|
||||
this.onConnect(() => this.refreshEditorTitles());
|
||||
this.onDisconnect(() => this.refreshEditorTitles());
|
||||
_storageService.onWillSaveState(() => this.shutdown());
|
||||
}
|
||||
|
||||
public providerRegistered(providerId: string): boolean {
|
||||
@@ -612,11 +624,11 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
}
|
||||
|
||||
public clearRecentConnection(connectionProfile: IConnectionProfile): void {
|
||||
this._connectionStore.removeRecentConnection(connectionProfile);
|
||||
this._connectionStore.removeConnectionToMemento(connectionProfile, Constants.recentConnections);
|
||||
}
|
||||
|
||||
public getActiveConnections(providers?: string[]): ConnectionProfile[] {
|
||||
return this._connectionStatusManager.getActiveConnectionProfiles(providers);
|
||||
return this._connectionStatusManager.getActiveConnectionProfiles();
|
||||
}
|
||||
|
||||
public getConnectionUriFromId(connectionId: string): string {
|
||||
@@ -849,8 +861,8 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
* Add a connection to the active connections list.
|
||||
*/
|
||||
private tryAddActiveConnection(connectionManagementInfo: ConnectionManagementInfo, newConnection: IConnectionProfile, addToMru: boolean): void {
|
||||
if (newConnection && addToMru) {
|
||||
this._connectionStore.addRecentConnection(newConnection)
|
||||
if (newConnection) {
|
||||
this._connectionStore.addActiveConnection(newConnection, addToMru)
|
||||
.then(() => {
|
||||
connectionManagementInfo.connectHandler(true);
|
||||
}, err => {
|
||||
@@ -918,6 +930,11 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
public onIntelliSenseCacheComplete(handle: number, connectionUri: string): void {
|
||||
}
|
||||
|
||||
private shutdown(): void {
|
||||
this._connectionStore.clearActiveConnections();
|
||||
this._connectionMemento.saveMemento();
|
||||
}
|
||||
|
||||
public changeGroupIdForConnectionGroup(source: ConnectionProfileGroup, target: ConnectionProfileGroup): Promise<void> {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.MoveServerConnection);
|
||||
return this._connectionStore.changeGroupIdForConnectionGroup(source, target);
|
||||
@@ -1079,6 +1096,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti
|
||||
this.doDisconnect(uri, profile).then(result => {
|
||||
if (result) {
|
||||
this.addTelemetryForConnectionDisconnected(input);
|
||||
this._connectionStore.removeActiveConnection(input);
|
||||
this._connectionStatusManager.removeConnection(uri);
|
||||
resolve();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user