From 77c3d2e45de42bb5995859b2248651d4d20f2931 Mon Sep 17 00:00:00 2001 From: Jan-Niclas Struewer <j.n.struewer@gmail.com> Date: Fri, 3 Nov 2023 17:16:12 +0100 Subject: [PATCH] fixed disappearing children for RatioKPICalculationStrategy --- .../kpi/strategy/RatioKPICalculationStrategy.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt index 1f258d8a..ec398d3e 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt @@ -8,11 +8,13 @@ class RatioKPICalculationStrategy : KPICalculationStrategy { if (children.size != 2) { throw Exception("Requires exactly two children") } + // TODO: this is a dirty workaround to fix a copy by reference bug + val copiedChildren = children.toList() val firstValue = children[0].to.getValue() val secondValue = children[1].to.getValue() if (firstValue >= secondValue) { - return Pair(((secondValue.toDouble() / firstValue.toDouble()) * 100).toInt(), children) + return Pair(((secondValue.toDouble() / firstValue.toDouble()) * 100).toInt(), copiedChildren) } - return Pair(((firstValue.toDouble() / secondValue.toDouble()) * 100).toInt(), children) + return Pair(((firstValue.toDouble() / secondValue.toDouble()) * 100).toInt(), copiedChildren) } } -- GitLab