From 511e9bf66c02a5da1c85ebfe8b06c0b79a9f0759 Mon Sep 17 00:00:00 2001 From: Jan-Niclas Struewer <j.n.struewer@gmail.com> Date: Sun, 28 Jul 2024 21:21:53 +0200 Subject: [PATCH] feature: added validation for data transformation from cve to create kpi dto --- .../fraunhofer/iem/adapter/cve/CveAdapter.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/kpi-calculator/adapter/src/main/kotlin/de/fraunhofer/iem/adapter/cve/CveAdapter.kt b/kpi-calculator/adapter/src/main/kotlin/de/fraunhofer/iem/adapter/cve/CveAdapter.kt index 213e4d8c..e2519b47 100644 --- a/kpi-calculator/adapter/src/main/kotlin/de/fraunhofer/iem/adapter/cve/CveAdapter.kt +++ b/kpi-calculator/adapter/src/main/kotlin/de/fraunhofer/iem/adapter/cve/CveAdapter.kt @@ -10,11 +10,21 @@ object CveAdapter : KpiAdapter<VulnerabilityDto> { get() = KpiKind.VULNERABILITY_SCORE override fun transformDataToKpi(data: List<VulnerabilityDto>): List<RawValueKpiCreateDto> { - return data.map { - RawValueKpiCreateDto( - kind = kpiKind, - score = (it.severity * 10).toInt() + return data + .filter(::filterData) + .map { + RawValueKpiCreateDto( + kind = kpiKind, + score = (it.severity * 10).toInt() + ) + } + } + + private fun filterData(data: VulnerabilityDto): Boolean { + return ( + data.severity in 0.0..10.0 && + data.packageName.isNotBlank() && + data.cveIdentifier.isNotBlank() ) - } } } -- GitLab