Make UatExecutor accessible inside a CBA JUnit test
[ccsdk/cds.git] / components / model-catalog / blueprint-model / archetype-blueprint / src / main / resources / archetype-resources / Tests / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / uat / logging / SmartColorDiscriminator.kt
1 package org.onap.ccsdk.cds.blueprintsprocessor.uat.logging
2
3 import ch.qos.logback.classic.spi.ILoggingEvent
4 import ch.qos.logback.core.sift.AbstractDiscriminator
5 import org.onap.ccsdk.cds.blueprintsprocessor.uat.logging.ColorMarker
6 import org.onap.ccsdk.cds.blueprintsprocessor.uat.logging.LogColor.MDC_COLOR_KEY
7
8 class SmartColorDiscriminator : AbstractDiscriminator<ILoggingEvent>() {
9
10     var defaultValue: String = "white"
11
12     override fun getKey(): String {
13         return MDC_COLOR_KEY
14     }
15
16     fun setKey() {
17         throw UnsupportedOperationException("Key not settable. Using $MDC_COLOR_KEY")
18     }
19
20     override fun getDiscriminatingValue(e: ILoggingEvent): String =
21         (e.marker as? ColorMarker)?.name
22             ?: e.mdcPropertyMap?.get(MDC_COLOR_KEY)
23             ?: defaultValue
24 }