in dnq-transient-store/src/main/kotlin/com/jetbrains/teamsys/dnq/association/OrderedAssociationSemantics.kt [27:44]
fun compare(left: Entity?, right: Entity?, orderPropertyName: String, cmp: Int): Boolean {
val leftOrder = left?.reattachTransient()?.getProperty(orderPropertyName)
val rightOrder = right?.reattachTransient()?.getProperty(orderPropertyName)
val cmpResult = when {
leftOrder != null && rightOrder != null -> leftOrder.compareTo(rightOrder)
leftOrder != null && rightOrder == null -> 1
leftOrder == null && rightOrder != null -> -1
else -> 0
}
return when (cmp) {
1 -> cmpResult >= 0
2 -> cmpResult < 0
3 -> cmpResult <= 0
else -> cmpResult > 0
}
}