From 4033f3a134d43ee2657120f8763dd1f621f7caaa Mon Sep 17 00:00:00 2001 From: "BENTLEY\\Deividas.Davidaviciu" Date: Mon, 26 Jun 2023 13:01:54 +0300 Subject: [PATCH] PR comment fixes --- .../src/ElementCascadingDeleter.ts | 23 +++++++++++-------- packages/transformer/src/IModelImporter.ts | 4 ++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/transformer/src/ElementCascadingDeleter.ts b/packages/transformer/src/ElementCascadingDeleter.ts index f6da0a51..a13d13bb 100644 --- a/packages/transformer/src/ElementCascadingDeleter.ts +++ b/packages/transformer/src/ElementCascadingDeleter.ts @@ -12,7 +12,7 @@ import { DbResult, Id64String } from "@itwin/core-bentley"; * @param iModel The iModel * @param topElement The parent of the sub-tree */ -export function deleteElementCascadeTree(iModel: IModelDb, topElement: Id64String): void { +export function deleteElementTreeCascade(iModel: IModelDb, topElement: Id64String): void { const del = new ElementCascadingDeleter(iModel); del.deleteNormalElements(topElement); del.deleteSpecialElements(); @@ -27,7 +27,7 @@ export class ElementCascadingDeleter extends ElementTreeDeleter { /** The main tree-walking function */ protected override processElementTree(element: Id64String, scope: ElementTreeWalkerScope): void { - if(this.shouldVisitCodeScopes(element, scope)) { + if (this.shouldVisitCodeScopes(element, scope)) { this._processCodeScopes(element, scope); } super.processElementTree(element, scope); @@ -35,12 +35,17 @@ export class ElementCascadingDeleter extends ElementTreeDeleter { /** Process code scope references */ private _processCodeScopes(element: Id64String, scope: ElementTreeWalkerScope) { const newScope = new ElementTreeWalkerScope(scope, element); - this._iModel.withPreparedStatement("select ECInstanceId from bis.Element where CodeScope.id=? and Parent.id is null", (stmt) => { - stmt.bindId(1, element); - while (stmt.step() === DbResult.BE_SQLITE_ROW) { - const elementId = stmt.getValue(0).getId(); - this.processElementTree(elementId, newScope); - } - }); + this._iModel.withPreparedStatement(` + SELECT ECInstanceId + FROM bis.Element + WHERE CodeScope.id=? + AND Parent.id IS NULL + `, (stmt) => { + stmt.bindId(1, element); + while (stmt.step() === DbResult.BE_SQLITE_ROW) { + const elementId = stmt.getValue(0).getId(); + this.processElementTree(elementId, newScope); + } + }); } } diff --git a/packages/transformer/src/IModelImporter.ts b/packages/transformer/src/IModelImporter.ts index 17bf5b04..a03db775 100644 --- a/packages/transformer/src/IModelImporter.ts +++ b/packages/transformer/src/IModelImporter.ts @@ -14,7 +14,7 @@ import { TransformerLoggerCategory } from "./TransformerLoggerCategory"; import { ElementAspect, ElementMultiAspect, Entity, IModelDb, Relationship, RelationshipProps, SourceAndTarget, SubCategory } from "@itwin/core-backend"; import type { IModelTransformOptions } from "./IModelTransformer"; import * as assert from "assert"; -import { deleteElementCascadeTree } from "./ElementCascadingDeleter"; +import { deleteElementTreeCascade } from "./ElementCascadingDeleter"; const loggerCategory: string = TransformerLoggerCategory.IModelImporter; @@ -265,7 +265,7 @@ export class IModelImporter implements Required { * @note A subclass may override this method to customize delete behavior but should call `super.onDeleteElement`. */ protected onDeleteElement(elementId: Id64String): void { - deleteElementCascadeTree(this.targetDb, elementId); + deleteElementTreeCascade(this.targetDb, elementId); Logger.logInfo(loggerCategory, `Deleted element ${elementId} and its descendants`); this.trackProgress(); }