From e3226415385f11bc0a257b9e6de47806563a89b4 Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Fri, 19 May 2023 08:49:13 -0700 Subject: [PATCH] Fixing OE nodes error handling. (#23172) --- .../contrib/objectExplorer/browser/serverTreeView.ts | 9 ++++++++- .../objectExplorer/browser/objectExplorerService.ts | 6 ++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts index 1045c50608..dafcb84faa 100644 --- a/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts +++ b/src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts @@ -23,7 +23,7 @@ import { IConnectionManagementService } from 'sql/platform/connection/common/con import { TreeCreationUtils } from 'sql/workbench/services/objectExplorer/browser/treeCreationUtils'; import { TreeUpdateUtils } from 'sql/workbench/services/objectExplorer/browser/treeUpdateUtils'; import { TreeSelectionHandler } from 'sql/workbench/services/objectExplorer/browser/treeSelectionHandler'; -import { IObjectExplorerService, IServerTreeView, ServerTreeViewView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; +import { ERROR_NODE_TYPE, IObjectExplorerService, IServerTreeView, ServerTreeViewView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService'; import { IConnectionProfile } from 'sql/platform/connection/common/interfaces'; import { Button } from 'sql/base/browser/ui/button/button'; import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode'; @@ -928,6 +928,13 @@ export class ServerTreeView extends Disposable implements IServerTreeView { } } } + + // In case of error node, we need to show the error message + if (node instanceof TreeNode) { + if (node.objectType === ERROR_NODE_TYPE) { + this.showError(node.label); + } + } } public getActionContext(element: ServerTreeElement): any { diff --git a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts index 6c61fa8450..5f26844fbb 100644 --- a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts @@ -38,6 +38,8 @@ export const enum ServerTreeViewView { active = 'active' } +export const ERROR_NODE_TYPE = 'error'; + export interface IServerTreeView { readonly tree: ITree | AsyncServerTree; readonly onSelectionOrFocusChange: Event; @@ -583,12 +585,12 @@ export class ObjectExplorerService implements IObjectExplorerService { }; let allNodes: azdata.NodeInfo[] = []; let errorNode: azdata.NodeInfo = { - nodePath: nodePath, + nodePath: '', parentNodePath: '', objectType: 'error', label: 'Error', errorMessage: '', - nodeType: 'error', + nodeType: ERROR_NODE_TYPE, isLeaf: true, nodeSubType: '', nodeStatus: '',