aboutsummaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt
diff options
context:
space:
mode:
authorFilip Krzywka <filip.krzywka@nokia.com>2019-04-05 11:10:46 +0200
committerFilip Krzywka <filip.krzywka@nokia.com>2019-04-08 11:17:25 +0200
commite55809c0219be0898138c436d82ceba212b92df9 (patch)
tree0651e8a0a6a249d26bcde659d7844e1ad1de8dbe /sources/hv-collector-configuration/src/main/kotlin/org/onap/dcae/collectors/veshv/config/impl/ConfigurationValidator.kt
parent8e2a52b2aebf8f968da02265affb6d01b0a1c166 (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.kt57
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 {