diff options
author | Mateusz Gołuchowski <mateusz.goluchowski@nokia.com> | 2020-11-05 15:47:23 +0100 |
---|---|---|
committer | Ikram Ikramullah <ikram@research.att.com> | 2020-11-27 15:14:17 +0000 |
commit | 164596ffc56c1f9a4418a2f3b8f3941896b124f7 (patch) | |
tree | 6b622ce09273cad1e73735f77dd650624a54e5f1 /vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt | |
parent | 3e558222d300ff70ff490914cc2245cf2a59e72a (diff) |
Update VID SO API call generation - include PNF instanceName parameter in SO API call (macro)
Creation of functionality to prepare service with PNF request which call SO.
Issue-ID: VID-695
Signed-off-by: Mateusz Goluchowski <mateusz.goluchowski@nokia.com>
Change-Id: I5285ac2ab5e95665244ca18c6549249d9330b1ed
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt b/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt index c31e69300..17948d4b6 100644 --- a/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt +++ b/vid-app-common/src/main/java/org/onap/vid/job/command/MsoRequestBuilder.kt @@ -65,7 +65,6 @@ class MsoRequestBuilder val serviceInstantiationServiceList = generateMacroServiceInstantiationRequestParams(payload, serviceInstanceName, jobId) - val requestParameters = ServiceInstantiationRequestDetails.RequestParameters(payload.subscriptionServiceType, false, serviceInstantiationServiceList) val requestDetails = generateServiceInstantiationRequestDetails(payload, requestParameters, serviceInstanceName, userId) @@ -221,7 +220,7 @@ class MsoRequestBuilder return !aaiClient.isNodeTypeExistsByName(name, resourceType) } - private fun generateServiceInstantiationServicesList(payload: ServiceInstantiation, serviceInstanceName: String?, vnfList: ServiceInstantiationRequestDetails.ServiceInstantiationVnfList): List<ServiceInstantiationRequestDetails.ServiceInstantiationService> { + private fun generateServiceInstantiationServicesList(payload: ServiceInstantiation, serviceInstanceName: String?, vnfList: List<ServiceInstantiationRequestDetails.ServiceInstantiationVnf>, pnfList: List<ServiceInstantiationRequestDetails.ServiceInstantiationPnf>): List<ServiceInstantiationRequestDetails.ServiceInstantiationService> { val serviceInstantiationServiceList = LinkedList<ServiceInstantiationRequestDetails.ServiceInstantiationService>() val unFilteredInstanceParams = defaultIfNull<List<MutableMap<String, String>>>(payload.instanceParams, emptyList()) val filteredInstanceParams = removeUnNeededParams(unFilteredInstanceParams) @@ -229,7 +228,8 @@ class MsoRequestBuilder payload.modelInfo, serviceInstanceName, filteredInstanceParams, - vnfList + vnfList, + pnfList ) serviceInstantiationServiceList.add(serviceInstantiationService) return serviceInstantiationServiceList @@ -255,7 +255,7 @@ class MsoRequestBuilder return if (result.isEmpty()) emptyList() else listOf(result) } - private fun createServiceInstantiationVnfList(jobId: UUID?, payload: ServiceInstantiation): ServiceInstantiationRequestDetails.ServiceInstantiationVnfList { + private fun createServiceInstantiationVnfList(jobId: UUID?, payload: ServiceInstantiation): List<ServiceInstantiationRequestDetails.ServiceInstantiationVnf> { val cloudConfiguration = generateCloudConfiguration(payload.lcpCloudRegionId, payload.tenantId) val isBulk = asyncInstantiationBL.isPartOfBulk(jobId) @@ -278,7 +278,27 @@ class MsoRequestBuilder vnfList.add(serviceInstantiationVnf) } - return ServiceInstantiationRequestDetails.ServiceInstantiationVnfList(vnfList) + return vnfList; + } + + private fun createServiceInstantiationPnfList(jobId: UUID?, payload: ServiceInstantiation): List<ServiceInstantiationRequestDetails.ServiceInstantiationPnf> { + val isBulk = asyncInstantiationBL.isPartOfBulk(jobId) + + val pnfs = payload.pnfs + val pnfList = mutableListOf<ServiceInstantiationRequestDetails.ServiceInstantiationPnf>() + for (pnf in pnfs.values) { + val serviceInstantiationPnf = ServiceInstantiationRequestDetails.ServiceInstantiationPnf( + pnf.modelInfo, + pnf.platformName, + pnf.lineOfBusiness, + payload.productFamilyId, + buildPnfInstanceParams(pnf.instanceParams), + getUniqueNameIfNeeded(pnf.instanceName, ResourceType.PNF, isBulk) + ) + pnfList.add(serviceInstantiationPnf) + } + + return pnfList; } private fun convertVfModuleMapToList(vfModules: Map<String, Map<String, VfModule>>): List<VfModuleMacro> { @@ -323,6 +343,13 @@ class MsoRequestBuilder return if (vnfInstanceParams.isEmpty()) emptyList() else ImmutableList.of(vnfInstanceParams) } + fun buildPnfInstanceParams(currentPnfInstanceParams: List<MutableMap<String, String>>): List<Map<String, String>> { + val filteredPnfInstanceParams = removeUnNeededParams(currentPnfInstanceParams) + + val pnfInstanceParams = extractActualInstanceParams(filteredPnfInstanceParams) + return if (pnfInstanceParams.isEmpty()) emptyList() else ImmutableList.of(pnfInstanceParams) + } + private fun generateServiceInstantiationRequestDetails(payload: ServiceInstantiation, requestParameters: ServiceInstantiationRequestDetails.RequestParameters, serviceInstanceName: String?, userId: String): ServiceInstantiationRequestDetails { val requestInfo = ServiceInstantiationRequestDetails.RequestInfo(serviceInstanceName, payload.productFamilyId, @@ -422,7 +449,12 @@ class MsoRequestBuilder } private fun generateMacroServiceInstantiationRequestParams(payload: ServiceInstantiation, serviceInstanceName: String?, jobId: UUID?): List<UserParamTypes> { - val userParams = generateServiceInstantiationServicesList(payload, serviceInstanceName, createServiceInstantiationVnfList(jobId, payload)) + val userParams = generateServiceInstantiationServicesList( + payload, + serviceInstanceName, + createServiceInstantiationVnfList(jobId, payload), + createServiceInstantiationPnfList(jobId, payload) + ) return userParams.plus(homingSolution()) } |