in dnq-transient-store/src/main/kotlin/com/jetbrains/teamsys/dnq/database/TransientChangesTrackerImpl.kt [173:191]
override fun linkChanged(source: TransientEntity, linkName: String, target: TransientEntity, oldTarget: TransientEntity?, add: Boolean) {
entityChanged(source)
val (linksDetailed, linkChange) = getLinkChange(source, linkName)
if (add) {
if (oldTarget != null) {
addRemoved(linkChange, oldTarget)
}
linkChange.addAdded(target)
} else {
addRemoved(linkChange, target)
}
if (linkChange.addedEntitiesSize == 0 && linkChange.removedEntitiesSize == 0 && linkChange.deletedEntitiesSize == 0) {
linksDetailed.remove(linkName)
if (linksDetailed.isEmpty()) {
entityToChangedLinksDetailed.remove(source)
}
}
}