From 1017d62f0d40c4c81b978a10b4eb71874127cd68 Mon Sep 17 00:00:00 2001 From: Yurong He <43652751+YurongHe@users.noreply.github.com> Date: Mon, 4 Mar 2019 09:45:32 -0800 Subject: [PATCH] Move sql related code to sqlNotebook folder (#4254) * Move sql related code to sqlNotebook folder * Resolve PR comments: rename folder to sql. * Fixed the import path after rename folder --- .../parts/notebook/outputs/tableRenderers.ts | 2 +- .../notebook/common/notebookServiceImpl.ts | 50 +------------------ .../notebook/sql/sqlNotebookManager.ts | 39 +++++++++++++++ .../notebook/sql/sqlNotebookProvider.ts | 32 ++++++++++++ .../{common => sql}/sqlSessionManager.ts | 0 5 files changed, 73 insertions(+), 50 deletions(-) create mode 100644 src/sql/workbench/services/notebook/sql/sqlNotebookManager.ts create mode 100644 src/sql/workbench/services/notebook/sql/sqlNotebookProvider.ts rename src/sql/workbench/services/notebook/{common => sql}/sqlSessionManager.ts (100%) diff --git a/src/sql/parts/notebook/outputs/tableRenderers.ts b/src/sql/parts/notebook/outputs/tableRenderers.ts index 55ff5ab759..ff0990ebfa 100644 --- a/src/sql/parts/notebook/outputs/tableRenderers.ts +++ b/src/sql/parts/notebook/outputs/tableRenderers.ts @@ -7,8 +7,8 @@ import { TableDataView } from 'sql/base/browser/ui/table/tableDataView'; import { Table } from 'sql/base/browser/ui/table/table'; import { textFormatter } from 'sql/parts/grid/services/sharedServices'; import { RowNumberColumn } from 'sql/base/browser/ui/table/plugins/rowNumberColumn.plugin'; -import { IDataResource } from 'sql/workbench/services/notebook/common/sqlSessionManager'; import { escape } from 'sql/base/common/strings'; +import { IDataResource } from 'sql/workbench/services/notebook/sql/sqlSessionManager'; /** * Render DataResource as a grid into a host node. diff --git a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts index f28ef97c85..6467f1e05a 100644 --- a/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts +++ b/src/sql/workbench/services/notebook/common/notebookServiceImpl.ts @@ -16,8 +16,6 @@ import { } from 'sql/workbench/services/notebook/common/notebookService'; import { RenderMimeRegistry } from 'sql/parts/notebook/outputs/registry'; import { standardRendererFactories } from 'sql/parts/notebook/outputs/factories'; -import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; -import { SessionManager, noKernel } from 'sql/workbench/services/notebook/common/sessionManager'; import { Extensions, INotebookProviderRegistry, NotebookProviderRegistration } from 'sql/workbench/services/notebook/common/notebookRegistry'; import { Emitter, Event } from 'vs/base/common/event'; import { Memento } from 'vs/workbench/common/memento'; @@ -27,7 +25,6 @@ import { IExtensionManagementService, IExtensionIdentifier } from 'vs/platform/e import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { getIdFromLocalExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; import { Deferred } from 'sql/base/common/promise'; -import { SqlSessionManager } from 'sql/workbench/services/notebook/common/sqlSessionManager'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { NotebookEditorVisibleContext } from 'sql/workbench/services/notebook/common/notebookContext'; @@ -39,6 +36,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { registerNotebookThemes } from 'sql/parts/notebook/notebookStyles'; import { IQueryManagementService } from 'sql/platform/query/common/queryManagement'; import { ILanguageMagic, notebookConstants } from 'sql/parts/notebook/models/modelInterfaces'; +import { SqlNotebookProvider } from 'sql/workbench/services/notebook/sql/sqlNotebookProvider'; export interface NotebookProviderProperties { provider: string; @@ -470,50 +468,4 @@ export class NotebookService extends Disposable implements INotebookService { } }); } -} - -export class SqlNotebookProvider implements INotebookProvider { - private manager: SqlNotebookManager; - - constructor(private _instantiationService: IInstantiationService) { - this.manager = new SqlNotebookManager(this._instantiationService); - } - - public get providerId(): string { - return SQL_NOTEBOOK_PROVIDER; - } - - getNotebookManager(notebookUri: URI): Thenable { - return Promise.resolve(this.manager); - } - - handleNotebookClosed(notebookUri: URI): void { - // No-op - } -} - -export class SqlNotebookManager implements INotebookManager { - private _contentManager: nb.ContentManager; - private _sessionManager: nb.SessionManager; - - constructor(private _instantiationService: IInstantiationService) { - this._contentManager = new LocalContentManager(); - this._sessionManager = new SqlSessionManager(this._instantiationService); - } - - public get providerId(): string { - return SQL_NOTEBOOK_PROVIDER; - } - - public get contentManager(): nb.ContentManager { - return this._contentManager; - } - - public get serverManager(): nb.ServerManager { - return undefined; - } - - public get sessionManager(): nb.SessionManager { - return this._sessionManager; - } } \ No newline at end of file diff --git a/src/sql/workbench/services/notebook/sql/sqlNotebookManager.ts b/src/sql/workbench/services/notebook/sql/sqlNotebookManager.ts new file mode 100644 index 0000000000..1472698ca3 --- /dev/null +++ b/src/sql/workbench/services/notebook/sql/sqlNotebookManager.ts @@ -0,0 +1,39 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +'use strict'; + +import { nb } from 'sqlops'; + +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { INotebookManager, SQL_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/common/notebookService'; +import { LocalContentManager } from 'sql/workbench/services/notebook/node/localContentManager'; +import { SqlSessionManager } from 'sql/workbench/services/notebook/sql/sqlSessionManager'; + +export class SqlNotebookManager implements INotebookManager { + private _contentManager: nb.ContentManager; + private _sessionManager: nb.SessionManager; + + constructor(private _instantiationService: IInstantiationService) { + this._contentManager = new LocalContentManager(); + this._sessionManager = new SqlSessionManager(this._instantiationService); + } + + public get providerId(): string { + return SQL_NOTEBOOK_PROVIDER; + } + + public get contentManager(): nb.ContentManager { + return this._contentManager; + } + + public get serverManager(): nb.ServerManager { + return undefined; + } + + public get sessionManager(): nb.SessionManager { + return this._sessionManager; + } +} \ No newline at end of file diff --git a/src/sql/workbench/services/notebook/sql/sqlNotebookProvider.ts b/src/sql/workbench/services/notebook/sql/sqlNotebookProvider.ts new file mode 100644 index 0000000000..409990913b --- /dev/null +++ b/src/sql/workbench/services/notebook/sql/sqlNotebookProvider.ts @@ -0,0 +1,32 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +'use strict'; + +import { URI } from 'vs/base/common/uri'; + +import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; +import { INotebookManager, INotebookProvider, SQL_NOTEBOOK_PROVIDER } from 'sql/workbench/services/notebook/common/notebookService'; +import { SqlNotebookManager } from 'sql/workbench/services/notebook/sql/sqlNotebookManager'; + +export class SqlNotebookProvider implements INotebookProvider { + private manager: SqlNotebookManager; + + constructor(private _instantiationService: IInstantiationService) { + this.manager = new SqlNotebookManager(this._instantiationService); + } + + public get providerId(): string { + return SQL_NOTEBOOK_PROVIDER; + } + + getNotebookManager(notebookUri: URI): Thenable { + return Promise.resolve(this.manager); + } + + handleNotebookClosed(notebookUri: URI): void { + // No-op + } +} \ No newline at end of file diff --git a/src/sql/workbench/services/notebook/common/sqlSessionManager.ts b/src/sql/workbench/services/notebook/sql/sqlSessionManager.ts similarity index 100% rename from src/sql/workbench/services/notebook/common/sqlSessionManager.ts rename to src/sql/workbench/services/notebook/sql/sqlSessionManager.ts