From af53a13e6b66698b25aa78c478fa2d331bde0754 Mon Sep 17 00:00:00 2001 From: Karl Burtram Date: Fri, 9 Feb 2018 21:58:47 -0800 Subject: [PATCH] Register credential provider after language client onReady (#657) --- .../client/src/controllers/mainController.ts | 50 ++++++------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/extensions/mssql/client/src/controllers/mainController.ts b/extensions/mssql/client/src/controllers/mainController.ts index d793570cd3..40dc884682 100644 --- a/extensions/mssql/client/src/controllers/mainController.ts +++ b/extensions/mssql/client/src/controllers/mainController.ts @@ -77,10 +77,6 @@ export default class MainController implements vscode.Disposable { return this.createClient(['MicrosoftSqlToolsCredentials.exe', 'MicrosoftSqlToolsCredentials']); } - private createSerializationClient(): Promise { - return this.createClient(['MicrosoftSqlToolsSerialization.exe', 'MicrosoftSqlToolsSerialization']); - } - private createResourceProviderClient(): Promise { return this.createClient(['SqlToolsResourceProviderService.exe', 'SqlToolsResourceProviderService']); } @@ -103,19 +99,6 @@ export default class MainController implements vscode.Disposable { { serviceInstalled: serverResult.installedBeforeInitializing ? 1 : 0 } ); - self.createSerializationClient().then(serializationClient => { - // Serialization - let serializationProvider: data.SerializationProvider = { - handle: 0, - saveAs(saveFormat: string, savePath: string, results: string, appendToFile: boolean): Thenable { - return self._serialization.saveAs(saveFormat, savePath, results, appendToFile); - } - }; - data.serialization.registerProvider(serializationProvider); - }, error => { - Utils.logDebug('Cannot find Serialization executables. error: ' + error, MainController._extensionConstants.extensionConfigSectionName); - }); - self.createResourceProviderClient().then(rpClient => { let resourceProvider = new AzureResourceProvider(self._client, rpClient); data.resources.registerResourceProvider({ @@ -131,28 +114,27 @@ export default class MainController implements vscode.Disposable { }); self.createCredentialClient().then(credentialClient => { - self._credentialStore.languageClient = credentialClient; - let credentialProvider: data.CredentialProvider = { - handle: 0, - saveCredential(credentialId: string, password: string): Thenable { - return self._credentialStore.saveCredential(credentialId, password); - }, - readCredential(credentialId: string): Thenable { - return self._credentialStore.readCredential(credentialId); - }, - deleteCredential(credentialId: string): Thenable { - return self._credentialStore.deleteCredential(credentialId); - } - }; - data.credentials.registerProvider(credentialProvider); - Utils.logDebug('credentialProvider registered', MainController._extensionConstants.extensionConfigSectionName); + (credentialClient).onReady().then(() => { + let credentialProvider: data.CredentialProvider = { + handle: 0, + saveCredential(credentialId: string, password: string): Thenable { + return self._credentialStore.saveCredential(credentialId, password); + }, + readCredential(credentialId: string): Thenable { + return self._credentialStore.readCredential(credentialId); + }, + deleteCredential(credentialId: string): Thenable { + return self._credentialStore.deleteCredential(credentialId); + } + }; + data.credentials.registerProvider(credentialProvider); + Utils.logDebug('credentialProvider registered', MainController._extensionConstants.extensionConfigSectionName); + }); }, error => { Utils.logDebug('Cannot find credentials executables. error: ' + error, MainController._extensionConstants.extensionConfigSectionName); }); - - Utils.logDebug(SharedConstants.extensionActivated, MainController._extensionConstants.extensionConfigSectionName); self._initialized = true; resolve(true);