@itwin/imodel-transformer 0.1.13 → 0.1.14-fedguidopt.2

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.
@@ -1,7 +1,7 @@
1
- import { AccessToken, Id64String } from "@itwin/core-bentley";
1
+ import { AccessToken, Id64Array, Id64String } from "@itwin/core-bentley";
2
2
  import * as ECSchemaMetaData from "@itwin/ecschema-metadata";
3
3
  import { Element, ElementAspect, ElementMultiAspect, ElementUniqueAspect, Entity, IModelDb, Model, Relationship, RelationshipProps, SQLiteDb } from "@itwin/core-backend";
4
- import { CodeSpec, ElementAspectProps, ElementProps, EntityReference, EntityReferenceSet, FontProps, ModelProps, Placement2d, Placement3d } from "@itwin/core-common";
4
+ import { ChangesetIndexOrId, CodeSpec, ElementAspectProps, ElementProps, EntityReference, EntityReferenceSet, FontProps, ModelProps, Placement2d, Placement3d } from "@itwin/core-common";
5
5
  import { ExportSchemaResult, IModelExporter, IModelExportHandler } from "./IModelExporter";
6
6
  import { IModelImporter, OptimizeGeometryOptions } from "./IModelImporter";
7
7
  import { PendingReferenceMap } from "./PendingReferenceMap";
@@ -13,7 +13,8 @@ import { IModelCloneContext } from "./IModelCloneContext";
13
13
  */
14
14
  export interface IModelTransformOptions {
15
15
  /** The Id of the Element in the **target** iModel that represents the **source** repository as a whole and scopes its [ExternalSourceAspect]($backend) instances.
16
- * When the goal is to consolidate multiple source iModels into a single target iModel, this option must be specified.
16
+ * It is always a good idea to define this, although particularly necessary in any multi-source scenario such as multiple branches that reverse synchronize
17
+ * or physical consolidation.
17
18
  */
18
19
  targetScopeElementId?: Id64String;
19
20
  /** Set to `true` if IModelTransformer should not record its provenance.
@@ -100,6 +101,28 @@ export interface IModelTransformOptions {
100
101
  * @beta
101
102
  */
102
103
  optimizeGeometry?: OptimizeGeometryOptions;
104
+ /**
105
+ * force the insertion of external source aspects to provide provenance, even if there are federation guids
106
+ * in the source that we can use. This can make some operations (like transforming new elements or initializing forks)
107
+ * much slower due to needing to insert aspects, but prevents requiring change information for future merges.
108
+ * @default false
109
+ */
110
+ forceExternalSourceAspectProvenance?: boolean;
111
+ /**
112
+ * Do not detach the change cache that we build. Use this if you want to do multiple transformations to
113
+ * the same iModels, to avoid the performance cost of reinitializing the change cache which can be
114
+ * expensive. You should only use this if you know the cache will be reused.
115
+ * @note You must detach the change cache yourself.
116
+ * @default false
117
+ */
118
+ noDetachChangeCache?: boolean;
119
+ /**
120
+ * Do not check that processChanges is called from the next changeset index.
121
+ * This is an unsafe option (e.g. it can cause data loss in future branch operations)
122
+ * and you should not use it.
123
+ * @default false
124
+ */
125
+ ignoreMissingChangesetsInSynchronizations?: boolean;
103
126
  }
104
127
  /**
105
128
  * A container for tracking the state of a partially committed entity and finalizing it when it's ready to be fully committed
@@ -123,13 +146,25 @@ declare class PartiallyCommittedEntity {
123
146
  resolveReference(id: EntityReference): void;
124
147
  forceComplete(): void;
125
148
  }
126
- /** Arguments you can pass to [[IModelTransformer.initExternalSourceAspects]]
149
+ /** Arguments you can pass to [[IModelTransformer.initialize]]
127
150
  * @beta
128
151
  */
