diff options
author | Eylon Malin <eylon.malin@intl.att.com> | 2020-01-08 16:03:08 +0200 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2020-01-09 17:17:46 +0200 |
commit | 6b5dd86a3557e8eed2c4584f5d16df5654cbc57b (patch) | |
tree | f3978f5e3e92a5728f8bdb89146de38305b16fb7 /vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt | |
parent | e8414b1fe839291418ead3a7e5a64bf382dc1121 (diff) |
Fix the format of supplementary file and user params for aLaCarte requests
supplementary file shall be in format [{"name": "fieldName", "value" : "xyz"}]
Also this is the format of each param in user params for aLaCarte requests and old macros
Issue-ID: VID-743
Change-Id: I579298ce3f0b789a7a69e6af5a85bfbd50ae9fc0
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt b/vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt new file mode 100644 index 000000000..17cf88e3f --- /dev/null +++ b/vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt @@ -0,0 +1,40 @@ +package org.onap.vid.services + +import org.onap.vid.mso.model.ServiceInstantiationRequestDetails.UserParamNameAndValue +import org.onap.vid.mso.model.UserParamTypes + +class UserParamsContainer(instanceParams: Map<String, String>?, supplementaryParams: List<UserParamNameAndValue>?) { + + val params:Map<String, String> + + init { + params = aggregateAllInstanceParams(instanceParams, supplementaryParams) + } + + private fun aggregateAllInstanceParams( + instanceParams: Map<String, String>?, + supplementaryParams: List<UserParamNameAndValue>?) + : Map<String, String> { + val instanceParamsSafe: Map<String, String> = instanceParams ?: emptyMap() + val supplementaryParamsSafe: Map<String, String> = + supplementaryParams?.associate{ it.name to it.value } ?: emptyMap() + + return instanceParamsSafe.plus(supplementaryParamsSafe) + } + + fun toALaCarte(): List<UserParamTypes> = toUserParamNameAndValue() + + fun toMacroPre1806() : List<UserParamTypes> = toUserParamNameAndValue() + + fun toMacroPost1806() : List<Map<String, String>> = toListOfMap() + + private fun toUserParamNameAndValue(): List<UserParamNameAndValue> { + return params.map{UserParamNameAndValue(it.key, it.value)}.toList() + } + + private fun toListOfMap() : List<Map<String, String>> { + return listOf(params) + } +} + + |