Added Unified connection support (#3785)

* Added Unified connection support

* Use generic way to do expandNode.
Cleanup the ported code and removed unreference code. Added as needed later.
Resolved PR comments.

* Minor fixes and removed timer for all expanders for now. If any providers can't response, the tree node will spin and wait. We may improve later.

* Change handSessionClose to not thenable.
Added a node to OE to show error message instead of reject. So we could show partial expanded result if get any.
Resolve PR comments

* Minor fixes of PR comments
This commit is contained in:
Yurong He
2019-01-29 14:37:14 -08:00
committed by GitHub
parent b439ea45ec
commit 3ddc5e7846
37 changed files with 3087 additions and 80 deletions

View File

@@ -128,6 +128,10 @@ export abstract class ExtHostDataProtocolShape {
$findNodes(handle: number, findNodesInfo: sqlops.FindNodesInfo): Thenable<sqlops.ObjectExplorerFindNodesResponse> { throw ni(); }
$createObjectExplorerNodeProviderSession(handle: number, sessionInfo: sqlops.ObjectExplorerSession): Thenable<boolean> { throw ni(); }
$handleSessionClose(handle: number, closeSessionInfo: sqlops.ObjectExplorerCloseSessionInfo): void { throw ni(); }
/**
* Tasks
*/
@@ -507,6 +511,7 @@ export interface MainThreadDataProtocolShape extends IDisposable {
$registerQueryProvider(providerId: string, handle: number): TPromise<any>;
$registerProfilerProvider(providerId: string, handle: number): TPromise<any>;
$registerObjectExplorerProvider(providerId: string, handle: number): TPromise<any>;
$registerObjectExplorerNodeProvider(providerId: string, supportedProviderId: string, group: string, handle: number): TPromise<any>;
$registerMetadataProvider(providerId: string, handle: number): TPromise<any>;
$registerTaskServicesProvider(providerId: string, handle: number): TPromise<any>;
$registerFileBrowserProvider(providerId: string, handle: number): TPromise<any>;
@@ -526,7 +531,7 @@ export interface MainThreadDataProtocolShape extends IDisposable {
$onQueryMessage(handle: number, message: sqlops.QueryExecuteMessageParams): void;
$onObjectExplorerSessionCreated(handle: number, message: sqlops.ObjectExplorerSession): void;
$onObjectExplorerSessionDisconnected(handle: number, message: sqlops.ObjectExplorerSession): void;
$onObjectExplorerNodeExpanded(handle: number, message: sqlops.ObjectExplorerExpandInfo): void;
$onObjectExplorerNodeExpanded(providerId: string, message: sqlops.ObjectExplorerExpandInfo): void;
$onTaskCreated(handle: number, sessionResponse: sqlops.TaskInfo): void;
$onTaskStatusChanged(handle: number, sessionResponse: sqlops.TaskProgressInfo): void;
$onFileBrowserOpened(handle: number, response: sqlops.FileBrowserOpenedParams): void;
@@ -548,6 +553,7 @@ export interface MainThreadConnectionManagementShape extends IDisposable {
$getActiveConnections(): Thenable<sqlops.connection.Connection[]>;
$getCurrentConnection(): Thenable<sqlops.connection.Connection>;
$getCredentials(connectionId: string): Thenable<{ [name: string]: string }>;
$getServerInfo(connectedId: string): Thenable<sqlops.ServerInfo>;
$openConnectionDialog(providers: string[], initialConnectionProfile?: sqlops.IConnectionProfile, connectionCompletionOptions?: sqlops.IConnectionCompletionOptions): Thenable<sqlops.connection.Connection>;
$listDatabases(connectionId: string): Thenable<string[]>;
$getConnectionString(connectionId: string, includePassword: boolean): Thenable<string>;
@@ -717,6 +723,7 @@ export interface MainThreadObjectExplorerShape extends IDisposable {
$findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames: string[]): Thenable<sqlops.NodeInfo[]>;
$refresh(connectionId: string, nodePath: string): Thenable<sqlops.NodeInfo>;
$getNodeActions(connectionId: string, nodePath: string): Thenable<string[]>;
$getSessionConnectionProfile(sessionId: string): Thenable<sqlops.IConnectionProfile>;
}
export interface ExtHostModelViewDialogShape {