@itwin/imodel-transformer 2.0.0-dev.12 → 2.0.0-dev.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/BranchProvenanceInitializer.js +3 -3
- package/lib/cjs/BranchProvenanceInitializer.js.map +1 -1
- package/lib/cjs/ElementCascadingDeleter.js +1 -1
- package/lib/cjs/ElementCascadingDeleter.js.map +1 -1
- package/lib/cjs/EntityUnifier.d.ts.map +1 -1
- package/lib/cjs/EntityUnifier.js +4 -1
- package/lib/cjs/EntityUnifier.js.map +1 -1
- package/lib/cjs/IModelImporter.d.ts.map +1 -1
- package/lib/cjs/IModelImporter.js.map +1 -1
- package/lib/cjs/IModelTransformer.d.ts +26 -135
- package/lib/cjs/IModelTransformer.d.ts.map +1 -1
- package/lib/cjs/IModelTransformer.js +87 -742
- package/lib/cjs/IModelTransformer.js.map +1 -1
- package/lib/cjs/ProvenanceManager.d.ts +159 -0
- package/lib/cjs/ProvenanceManager.d.ts.map +1 -0
- package/lib/cjs/ProvenanceManager.js +677 -0
- package/lib/cjs/ProvenanceManager.js.map +1 -0
- package/lib/cjs/SyncTypeResolver.d.ts +34 -0
- package/lib/cjs/SyncTypeResolver.d.ts.map +1 -0
- package/lib/cjs/SyncTypeResolver.js +84 -0
- package/lib/cjs/SyncTypeResolver.js.map +1 -0
- package/package.json +15 -15
|
@@ -6,6 +6,7 @@ import { ChangesetIndexAndId, CodeSpec, ElementAspectProps, ElementProps, Extern
|
|
|
6
6
|
import { ChangedInstanceIds, ExportChangesOptions, ExportSchemaResult, IModelExporter, IModelExportHandler } from "./IModelExporter";
|
|
7
7
|
import { IModelImporter, OptimizeGeometryOptions } from "./IModelImporter";
|
|
8
8
|
import { IModelCloneContext } from "./IModelCloneContext";
|
|
9
|
+
import { ProvenanceManager } from "./ProvenanceManager";
|
|
9
10
|
/** Options provided to the [[IModelTransformer]] constructor.
|
|
10
11
|
* @beta
|
|
11
12
|
* @note if adding an option, you must explicitly add its serialization to [[IModelTransformer.saveStateToFile]]!
|
|
@@ -221,47 +222,23 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
221
222
|
* @beta
|
|
222
223
|
*/
|
|
223
224
|
private _linearSpatialTransform?;
|
|
224
|
-
private
|
|
225
|
+
private _syncTypeResolver;
|
|
226
|
+
protected _provenanceManager: ProvenanceManager;
|
|
225
227
|
/** The Id of the Element in the **target** iModel that represents the **source** repository as a whole and scopes its [ExternalSourceAspect]($backend) instances. */
|
|
226
228
|
get targetScopeElementId(): Id64String;
|
|
227
229
|
/** a set of elements for which source provenance will be explicitly tracked by ExternalSourceAspects */
|
|
228
230
|
protected _elementsWithExplicitlyTrackedProvenance: Set<string>;
|
|
229
231
|
protected _partiallyCommittedElementIds: Id64Set;
|
|
230
232
|
protected _partiallyCommittedAspectIds: Id64Set;
|
|
231
|
-
/** the options that were used to initialize this transformer */
|
|
232
|
-
private readonly _options;
|
|
233
233
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
234
|
+
* Tracks target element IDs that were imported (inserted or updated) during the current
|
|
235
|
+
* transformation pass. Used to prevent deletion of target elements that have been remapped
|
|
236
|
+
* to a new source element in the same pass (e.g., when a source element is deleted and a
|
|
237
|
+
* new one with the same properties is added, causing a remap to the same target).
|
|
238
238
|
*/
|
|
239
|
-
private
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
* Queries for an esa which matches the props in the provided aspectProps.
|
|
243
|
-
* @param dbToQuery db to run the query on for scope external source
|
|
244
|
-
* @param aspectProps aspectProps to search for @see ExternalSourceAspectProps
|
|
245
|
-
*/
|
|
246
|
-
static queryScopeExternalSourceAspect(dbToQuery: IModelDb, aspectProps: ExternalSourceAspectProps): Promise<{
|
|
247
|
-
aspectId: Id64String;
|
|
248
|
-
version?: string;
|
|
249
|
-
/** stringified json */
|
|
250
|
-
jsonProperties?: string;
|
|
251
|
-
} | undefined>;
|
|
252
|
-
/**
|
|
253
|
-
* Determines the sync direction "forward" or "reverse" of a given sourceDb and targetDb by looking for the scoping ESA.
|
|
254
|
-
* If the sourceDb's iModelId is found as the identifier of the expected scoping ESA in the targetDb, then it is a forward synchronization.
|
|
255
|
-
* If the targetDb's iModelId is found as the identifier of the expected scoping ESA in the sourceDb, then it is a reverse synchronization.
|
|
256
|
-
* @throws if no scoping ESA can be found in either the sourceDb or targetDb which describes a master branch relationship between the two databases.
|
|
257
|
-
* @returns "forward" or "reverse"
|
|
258
|
-
*/
|
|
259
|
-
static determineSyncType(sourceDb: IModelDb, targetDb: IModelDb,
|
|
260
|
-
/** @see [[IModelTransformOptions.targetScopeElementId]] */
|
|
261
|
-
targetScopeElementId: Id64String): Promise<"forward" | "reverse">;
|
|
262
|
-
private determineSyncType;
|
|
263
|
-
getIsReverseSynchronization(): Promise<boolean>;
|
|
264
|
-
getIsForwardSynchronization(): Promise<boolean>;
|
|
239
|
+
private _targetElementsImportedInCurrentTransform;
|
|
240
|
+
/** the options that were used to initialize this transformer */
|
|
241
|
+
private readonly _options;
|
|
265
242
|
private _changesetRanges;
|
|
266
243
|
/**
|
|
267
244
|
* Set if the transformer is being used to perform the provenance initialization step of a fork initialization.
|
|
@@ -286,28 +263,6 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
286
263
|
dispose(): void;
|
|
287
264
|
/** Log current settings that affect IModelTransformer's behavior. */
|
|
288
265
|
private logSettings;
|
|
289
|
-
/** Return the IModelDb where IModelTransformer will store its provenance.
|
|
290
|
-
* @note This will be [[targetDb]] except when it is a reverse synchronization. In that case it be [[sourceDb]].
|
|
291
|
-
*/
|
|
292
|
-
getProvenanceDb(): Promise<IModelDb>;
|
|
293
|
-
/** Return the IModelDb where IModelTransformer looks for entities referred to by stored provenance.
|
|
294
|
-
* @note This will be [[sourceDb]] except when it is a reverse synchronization. In that case it be [[targetDb]].
|
|
295
|
-
*/
|
|
296
|
-
getProvenanceSourceDb(): Promise<IModelDb>;
|
|
297
|
-
/** Create an ExternalSourceAspectProps in a standard way for an Element in an iModel --> iModel transformation. */
|
|
298
|
-
static initElementProvenanceOptions(sourceElementId: Id64String, targetElementId: Id64String, args: {
|
|
299
|
-
sourceDb: IModelDb;
|
|
300
|
-
targetDb: IModelDb;
|
|
301
|
-
isReverseSynchronization: boolean;
|
|
302
|
-
targetScopeElementId: Id64String;
|
|
303
|
-
}): ExternalSourceAspectProps;
|
|
304
|
-
static initRelationshipProvenanceOptions(sourceRelInstanceId: Id64String, targetRelInstanceId: Id64String, args: {
|
|
305
|
-
sourceDb: IModelDb;
|
|
306
|
-
targetDb: IModelDb;
|
|
307
|
-
isReverseSynchronization: boolean;
|
|
308
|
-
targetScopeElementId: Id64String;
|
|
309
|
-
forceOldRelationshipProvenanceMethod: boolean;
|
|
310
|
-
}): Promise<ExternalSourceAspectProps>;
|
|
311
266
|
/**
|
|
312
267
|
* Previously the transformer would insert provenance always pointing to the "target" relationship.
|
|
313
268
|
* It should (and now by default does) instead insert provenance pointing to the provenanceSource
|
|
@@ -317,26 +272,6 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
317
272
|
private _forceOldRelationshipProvenanceMethod;
|
|
318
273
|
/** Create an ExternalSourceAspectProps in a standard way for an Element in an iModel --> iModel transformation. */
|
|
319
274
|
initElementProvenance(sourceElementId: Id64String, targetElementId: Id64String): Promise<ExternalSourceAspectProps>;
|
|
320
|
-
/** Create an ExternalSourceAspectProps in a standard way for a Relationship in an iModel --> iModel transformations.
|
|
321
|
-
* The ExternalSourceAspect is meant to be owned by the Element in the target iModel that is the `sourceId` of transformed relationship.
|
|
322
|
-
* The `identifier` property of the ExternalSourceAspect will be the ECInstanceId of the relationship in the master iModel.
|
|
323
|
-
* The ECInstanceId of the relationship in the branch iModel will be stored in the JsonProperties of the ExternalSourceAspect.
|
|
324
|
-
*/
|
|
325
|
-
private initRelationshipProvenance;
|
|
326
|
-
/** NOTE: the json properties must be converted to string before insertion */
|
|
327
|
-
private _targetScopeProvenanceProps;
|
|
328
|
-
/**
|
|
329
|
-
* Index of the changeset that the transformer was at when the transformation begins (was constructed).
|
|
330
|
-
* Used to determine at the end which changesets were part of a synchronization.
|
|
331
|
-
*/
|
|
332
|
-
private _startingChangesetIndices;
|
|
333
|
-
private _cachedSynchronizationVersion;
|
|
334
|
-
/**
|
|
335
|
-
* We cache the synchronization version to avoid querying the target scoping ESA multiple times.
|
|
336
|
-
* If the target scoping ESA is ever updated we need to clear any potentially cached sync version otherwise we will get stale values.
|
|
337
|
-
* Sets this._cachedSynchronizationVersion to undefined.
|
|
338
|
-
*/
|
|
339
|
-
private clearCachedSynchronizationVersion;
|
|
340
275
|
/** the changeset in the scoping element's source version found for this transformation
|
|
341
276
|
* @note the version depends on whether this is a reverse synchronization or not, as
|
|
342
277
|
* it is stored separately for both synchronization directions.
|
|
@@ -353,47 +288,27 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
353
288
|
/**
|
|
354
289
|
* Make sure there are no conflicting other scope-type external source aspects on the *target scope element*,
|
|
355
290
|
* If there are none at all, insert one, then this must be a first synchronization.
|
|
356
|
-
* @returns the last synced version (changesetId) on the target scope's external source aspect,
|
|
357
|
-
* if this was a [BriefcaseDb]($backend)
|
|
358
291
|
*/
|
|
359
292
|
protected initScopeProvenance(): Promise<void>;
|
|
360
|
-
/** Returns true if a change was made to the aspectProps. */
|
|
361
|
-
private handleUnsafeMigrate;
|
|
362
293
|
/**
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
*/
|
|
368
|
-
static forEachTrackedElement(args: {
|
|
369
|
-
provenanceSourceDb: IModelDb;
|
|
370
|
-
provenanceDb: IModelDb;
|
|
371
|
-
targetScopeElementId: Id64String;
|
|
372
|
-
isReverseSynchronization: boolean;
|
|
373
|
-
fn: (sourceElementId: Id64String, targetElementId: Id64String) => void;
|
|
374
|
-
skipPropagateChangesToRootElements: boolean;
|
|
375
|
-
}): Promise<void>;
|
|
376
|
-
private forEachTrackedElement;
|
|
294
|
+
* Get the IModelDb where provenance (ExternalSourceAspects) is stored.
|
|
295
|
+
* This will be targetDb except when it is a reverse synchronization, in which case it will be sourceDb.
|
|
296
|
+
*/
|
|
297
|
+
getProvenanceDb(): Promise<IModelDb>;
|
|
377
298
|
/**
|
|
378
|
-
*
|
|
379
|
-
* The identifier on the ESA is the id of the element in the [[IModelTransformer.provenanceSourceDb]]
|
|
380
|
-
* Therefore it only makes sense to call this function when you have an id in the provenanceSourceDb.
|
|
381
|
-
* @param entityInProvenanceSourceId
|
|
382
|
-
* @returns the elementId that the ESA is stored on, esa.Element.Id
|
|
299
|
+
* Get whether this is a reverse synchronization.
|
|
383
300
|
*/
|
|
384
|
-
|
|
301
|
+
getIsReverseSynchronization(): Promise<boolean>;
|
|
385
302
|
/**
|
|
386
|
-
*
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
*
|
|
391
|
-
*/
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
private _targetClassNameToClassId;
|
|
396
|
-
private _getRelClassId;
|
|
303
|
+
* Get whether this is a forward synchronization.
|
|
304
|
+
*/
|
|
305
|
+
getIsForwardSynchronization(): Promise<boolean>;
|
|
306
|
+
/**
|
|
307
|
+
* Updates the synchronization version on the scope ESA.
|
|
308
|
+
*/
|
|
309
|
+
updateSynchronizationVersion({ initializeReverseSyncVersion, }?: {
|
|
310
|
+
initializeReverseSyncVersion?: boolean | undefined;
|
|
311
|
+
}): Promise<void>;
|
|
397
312
|
/** Returns `true` if *brute force* delete detections should be run.
|
|
398
313
|
* @note This is only called if [[IModelTransformOptions.forceExternalSourceAspectProvenance]] option is true
|
|
399
314
|
* @note Not relevant for [[process]] when [[IModelTransformOptions.argsForProcessChanges]] are provided and change history is known.
|
|
@@ -446,11 +361,11 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
446
361
|
*/
|
|
447
362
|
preExportElement(sourceElement: Element): Promise<void>;
|
|
448
363
|
private getElemTransformState;
|
|
364
|
+
private queryElementIdByCode;
|
|
449
365
|
/** Override of [IModelExportHandler.onExportElement]($transformer) that imports an element into the target iModel when it is exported from the source iModel.
|
|
450
366
|
* This override calls [[onTransformElement]] and then [IModelImporter.importElement]($transformer) to update the target iModel.
|
|
451
367
|
*/
|
|
452
368
|
onExportElement(sourceElement: Element): Promise<void>;
|
|
453
|
-
private queryElementIdByCode;
|
|
454
369
|
/** Override of [IModelExportHandler.onDeleteElement]($transformer) that is called when [IModelExporter]($transformer) detects that an Element has been deleted from the source iModel.
|
|
455
370
|
* This override propagates the delete to the target iModel via [IModelImporter.deleteElement]($transformer).
|
|
456
371
|
*/
|
|
@@ -484,27 +399,6 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
484
399
|
* @note A subclass can override this method to provide custom transform behavior.
|
|
485
400
|
*/
|
|
486
401
|
onTransformModel(sourceModel: Model, targetModeledElementId: Id64String): ModelProps;
|
|
487
|
-
/**
|
|
488
|
-
* Called at the end of a transformation,
|
|
489
|
-
* updates the target scope element to say that transformation up through the
|
|
490
|
-
* source's changeset has been performed. Also stores all changesets that occurred
|
|
491
|
-
* during the transformation as "pending synchronization changeset indices" @see TargetScopeProvenanceJsonProps
|
|
492
|
-
*
|
|
493
|
-
* You generally should not call this function yourself and use [[process]] with [[IModelTransformOptions.argsForProcessChanges]] provided instead.
|
|
494
|
-
* It is public for unsupported use cases of custom synchronization transforms.
|
|
495
|
-
* @note If [[IModelTransformOptions.argsForProcessChanges]] is not defined in this transformation, this function will return early without updating the sync version,
|
|
496
|
-
* unless the `initializeReverseSyncVersion` option is set to `true`
|
|
497
|
-
*
|
|
498
|
-
* The `initializeReverseSyncVersion` is added to set the reverse synchronization version during a forward synchronization.
|
|
499
|
-
* When set to `true`, it saves the reverse sync version as the current changeset of the targetDb. This is typically used for the first transformation between a master and branch iModel.
|
|
500
|
-
* Setting `initializeReverseSyncVersion` to `true` has the effect of making it so any changesets in the branch iModel at the time of the first transformation will be ignored during any future reverse synchronizations from the branch to the master iModel.
|
|
501
|
-
*
|
|
502
|
-
* Note that typically, the reverseSyncVersion is saved as the last changeset merged from the branch into master.
|
|
503
|
-
* Setting initializeReverseSyncVersion to true during a forward transformation could overwrite this correct reverseSyncVersion and should only be done during the first transformation between a master and branch iModel.
|
|
504
|
-
*/
|
|
505
|
-
updateSynchronizationVersion({ initializeReverseSyncVersion, }?: {
|
|
506
|
-
initializeReverseSyncVersion?: boolean | undefined;
|
|
507
|
-
}): Promise<void>;
|
|
508
402
|
private finalizeTransformation;
|
|
509
403
|
/** Imports all relationships that subclass from the specified base class.
|
|
510
404
|
* @param baseRelClassFullName The specified base relationship class.
|
|
@@ -658,9 +552,6 @@ export declare class IModelTransformer extends IModelExportHandler {
|
|
|
658
552
|
* @note [[processSchemas]] is not called automatically since the target iModel may want a different collection of schemas.
|
|
659
553
|
*/
|
|
660
554
|
private processAll;
|
|
661
|
-
/** previous provenance, either a federation guid, a `${sourceFedGuid}/${targetFedGuid}` pair, or required aspect props */
|
|
662
|
-
private _lastProvenanceEntityInfo;
|
|
663
|
-
private markLastProvenance;
|
|
664
555
|
/** Export changes from the source iModel and import the transformed entities into the target iModel.
|
|
665
556
|
* Inserts, updates, and deletes are determined by inspecting the changeset(s).
|
|
666
557
|
* @note the transformer assumes that you saveChanges after processing changes. You should not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"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"}
|