Package com._1c.g5.v8.dt.compare.merge
Interface IMergeSession
- All Known Implementing Classes:
MergeSession
public interface IMergeSession
The merge session.
Merge sessions are based on comparison sessions where the main data source is a V8 project.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddConflictingUuid(UUID uuid) Should be used at the validation merge stage to save info about duplicate (conflicting) UUIDvoidaddPostponedFileOperation(IPostponedFileOperation operation) Adds a postponed file operation.Returns the BM model.Returns the comparison session this merge session is based on.Returns the id of the imported BM object registered for the specified node.getImportedObjectSymlink(String otherSymlink) In case when a partial other datasource object is to be merged according to current settings, returns the symbolic link of the object in terms of the main datasource, ornullif the other object will not be imported.Returns the library descriptor change type during the merge.Returns the main data source of the session.Returns the runtime version of the main datasource.Gets actual symbolic link (a.k.a.Gets the list of postponed file operations in the order of addition.getRenamingObjectNewSymlink(String symlinkBeforeRename) Gets symbolic link of a renaming object after rename operation finish, if it registered byregisterRenamingObjectSymlink(String, String).booleanChecks if there are any conflicting UUIDs left in theIMergeSessionbooleanisConflictingUuid(UUID uuid) Checks that the current UUID saved inIMergeSessionas a duplicate or not, should be used at the merge stagebooleanChecks should we ignore non-blocking problems during validation or notvoidregisterImportedObject(ComparisonNode node, IBmObject importedObject) Registers a BM object imported during the merge of the specified node.voidregisterRenamingObject(SymlinkComparisonNode node, String newSymlink) Registers a new symbolic link of the object to be renamed during the merge process.voidregisterRenamingObjectSymlink(String currentSymlink, String newSymlink) Registers a new symbolic link of the object to be renamed during the merge process.voidremoveConflictingUuid(UUID uuid) Removes the current UUID from saved as duplicate, should be used after resolving UUID conflict at the merge stage
-
Method Details
-
getComparisonSession
IComparisonSession getComparisonSession()Returns the comparison session this merge session is based on.- Returns:
- the comparison session, never
null
-
getBmModel
IBmModel getBmModel()Returns the BM model.- Returns:
- the BM model, never
null
-
getMainDataSource
IActiveComparisonDataSource getMainDataSource()Returns the main data source of the session.- Returns:
- the main data source, never
null
-
getMainRuntimeVersion
Version getMainRuntimeVersion()Returns the runtime version of the main datasource.- Returns:
- main datasource runtime version, never
null
-
registerImportedObject
Registers a BM object imported during the merge of the specified node.- Parameters:
node- the node for which to register the imported objectimportedObject- the imported BM object
-
getImportedObjectId
Returns the id of the imported BM object registered for the specified node.- Parameters:
node- the node to get the id of the BM object imported and registered for it- Returns:
- the imported object id or
null
-
getImportedObjectSymlink
In case when a partial other datasource object is to be merged according to current settings, returns the symbolic link of the object in terms of the main datasource, ornullif the other object will not be imported.- Parameters:
otherSymlink- the symbolic link of the other object, notnull- Returns:
- a main symlink or
null(if not imported)
-
registerRenamingObject
Registers a new symbolic link of the object to be renamed during the merge process.- Parameters:
node- the comparison node related to the renaming object, cannot benullnewSymlink- the new symbolic link the object will have after renaming, cannot benullor empty
-
getMainSymlink
Gets actual symbolic link (a.k.a. FQN) of the object from the MAIN side during the merge process. The FQN can be changed if the object is going to be renamed, so all participants have to use this method during the merge phase to obtain actual symbolic link instead of directComparisonNode#getMainSymlink()method.- Parameters:
node- the comparison node related to the object to get main symbolic link for, cannot benull- Returns:
- the actual symbolic link or
nullif there is no object from the MAIN side
-
registerRenamingObjectSymlink
Registers a new symbolic link of the object to be renamed during the merge process.- Parameters:
currentSymlink- the object symlink before rename operation, cannot benullnewSymlink- the object symlink after rename operation, cannot benull
-
getRenamingObjectNewSymlink
Gets symbolic link of a renaming object after rename operation finish, if it registered byregisterRenamingObjectSymlink(String, String).- Parameters:
symlinkBeforeRename- the object's symbolic link before renaming, cannot benull- Returns:
- the actual object's symbolic link after renaming, may be
null
-
addPostponedFileOperation
Adds a postponed file operation.- Parameters:
operation- the postponed file operation, cannot benull
-
getPostponedFileOperations
List<IPostponedFileOperation> getPostponedFileOperations()Gets the list of postponed file operations in the order of addition.- Returns:
- the list of postponed file operations, never
null
-
getLibraryDescriptorChangeType
LibraryDescriptorChangeType getLibraryDescriptorChangeType()Returns the library descriptor change type during the merge.- Returns:
- the library descriptor change type, never
null
-
isIgnoreNonBlockingProblems
boolean isIgnoreNonBlockingProblems()Checks should we ignore non-blocking problems during validation or not- Returns:
- true if we should ignore non-blocking problems during validation and false if not
-
addConflictingUuid
Should be used at the validation merge stage to save info about duplicate (conflicting) UUID- Parameters:
uuid- UUID that several objects have at once, cannot benull
-
isConflictingUuid
Checks that the current UUID saved inIMergeSessionas a duplicate or not, should be used at the merge stage- Parameters:
uuid- UUID to check that it is saved as conflicting, cannot benull- Returns:
- true if UUID saved as conflicting and false if not
-
removeConflictingUuid
Removes the current UUID from saved as duplicate, should be used after resolving UUID conflict at the merge stage- Parameters:
uuid- UUID for which conflict is resolved, cannot benull
-
hasConflictingUuids
boolean hasConflictingUuids()Checks if there are any conflicting UUIDs left in theIMergeSession- Returns:
- true if any conflicting UUIDs saved in IMergeSession and false if not
-