129
- export interface InitFromExternalSourceAspectsArgs {
152
+ export interface InitArgs {
130
153
  accessToken?: AccessToken;
154
+ /**
155
+ * @deprecated in 0.1.x. Use startChangeset instead
156
+ */
131
157
  startChangesetId?: string;
158
+ /**
159
+ * The starting changeset of the source, inclusive, from which to apply changes
160
+ * @default (if undefined) should mean the last synchronized changeset in a branch relationship
161
+ */
162
+ startChangeset?: ChangesetIndexOrId;
132
163
  }
164
+ /** Arguments you can pass to [[IModelTransformer.initExternalSourceAspects]]
165
+ * @deprecated in 0.1.0. Use [[InitArgs]] (and [[IModelTransformer.initialize]]) instead.
166
+ */
167
+ export type InitFromExternalSourceAspectsArgs = InitArgs;
133
168
  /** Base class used to transform a source iModel into a different target iModel.
134
169
  * @see [iModel Transformation and Data Exchange]($docs/learning/transformer/index.md), [IModelExporter]($transformer), [IModelImporter]($transformer)
135
170
  * @beta
@@ -152,10 +187,16 @@ export declare class IModelTransformer extends IModelExportHandler {
152
187
  /** map of (unprocessed element, referencing processed element) pairs to the partially committed element that needs the reference resolved
153
188
  * and have some helper methods below for now */
154
189
  protected _pendingReferences: PendingReferenceMap<PartiallyCommittedEntity>;
190
+ /** a set of elements for which source provenance will be explicitly tracked by ExternalSourceAspects */
191
+ protected _elementsWithExplicitlyTrackedProvenance: Set<string>;
155
192
  /** map of partially committed entities to their partial commit progress */
156
193
  protected _partiallyCommittedEntities: EntityMap<PartiallyCommittedEntity>;
157
194
  /** the options that were used to initialize this transformer */
158
195
  private readonly _options;
196
+ private _isSynchronization;
197
+ private get _isReverseSynchronization();
198
+ private get _isForwardSynchronization();
199
+ private _changesetRanges;
159
200
  /** Set if it can be determined whether this is the first source --> target synchronization. */
160
201
  private _isFirstSynchronization?;
161
202
  /** The element classes that are considered to define provenance in the iModel */
@@ -176,17 +217,55 @@ export declare class IModelTransformer extends IModelExportHandler {
176
217
  * @note This will be [[targetDb]] except when it is a reverse synchronization. In that case it be [[sourceDb]].
177
218
  */
178
219
  get provenanceDb(): IModelDb;
179
- /** Create an ExternalSourceAspectProps in a standard way for an Element in an iModel --> iModel transformation. */
220
+ /** Return the IModelDb where IModelTransformer will NOT store its provenance.
221
+ * @note This will be [[sourceDb]] except when it is a reverse synchronization. In that case it be [[targetDb]].
222
+ */
223
+ get provenanceSourceDb(): IModelDb;
180
224
  private initElementProvenance;
225
+ /**
226
+ * Previously the transformer would insert provenance always pointing to the "target" relationship.
227
+ * It should (and now by default does) instead insert provenance pointing to the provenanceSource
228
+ * SEE: https://github.com/iTwin/imodel-transformer/issues/54
229
+ * This exists only to facilitate testing that the transformer can handle the older, flawed method
230
+ */
231
+ private _forceOldRelationshipProvenanceMethod;
181
232
  /** Create an ExternalSourceAspectProps in a standard way for a Relationship in an iModel --> iModel transformations.
182
233
  * The ExternalSourceAspect is meant to be owned by the Element in the target iModel that is the `sourceId` of transformed relationship.
183
234
  * The `identifier` property of the ExternalSourceAspect will be the ECInstanceId of the relationship in the source iModel.
184
235
  * The ECInstanceId of the relationship in the target iModel will be stored in the JsonProperties of the ExternalSourceAspect.
185
236
  */
186
237
  private initRelationshipProvenance;
187
- private validateScopeProvenance;
188
- private queryExternalSourceAspectId;
189
- /** Iterate all matching ExternalSourceAspects in the provenance iModel (target unless reverse sync) and call a function for each one. */
238
+ /** NOTE: the json properties must be converted to string before insertion */
239
+ private _targetScopeProvenanceProps;
240
+ /**
241
+ * Index of the changeset that the transformer was at when the transformation begins (was constructed).
242
+ * Used to determine at the end which changesets were part of a synchronization.
243
+ */
244
+ private _startingTargetChangesetIndex;
245
+ private _cachedSynchronizationVersion;
246
+ /** the changeset in the scoping element's source version found for this transformation
247
+ * @note: the version depends on whether this is a reverse synchronization or not, as
248
+ * it is stored separately for both synchronization directions
249
+ * @note: empty string and -1 for changeset and index if it has never been transformed
250
+ */
251
+ private get _synchronizationVersion();
252
+ /**
253
+ * Make sure there are no conflicting other scope-type external source aspects on the *target scope element*,
254
+ * If there are none at all, insert one, then this must be a first synchronization.
255
+ * @returns the last synced version (changesetId) on the target scope's external source aspect,
256
+ * if this was a [BriefcaseDb]($backend)
257
+ */
258
+ private initScopeProvenance;
259
+ /**
260
+ * @returns the id and version of an aspect with the given element, scope, kind, and identifier
261
+ * May also return a reverseSyncVersion from json properties if requested
262
+ */
263
+ private queryScopeExternalSource;
264
+ /**
265
+ * Iterate all matching ExternalSourceAspects in the provenance iModel (target unless reverse sync) and call a function for each one.
266
+ * @note provenance is done by federation guids where possible
267
+ * @note this may execute on each element more than once! Only use in cases where that is handled
268
+ */
190
269
  private forEachTrackedElement;
191
270
  /** Initialize the source to target Element mapping from ExternalSourceAspects in the target iModel.
192
271
  * @note This method is called from all `process*` functions and should never need to be called directly.
@@ -194,19 +273,30 @@ export declare class IModelTransformer extends IModelExportHandler {
194
273
  * @note Passing an [[InitFromExternalSourceAspectsArgs]] is required when processing changes, to remap any elements that may have been deleted.
195
274
  * You must await the returned promise as well in this case. The synchronous behavior has not changed but is deprecated and won't process everything.
196
275
  */
197
- initFromExternalSourceAspects(args?: InitFromExternalSourceAspectsArgs): void | Promise<void>;
198
- /** When processing deleted elements in a reverse synchronization, the [[provenanceDb]] (usually a branch iModel) has already
199
- * deleted the [ExternalSourceAspect]($backend)s that tell us which elements in the reverse synchronization target (usually
200
- * a master iModel) should be deleted. We must use the changesets to get the values of those before they were deleted.
201
- */
202
- private remapDeletedSourceElements;
276
+ initFromExternalSourceAspects(args?: InitArgs): void | Promise<void>;
277
+ /**
278
+ * Scan changesets for deleted entities, if in a reverse synchronization, provenance has
279
+ * already been deleted, so we must scan for that as well.
280
+ */
281
+ private remapDeletedSourceEntities;
282
+ private _queryProvenanceForElement;
283
+ private _queryProvenanceForRelationship;
284
+ private _queryTargetRelId;
285
+ private _targetClassNameToClassIdCache;
286
+ private _targetClassNameToClassId;
287
+ private _getRelClassId;
288
+ private _queryElemIdByFedGuid;
203
289
  /** Returns `true` if *brute force* delete detections should be run.
204
290
  * @note Not relevant for processChanges when change history is known.
205
291
  */
206
292
  private shouldDetectDeletes;
207
- /** Detect Element deletes using ExternalSourceAspects in the target iModel and a *brute force* comparison against Elements in the source iModel.
208
- * @see processChanges
209
- * @note This method is called from [[processAll]] and is not needed by [[processChanges]], so it only needs to be called directly when processing a subset of an iModel.
293
+ /**
294
+ * Detect Element deletes using ExternalSourceAspects in the target iModel and a *brute force* comparison against Elements
295
+ * in the source iModel.
296
+ * @deprecated in 0.1.x. This method is only called during [[processAll]] when the option
297
+ * [[IModelTransformerOptions.forceExternalSourceAspectProvenance]] is enabled. It is not
298
+ * necessary when using [[processChanges]] since changeset information is sufficient.
299
+ * @note you do not need to call this directly unless processing a subset of an iModel.
210
300
  * @throws [[IModelError]] If the required provenance information is not available to detect deletes.
211
301
  */
212
302
  detectElementDeletes(): Promise<void>;
@@ -221,12 +311,15 @@ export declare class IModelTransformer extends IModelExportHandler {
221
311
  * @note This can be called more than once for an element in arbitrary order, so it should not have side-effects.
222
312
  */
223
313
  onTransformElement(sourceElement: Element): ElementProps;
314
+ private _hasElementChangedCache?;
315
+ private _deletedSourceRelationshipData?;
316
+ private _cacheSourceChanges;
224
317
  /** Returns true if a change within sourceElement is detected.
225
318
  * @param sourceElement The Element from the source iModel
226
319
  * @param targetElementId The Element from the target iModel to compare against.
227
320
  * @note A subclass can override this method to provide custom change detection behavior.
228
321
  */
229
- protected hasElementChanged(sourceElement: Element, targetElementId: Id64String): boolean;
322
+ protected hasElementChanged(sourceElement: Element, _targetElementId: Id64String): boolean;
230
323
  private static transformCallbackFor;
231
324
  /** callback to perform when a partial element says it's ready to be completed
232
325
  * transforms the source element with all references now valid, then updates the partial element with the results
@@ -296,6 +389,11 @@ export declare class IModelTransformer extends IModelExportHandler {
296
389
  * @deprecated in 3.x. This method is no longer necessary since the transformer no longer needs to defer elements
297
390
  */
298
391
  processDeferredElements(_numRetries?: number): Promise<void>;
392
+ /** called at the end ([[finalizeTransformation]]) of a transformation,
393
+ * updates the target scope element to say that transformation up through the
394
+ * source's changeset has been performed.
395
+ */
396
+ private _updateSynchronizationVersion;
299
397
  private finalizeTransformation;
300
398
  /** Imports all relationships that subclass from the specified base class.
301
399
  * @param baseRelClassFullName The specified base relationship class.
@@ -316,6 +414,7 @@ export declare class IModelTransformer extends IModelExportHandler {
316
414
  onDeleteRelationship(sourceRelInstanceId: Id64String): void;
317
415
  private _yieldManager;
318
416
  /** Detect Relationship deletes using ExternalSourceAspects in the target iModel and a *brute force* comparison against relationships in the source iModel.
417
+ * @deprecated
319
418
  * @see processChanges
320
419
  * @note This method is called from [[processAll]] and is not needed by [[processChanges]], so it only needs to be called directly when processing a subset of an iModel.
321
420
  * @throws [[IModelError]] If the required provenance information is not available to detect deletes.
@@ -389,17 +488,22 @@ export declare class IModelTransformer extends IModelExportHandler {
389
488
  processSubject(sourceSubjectId: Id64String, targetSubjectId: Id64String): Promise<void>;
390
489
  /** state to prevent reinitialization, @see [[initialize]] */
391
490
  private _initialized;
491
+ /** length === 0 when _changeDataState = "no-change", length > 0 means "has-changes", otherwise undefined */
492
+ private _changeSummaryIds?;
493
+ private _sourceChangeDataState;
392
494
  /**
393
- * Initialize prerequisites of processing, you must initialize with an [[InitFromExternalSourceAspectsArgs]] if you
394
- * are intending process changes, but prefer using [[processChanges]]
395
- * Called by all `process*` functions implicitly.
495
+ * Initialize prerequisites of processing, you must initialize with an [[InitArgs]] if you
496
+ * are intending to process changes, but prefer using [[processChanges]] explicitly since it calls this.
497
+ * @note Called by all `process*` functions implicitly.
396
498
  * Overriders must call `super.initialize()` first
397
499
  */
398
- initialize(args?: InitFromExternalSourceAspectsArgs): Promise<void>;
500
+ initialize(args?: InitArgs): Promise<void>;
501
+ private _tryInitChangesetData;
399
502
  /** Export everything from the source iModel and import the transformed entities into the target iModel.
400
503
  * @note [[processSchemas]] is not called automatically since the target iModel may want a different collection of schemas.
401
504
  */
402
505
  processAll(): Promise<void>;
506
+ /** previous provenance, either a federation guid, a `${sourceFedGuid}/${targetFedGuid}` pair, or required aspect props */
403
507
  private _lastProvenanceEntityInfo;
404
508
  private markLastProvenance;
405
509
  /** @internal the name of the table where javascript state of the transformer is serialized in transformer state dumps */
@@ -453,13 +557,28 @@ export declare class IModelTransformer extends IModelExportHandler {
453
557
  */
454
558
  saveStateToFile(nativeStatePath: string): void;
455
559
  /** Export changes from the source iModel and import the transformed entities into the target iModel.
456
- * Inserts, updates, and deletes are determined by inspecting the changeset(s).
457
- * @param accessToken A valid access token string
458
- * @param startChangesetId Include changes from this changeset up through and including the current changeset.
459
- * If this parameter is not provided, then just the current changeset will be exported.
460
- * @note To form a range of versions to process, set `startChangesetId` for the start (inclusive) of the desired range and open the source iModel as of the end (inclusive) of the desired range.
461
- */
560
+ * Inserts, updates, and deletes are determined by inspecting the changeset(s).
561
+ * @note the transformer assumes that you saveChanges after processing changes. You should not
562
+ * modify the iModel after processChanges until saveChanges, failure to do so may result in corrupted
563
+ * data loss in future branch operations
564
+ * @param accessToken A valid access token string
565
+ * @param startChangesetId Include changes from this changeset up through and including the current changeset.
566
+ * If this parameter is not provided, then just the current changeset will be exported.
567
+ * @note To form a range of versions to process, set `startChangesetId` for the start (inclusive) of the desired range and open the source iModel as of the end (inclusive) of the desired range.
568
+ */
569
+ processChanges(options: InitArgs): Promise<void>;
570
+ /**
571
+ * @deprecated in 0.1.x.
572
+ * This overload follows the older behavior of defaulting an undefined startChangesetId to the
573
+ * current changeset.
574
+ */
462
575
  processChanges(accessToken: AccessToken, startChangesetId?: string): Promise<void>;
576
+ /** Combine an array of source elements into a single target element.
577
+ * All source and target elements must be created before calling this method.
578
+ * The "combine" operation is a remap and no properties from the source elements will be exported into the target
579
+ * and provenance will be explicitly tracked by ExternalSourceAspects
580
+ */
581
+ combineElements(sourceElementIds: Id64Array, targetElementId: Id64String): void;
463
582
  }
464
583
  /** IModelTransformer that clones the contents of a template model.
465
584
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelTransformer.d.ts","sourceRoot":"","sources":["../../src/IModelTransformer.ts"],"names":[],"mappings":"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"}