aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt
diff options
context:
space:
mode:
authorEylon Malin <eylon.malin@intl.att.com>2020-01-08 16:03:08 +0200
committerIttay Stern <ittay.stern@att.com>2020-01-09 17:17:46 +0200
commit6b5dd86a3557e8eed2c4584f5d16df5654cbc57b (patch)
treef3978f5e3e92a5728f8bdb89146de38305b16fb7 /vid-app-common/src/main/java/org/onap/vid/services/UserParamsContainer.kt
parente8414b1fe839291418ead3a7e5a64bf382dc1121 (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.kt40
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)
+ }
+}
+
+