diff options
author | Filip Krzywka <filip.krzywka@nokia.com> | 2019-04-05 11:10:46 +0200 |
---|---|---|
committer | Filip Krzywka <filip.krzywka@nokia.com> | 2019-04-08 11:17:25 +0200 |
commit | e55809c0219be0898138c436d82ceba212b92df9 (patch) | |
tree | 0651e8a0a6a249d26bcde659d7844e1ad1de8dbe /sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt | |
parent | 8e2a52b2aebf8f968da02265affb6d01b0a1c166 (diff) |
Flatten configuration structure
Change-Id: I9a5a53f3c4cf0973d071f2bc6962016b5613972d
Issue-ID: DCAEGEN2-710
Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
Diffstat (limited to 'sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt')
-rw-r--r-- | sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt b/sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt index 407fd745..cfcc7d76 100644 --- a/sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt +++ b/sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt @@ -19,9 +19,9 @@ */ package org.onap.dcae.collectors.veshv.config.impl -import arrow.core.Either import arrow.core.None import arrow.core.Option +import arrow.core.Some import arrow.core.getOrElse import org.onap.dcae.collectors.veshv.config.api.model.CbsConfiguration import org.onap.dcae.collectors.veshv.config.api.model.CollectorConfiguration @@ -35,6 +35,7 @@ import org.onap.dcae.collectors.veshv.utils.arrow.mapBinding import org.onap.dcae.collectors.veshv.utils.arrow.doOnEmpty import org.onap.dcae.collectors.veshv.utils.logging.LogLevel import org.onap.dcae.collectors.veshv.utils.logging.Logger +import java.io.File /** * @author Jakub Dudycz <jakub.dudycz@nokia.com> @@ -55,7 +56,7 @@ internal class ConfigurationValidator { .doOnEmpty { logger.debug { "Cannot bind cbs configuration" } } .bind() - val securityConfiguration = validatedSecurityConfiguration(partialConfig) + val securityConfiguration = determineSecurityConfiguration(partialConfig) .doOnEmpty { logger.debug { "Cannot bind security configuration" } } .bind() @@ -85,39 +86,47 @@ internal class ConfigurationValidator { private fun validatedServerConfiguration(partial: PartialConfiguration) = partial.mapBinding { - partial.server.bind().let { - ServerConfiguration( - it.listenPort.bind(), - it.idleTimeoutSec.bind(), - it.maxPayloadSizeBytes.bind() - ) - } + ServerConfiguration( + it.listenPort.bind(), + it.idleTimeoutSec.bind(), + it.maxPayloadSizeBytes.bind() + ) } internal fun validatedCbsConfiguration(partial: PartialConfiguration) = partial.mapBinding { - it.cbs.bind().let { - CbsConfiguration( - it.firstRequestDelaySec.bind(), - it.requestIntervalSec.bind() - ) - } + CbsConfiguration( + it.firstRequestDelaySec.bind(), + it.requestIntervalSec.bind() + ) } - private fun validatedSecurityConfiguration(partial: PartialConfiguration) = - partial.mapBinding { - it.security.bind().let { - SecurityConfiguration(it.keys.map(SecurityKeysPaths::asImmutableSecurityKeys)) + private fun determineSecurityConfiguration(partial: PartialConfiguration) = + partial.sslDisable.fold({ createSecurityConfiguration(partial) }, { sslDisabled -> + if (sslDisabled) { + Some(SecurityConfiguration(None)) + } else { + createSecurityConfiguration(partial) } + }) + + private fun createSecurityConfiguration(partial: PartialConfiguration): Option<SecurityConfiguration> = + partial.mapBinding { + SecurityConfiguration( + Option.fromNullable(SecurityKeysPaths( + File(it.keyStoreFile.bind()).toPath(), + it.keyStorePassword.bind(), + File(it.trustStoreFile.bind()).toPath(), + it.trustStorePassword.bind() + ).asImmutableSecurityKeys()) + ) } private fun validatedCollectorConfig(partial: PartialConfiguration) = partial.mapBinding { - partial.collector.bind().let { - CollectorConfiguration( - it.routing.bind() - ) - } + CollectorConfiguration( + it.routing.bind() + ) } companion object { |