From c92fbc75e3438987ce7387114b2db79366830d16 Mon Sep 17 00:00:00 2001 From: Kolya Opahle <k.opahle@sap.com> Date: Fri, 20 Nov 2020 13:30:03 +0100 Subject: [PATCH] Changed ApplicationConfigurationInvalidException to NormalizedTimePerDayToRiskLevelMappingMissingException Signed-off-by: Kolya Opahle <k.opahle@sap.com> --- .../coronawarnapp/risk/DefaultRiskLevels.kt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt index 49cd92cd5..2064a5edb 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt @@ -9,7 +9,6 @@ import com.google.android.gms.nearby.exposurenotification.ReportType import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.R import de.rki.coronawarnapp.appconfig.ConfigData -import de.rki.coronawarnapp.appconfig.internal.ApplicationConfigurationInvalidException import de.rki.coronawarnapp.exception.RiskLevelCalculationException import de.rki.coronawarnapp.notification.NotificationHelper import de.rki.coronawarnapp.risk.RiskLevel.UNKNOWN_RISK_INITIAL @@ -27,6 +26,7 @@ import org.joda.time.Instant import timber.log.Timber import javax.inject.Inject import javax.inject.Singleton + typealias ProtoRiskLevel = RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping.RiskLevel @Singleton @@ -371,7 +371,7 @@ class DefaultRiskLevels @Inject constructor( private fun List<AggregatedRiskPerDateResult>.mostRecentDateForRisk(riskLevel: ProtoRiskLevel): Instant? = filter { it.riskLevel == riskLevel } .maxOfOrNull { it.dateMillisSinceEpoch } - ?.let { Instant.ofEpochMilli(it) } + .let { Instant.ofEpochMilli(it) } private fun List<AggregatedRiskPerDateResult>.numberOfDaysForRisk(riskLevel: ProtoRiskLevel): Int = filter { it.riskLevel == riskLevel } @@ -399,10 +399,7 @@ class DefaultRiskLevels @Inject constructor( .map { it.riskLevel } .first() } catch (e: Exception) { - throw ApplicationConfigurationInvalidException( - e, - "Invalid config for normalizedTimePerDayToRiskLevelMapping" - ) + throw NormalizedTimePerDayToRiskLevelMappingMissingException() } Timber.d("riskLevel: ${riskLevel.name} (${riskLevel.ordinal})") @@ -437,9 +434,16 @@ class DefaultRiskLevels @Inject constructor( private val TAG = DefaultRiskLevels::class.java.simpleName private const val DECIMAL_MULTIPLIER = 100 - class NormalizedTimePerExposureWindowToRiskLevelMappingMissingException : Exception( - "Failed to map the normalized Time to a Risk Level" + open class RiskLevelMappingMissingException(msg: String) : Exception(msg) + + class NormalizedTimePerExposureWindowToRiskLevelMappingMissingException : RiskLevelMappingMissingException( + "Failed to map the normalized Time per Exposure Window to a Risk Level" ) + + class NormalizedTimePerDayToRiskLevelMappingMissingException : RiskLevelMappingMissingException( + "Failed to map the normalized Time per Day to a Risk Level" + ) + class UnknownReportTypeException : Exception( "The Report Type returned by the ENF is not known" ) -- GitLab