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 213e4d8cb0e629eb498e898f88cbcac27eb883fc..e2519b47487eb8da44d7f968e1dc1ae3860f2511 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() ) - } } }