Search in sources :

Example 76 with ServiceInstance

use of org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance in project so by onap.

the class BBInputSetup method getGBBALaCarteNonService.

protected GeneralBuildingBlock getGBBALaCarteNonService(ExecuteBuildingBlock executeBB, RequestDetails requestDetails, Map<ResourceKey, String> lookupKeyMap, String requestAction, String resourceId, String vnfType) throws Exception {
    String bbName = executeBB.getBuildingBlock().getBpmnFlowName();
    String serviceInstanceId = lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID);
    org.onap.aai.domain.yang.ServiceInstance aaiServiceInstance = null;
    ServiceModel serviceModel = new ServiceModel();
    Service service = null;
    Service newService = null;
    boolean isReplace = false;
    if (serviceInstanceId != null) {
        aaiServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
        if (aaiServiceInstance != null) {
            if (requestAction.equalsIgnoreCase("replaceInstance") || requestAction.equalsIgnoreCase("replaceInstanceRetainAssignments")) {
                RelatedInstanceList[] relatedInstanceList = requestDetails.getRelatedInstanceList();
                if (relatedInstanceList != null) {
                    for (RelatedInstanceList relatedInstList : relatedInstanceList) {
                        RelatedInstance relatedInstance = relatedInstList.getRelatedInstance();
                        if (relatedInstance.getModelInfo().getModelType().equals(ModelType.service)) {
                            newService = bbInputSetupUtils.getCatalogServiceByModelUUID(relatedInstance.getModelInfo().getModelVersionId());
                            isReplace = true;
                        }
                    }
                }
            }
            service = bbInputSetupUtils.getCatalogServiceByModelUUID(aaiServiceInstance.getModelVersionId());
            serviceModel.setNewService(newService);
            serviceModel.setCurrentService(service);
            if (service == null) {
                String message = String.format("Related service instance model not found in MSO CatalogDB: model-version-id=%s", aaiServiceInstance.getModelVersionId());
                throw new ServiceModelNotFoundException(message);
            } else if (newService == null && isReplace) {
                String message = "Related service instance model in Request not found in MSO CatalogDB";
                throw new ServiceModelNotFoundException(message);
            }
        } else {
            String message = String.format("Related service instance from AAI not found: service-instance-id=%s", serviceInstanceId);
            throw new NoServiceInstanceFoundException(message);
        }
    }
    ServiceInstance serviceInstance = this.getExistingServiceInstance(aaiServiceInstance);
    if (isReplace) {
        serviceInstance.setModelInfoServiceInstance(this.mapperLayer.mapCatalogServiceIntoServiceInstance(serviceModel.getNewService()));
    } else {
        serviceInstance.setModelInfoServiceInstance(this.mapperLayer.mapCatalogServiceIntoServiceInstance(serviceModel.getCurrentService()));
    }
    BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(executeBB.getRequestId()).setRequestDetails(requestDetails).setService(service).setBbName(bbName).setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).setResourceId(resourceId).setVnfType(vnfType).setKey(executeBB.getBuildingBlock().getKey()).setConfigurationResourceKeys(executeBB.getConfigurationResourceKeys()).setExecuteBB(executeBB).setRequestAction(requestAction).setIsReplace(isReplace).setServiceModel(serviceModel).build();
    this.populateObjectsOnAssignAndCreateFlows(parameter);
    return this.populateGBBWithSIAndAdditionalInfo(parameter);
}
Also used : RelatedInstanceList(org.onap.so.serviceinstancebeans.RelatedInstanceList) RelatedInstance(org.onap.so.serviceinstancebeans.RelatedInstance) Service(org.onap.so.db.catalog.beans.Service) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance) ServiceModel(org.onap.so.bpmn.servicedecomposition.entities.ServiceModel) ServiceModelNotFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.ServiceModelNotFoundException) NoServiceInstanceFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException)

Example 77 with ServiceInstance

use of org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance in project so by onap.

the class BBInputSetup method getGBBMacroExistingService.

protected GeneralBuildingBlock getGBBMacroExistingService(ExecuteBuildingBlock executeBB, Map<ResourceKey, String> lookupKeyMap, String bbName, String requestAction, CloudConfiguration cloudConfiguration) throws Exception {
    org.onap.aai.domain.yang.ServiceInstance aaiServiceInstance = null;
    String serviceInstanceId = lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID);
    RequestDetails requestDetails = executeBB.getRequestDetails();
    BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setExecuteBB(executeBB).setLookupKeyMap(lookupKeyMap).setBbName(bbName).setRequestAction(requestAction).setCloudConfiguration(cloudConfiguration).setRequestDetails(requestDetails).setResourceId(serviceInstanceId).build();
    GeneralBuildingBlock gBB = null;
    Service service = null;
    if (serviceInstanceId != null) {
        aaiServiceInstance = bbInputSetupUtils.getAAIServiceInstanceById(serviceInstanceId);
        if (aaiServiceInstance != null) {
            String modelVersionId = aaiServiceInstance.getModelVersionId();
            if ("upgradeInstance".equalsIgnoreCase(requestAction)) {
                modelVersionId = requestDetails.getModelInfo().getModelVersionId();
            }
            service = bbInputSetupUtils.getCatalogServiceByModelUUID(modelVersionId);
            if (service == null) {
                String message = String.format("Related service instance model not found in MSO CatalogDB: model-version-id=%s", aaiServiceInstance.getModelVersionId());
                throw new ServiceModelNotFoundException(message);
            }
        } else {
            String message = String.format("Related service instance from AAI not found: service-instance-id=%s", serviceInstanceId);
            throw new NoServiceInstanceFoundException(message);
        }
    }
    ServiceInstance serviceInstance = this.getExistingServiceInstance(aaiServiceInstance);
    serviceInstance.setModelInfoServiceInstance(this.mapperLayer.mapCatalogServiceIntoServiceInstance(service));
    parameter.setServiceInstance(serviceInstance);
    gBB = populateGBBWithSIAndAdditionalInfo(parameter);
    serviceInstance = gBB.getServiceInstance();
    CloudRegion cloudRegion = null;
    if (cloudConfiguration == null) {
        Optional<CloudRegion> cloudRegionOp = cloudInfoFromAAI.getCloudInfoFromAAI(serviceInstance);
        if (cloudRegionOp.isPresent()) {
            cloudRegion = cloudRegionOp.get();
        }
    }
    if (cloudConfiguration != null) {
        org.onap.aai.domain.yang.CloudRegion aaiCloudRegion = bbInputSetupUtils.getCloudRegion(cloudConfiguration);
        cloudRegion = mapperLayer.mapCloudRegion(cloudConfiguration, aaiCloudRegion);
    }
    gBB.setCloudRegion(cloudRegion);
    if (bbName.contains(VNF) || (bbName.contains(CONTROLLER) && (VNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
        for (GenericVnf genericVnf : serviceInstance.getVnfs()) {
            if (lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID) != null && genericVnf.getVnfId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID))) {
                org.onap.aai.domain.yang.GenericVnf vnf = bbInputSetupUtils.getAAIGenericVnf(genericVnf.getVnfId());
                ModelInfo modelInfo = new ModelInfo();
                if (vnf != null) {
                    modelInfo.setModelCustomizationUuid(vnf.getModelCustomizationId());
                }
                this.mapCatalogVnf(genericVnf, modelInfo, service);
            }
        }
    } else if (bbName.contains(VF_MODULE) || (bbName.contains(CONTROLLER) && (VF_MODULE).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
        for (GenericVnf vnf : serviceInstance.getVnfs()) {
            for (VfModule vfModule : vnf.getVfModules()) {
                if (lookupKeyMap.get(ResourceKey.VF_MODULE_ID) != null && vfModule.getVfModuleId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.VF_MODULE_ID))) {
                    String vnfModelCustomizationUUID = this.bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId();
                    ModelInfo vnfModelInfo = new ModelInfo();
                    vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID);
                    this.mapCatalogVnf(vnf, vnfModelInfo, service);
                    lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnf.getVnfId());
                    String vfModuleCustomizationUUID = this.bbInputSetupUtils.getAAIVfModule(vnf.getVnfId(), vfModule.getVfModuleId()).getModelCustomizationId();
                    ModelInfo vfModuleModelInfo = new ModelInfo();
                    vfModuleModelInfo.setModelCustomizationId(vfModuleCustomizationUUID);
                    this.mapCatalogVfModule(vfModule, vfModuleModelInfo, service, vnfModelCustomizationUUID);
                    if (cloudRegion != null) {
                        Optional<String> volumeGroupIdOp = getVolumeGroupIdRelatedToVfModule(vnf, vfModuleModelInfo, cloudRegion.getCloudOwner(), cloudRegion.getLcpCloudRegionId(), lookupKeyMap);
                        if (volumeGroupIdOp.isPresent()) {
                            lookupKeyMap.put(ResourceKey.VOLUME_GROUP_ID, volumeGroupIdOp.get());
                        }
                    }
                    if (vfModule.getModelInfoVfModule() != null && vfModule.getModelInfoVfModule().getModelName() != null && vfModule.getModelInfoVfModule().getModelName().contains("helm")) {
                        gBB.getRequestContext().setIsHelm(true);
                    }
                    break;
                }
            }
        }
    } else if (bbName.contains(VOLUME_GROUP)) {
        for (GenericVnf vnf : serviceInstance.getVnfs()) {
            for (VolumeGroup volumeGroup : vnf.getVolumeGroups()) {
                if (lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID) != null && volumeGroup.getVolumeGroupId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID))) {
                    String vnfModelCustomizationUUID = this.bbInputSetupUtils.getAAIGenericVnf(vnf.getVnfId()).getModelCustomizationId();
                    ModelInfo vnfModelInfo = new ModelInfo();
                    vnfModelInfo.setModelCustomizationUuid(vnfModelCustomizationUUID);
                    this.mapCatalogVnf(vnf, vnfModelInfo, service);
                    lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, vnf.getVnfId());
                    if (cloudRegion != null) {
                        String volumeGroupCustomizationUUID = this.bbInputSetupUtils.getAAIVolumeGroup(cloudRegion.getCloudOwner(), cloudRegion.getLcpCloudRegionId(), volumeGroup.getVolumeGroupId()).getModelCustomizationId();
                        ModelInfo volumeGroupModelInfo = new ModelInfo();
                        volumeGroupModelInfo.setModelCustomizationId(volumeGroupCustomizationUUID);
                        this.mapCatalogVolumeGroup(volumeGroup, volumeGroupModelInfo, service, vnfModelCustomizationUUID);
                    }
                    break;
                }
            }
        }
    } else if (bbName.contains(NETWORK)) {
        for (L3Network network : serviceInstance.getNetworks()) {
            if (lookupKeyMap.get(ResourceKey.NETWORK_ID) != null && network.getNetworkId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.NETWORK_ID))) {
                String networkCustomizationUUID = this.bbInputSetupUtils.getAAIL3Network(network.getNetworkId()).getModelCustomizationId();
                ModelInfo modelInfo = new ModelInfo();
                modelInfo.setModelCustomizationUuid(networkCustomizationUUID);
                this.mapCatalogNetwork(network, modelInfo, service);
                break;
            }
        }
    } else if (bbName.contains("Fabric")) {
        for (Configuration configuration : serviceInstance.getConfigurations()) {
            if (lookupKeyMap.get(ResourceKey.CONFIGURATION_ID) != null && configuration.getConfigurationId().equalsIgnoreCase(lookupKeyMap.get(ResourceKey.CONFIGURATION_ID))) {
                String configurationCustUUID = this.bbInputSetupUtils.getAAIConfiguration(configuration.getConfigurationId()).getModelCustomizationId();
                ModelInfo modelInfo = new ModelInfo();
                modelInfo.setModelCustomizationUuid(configurationCustUUID);
                this.mapCatalogConfiguration(configuration, modelInfo, service, executeBB.getConfigurationResourceKeys());
                break;
            }
        }
    } else if (bbName.equals("HealthCheckBB") && (VNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope())) {
        this.setisHelmforHealthCheckBB(service, serviceInstance, gBB);
    }
    if (executeBB.getWorkflowResourceIds() != null) {
        parameter.setResourceId(executeBB.getWorkflowResourceIds().getNetworkCollectionId());
        parameter.setKey(executeBB.getBuildingBlock().getKey());
        this.populateNetworkCollectionAndInstanceGroupAssign(parameter);
    }
    return gBB;
}
Also used : CloudRegion(org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion) L3Network(org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network) ModelInfo(org.onap.so.serviceinstancebeans.ModelInfo) GeneralBuildingBlock(org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock) GenericVnf(org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf) Optional(java.util.Optional) CloudConfiguration(org.onap.so.serviceinstancebeans.CloudConfiguration) Configuration(org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration) ExceptionBuilder(org.onap.so.client.exception.ExceptionBuilder) AAIFluentTypeBuilder(org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder) Service(org.onap.so.db.catalog.beans.Service) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance) VfModule(org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule) RequestDetails(org.onap.so.serviceinstancebeans.RequestDetails) VolumeGroup(org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup) ServiceModelNotFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.ServiceModelNotFoundException) NoServiceInstanceFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException)

Example 78 with ServiceInstance

use of org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance in project so by onap.

the class BBInputSetup method getServiceProxy.

protected ServiceProxy getServiceProxy(Service service) {
    if (!service.getServiceProxyCustomizations().isEmpty()) {
        ServiceProxyResourceCustomization serviceProxyCatalog = getServiceProxyResourceCustomization(service);
        ServiceProxy serviceProxy = new ServiceProxy();
        serviceProxy.setModelInfoServiceProxy(mapperLayer.mapServiceProxyCustomizationToServiceProxy(serviceProxyCatalog));
        Service sourceService = serviceProxyCatalog.getSourceService();
        ServiceInstance sourceServiceShell = new ServiceInstance();
        sourceServiceShell.setModelInfoServiceInstance(mapperLayer.mapCatalogServiceIntoServiceInstance(sourceService));
        serviceProxy.setServiceInstance(sourceServiceShell);
        serviceProxy.setType(sourceService.getServiceType());
        return serviceProxy;
    } else {
        return null;
    }
}
Also used : ServiceProxy(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceProxy) ServiceProxyResourceCustomization(org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization) Service(org.onap.so.db.catalog.beans.Service) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance)

Example 79 with ServiceInstance

use of org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance in project so by onap.

the class BBInputSetup method getGBBMacroUserParams.

protected GeneralBuildingBlock getGBBMacroUserParams(ExecuteBuildingBlock executeBB, RequestDetails requestDetails, Map<ResourceKey, String> lookupKeyMap, String vnfType, String bbName, String key, GeneralBuildingBlock gBB, RequestParameters requestParams, Service service, String input) throws Exception {
    ServiceInstance serviceInstance = gBB.getServiceInstance();
    org.onap.so.serviceinstancebeans.Service serviceMacro = mapper.readValue(input, org.onap.so.serviceinstancebeans.Service.class);
    Resources resources = serviceMacro.getResources();
    Vnfs vnfs = null;
    VfModules vfModules = null;
    Networks networks = null;
    CloudConfiguration cloudConfiguration = requestDetails.getCloudConfiguration();
    CloudRegion cloudRegion = setCloudConfiguration(gBB, cloudConfiguration);
    BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestId(executeBB.getRequestId()).setService(service).setBbName(bbName).setServiceInstance(serviceInstance).setLookupKeyMap(lookupKeyMap).build();
    if (bbName.contains(VNF) || (bbName.contains(CONTROLLER) && (VNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
        String vnfInstanceName = lookupKeyMap.get(ResourceKey.VNF_INSTANCE_NAME);
        if (StringUtils.isNotBlank(vnfInstanceName)) {
            vnfs = findVnfsByInstanceName(vnfInstanceName, resources);
        } else {
            vnfs = findVnfsByKey(key, resources);
        }
        // Vnf level cloud configuration takes precedence over service level cloud configuration.
        if (vnfs.getCloudConfiguration() != null) {
            setCloudConfiguration(gBB, vnfs.getCloudConfiguration());
        }
        String vnfId = lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID);
        // This stores the vnf id in request db to be retrieved later when
        // working on a vf module or volume group
        InfraActiveRequests request = this.bbInputSetupUtils.getInfraActiveRequest(executeBB.getRequestId());
        if (request != null) {
            this.bbInputSetupUtils.updateInfraActiveRequestVnfId(request, vnfId);
        }
        parameter.setModelInfo(vnfs.getModelInfo());
        parameter.setInstanceName(vnfs.getInstanceName());
        parameter.setPlatform(vnfs.getPlatform());
        parameter.setLineOfBusiness(vnfs.getLineOfBusiness());
        parameter.setResourceId(vnfId);
        parameter.setVnfType(vnfType);
        parameter.setInstanceParams(vnfs.getInstanceParams());
        parameter.setProductFamilyId(requestDetails.getRequestInfo().getProductFamilyId());
        String applicationId = "";
        if (vnfs.getApplicationId() != null) {
            applicationId = vnfs.getApplicationId();
        }
        parameter.setApplicationId(applicationId);
        this.populateGenericVnf(parameter);
    } else if (bbName.contains(PNF) || (bbName.contains(CONTROLLER) && (PNF).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
        String pnfId = lookupKeyMap.get(ResourceKey.PNF);
        resources.getPnfs().stream().filter(pnfs -> Objects.equals(key, pnfs.getModelInfo().getModelCustomizationId())).findFirst().ifPresent(pnfs -> BBInputSetupPnf.populatePnfToServiceInstance(pnfs, pnfId, serviceInstance));
    } else if (bbName.contains(VF_MODULE) || bbName.contains(VOLUME_GROUP) || (bbName.contains(CONTROLLER) && (VF_MODULE).equalsIgnoreCase(executeBB.getBuildingBlock().getBpmnScope()))) {
        String vfModuleInstanceName = lookupKeyMap.get(ResourceKey.VF_MODULE_INSTANCE_NAME);
        if (StringUtils.isNotBlank(vfModuleInstanceName)) {
            vfModules = getVfModulesByInstanceName(vfModuleInstanceName, resources);
        } else {
            vfModules = getVfModulesByKey(key, resources);
        }
        String vfModulesName = vfModules.getInstanceName();
        String vfModulesModelCustId = vfModules.getModelInfo().getModelCustomizationId();
        // Get the Vnf associated with vfModule
        Optional<org.onap.so.serviceinstancebeans.Vnfs> parentVnf = resources.getVnfs().stream().filter(aVnf -> aVnf.getCloudConfiguration() != null).filter(aVnf -> aVnf.getVfModules().stream().anyMatch(aVfModules -> aVfModules.getInstanceName().equals(vfModulesName) && aVfModules.getModelInfo().getModelCustomizationId().equals(vfModulesModelCustId))).findAny();
        // Get the cloud configuration from this Vnf
        if (parentVnf.isPresent()) {
            cloudRegion = setCloudConfiguration(gBB, parentVnf.get().getCloudConfiguration());
        }
        lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, getVnfId(executeBB, lookupKeyMap));
        parameter.setModelInfo(vfModules.getModelInfo());
        if (bbName.contains(VOLUME_GROUP)) {
            parameter.setResourceId(lookupKeyMap.get(ResourceKey.VOLUME_GROUP_ID));
            parameter.setInstanceName(vfModules.getVolumeGroupInstanceName());
            parameter.setVnfType(vnfType);
            parameter.setInstanceParams(vfModules.getInstanceParams());
            ServiceModel serviceModel = new ServiceModel();
            serviceModel.setCurrentService(service);
            parameter.setServiceModel(serviceModel);
            this.populateVolumeGroup(parameter);
        } else {
            parameter.setResourceId(lookupKeyMap.get(ResourceKey.VF_MODULE_ID));
            CloudConfiguration cloudConfig = new CloudConfiguration();
            cloudConfig.setLcpCloudRegionId(cloudRegion.getLcpCloudRegionId());
            cloudConfig.setCloudOwner(cloudRegion.getCloudOwner());
            ServiceModel serviceModel = new ServiceModel();
            serviceModel.setCurrentService(service);
            parameter.setServiceModel(serviceModel);
            parameter.setCloudConfiguration(cloudConfig);
            parameter.setInstanceName(vfModules.getInstanceName());
            parameter.setInstanceParams(vfModules.getInstanceParams());
            this.populateVfModule(parameter);
            gBB.getRequestContext().setIsHelm(parameter.getIsHelm());
        }
    } else if (bbName.contains(NETWORK)) {
        networks = findNetworksByKey(key, resources);
        String networkId = lookupKeyMap.get(ResourceKey.NETWORK_ID);
        if (networks != null) {
            // If service level cloud configuration is not provided then get it from networks.
            if (cloudConfiguration == null) {
                Optional<org.onap.so.serviceinstancebeans.Networks> netWithCloudConfig = resources.getNetworks().stream().filter(aNetwork -> aNetwork.getCloudConfiguration() != null).findAny();
                if (netWithCloudConfig.isPresent()) {
                    setCloudConfiguration(gBB, netWithCloudConfig.get().getCloudConfiguration());
                } else {
                    logger.debug("Could not find any cloud configuration for this request.");
                }
            }
            parameter.setInstanceName(networks.getInstanceName());
            parameter.setModelInfo(networks.getModelInfo());
            parameter.setInstanceParams(networks.getInstanceParams());
            parameter.setResourceId(networkId);
            this.populateL3Network(parameter);
        }
    } else if (bbName.contains("Configuration")) {
        String configurationId = lookupKeyMap.get(ResourceKey.CONFIGURATION_ID);
        ModelInfo configurationModelInfo = new ModelInfo();
        configurationModelInfo.setModelCustomizationUuid(key);
        ConfigurationResourceCustomization configurationCust = findConfigurationResourceCustomization(configurationModelInfo, service);
        if (configurationCust != null) {
            parameter.setModelInfo(configurationModelInfo);
            parameter.setResourceId(configurationId);
            parameter.setConfigurationResourceKeys(executeBB.getConfigurationResourceKeys());
            parameter.setRequestDetails(executeBB.getRequestDetails());
            this.populateConfiguration(parameter);
        } else {
            logger.debug("Could not find a configuration customization with key: {}", key);
        }
    }
    return gBB;
}
Also used : WorkflowResourceIds(org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds) AAIUriFactory(org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory) VpnBinding(org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding) Vnfs(org.onap.so.serviceinstancebeans.Vnfs) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance) StringUtils(org.apache.commons.lang3.StringUtils) ServiceProxyResourceCustomization(org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization) ModelInfo(org.onap.so.serviceinstancebeans.ModelInfo) JavaDelegate(org.camunda.bpm.engine.delegate.JavaDelegate) Pnf(org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf) Service(org.onap.so.db.catalog.beans.Service) Map(java.util.Map) Tenant(org.onap.so.bpmn.servicedecomposition.bbobjects.Tenant) OrchestrationStatus(org.onap.so.db.catalog.beans.OrchestrationStatus) DelegateExecutionImpl(org.onap.so.bpmn.common.DelegateExecutionImpl) ExecuteBuildingBlock(org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock) NetworkPolicy(org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy) ResourceKey(org.onap.so.bpmn.servicedecomposition.entities.ResourceKey) ServiceProxy(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceProxy) ConfigurationResourceCustomization(org.onap.so.db.catalog.beans.ConfigurationResourceCustomization) GeneralBuildingBlock(org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock) LineOfBusiness(org.onap.so.bpmn.servicedecomposition.bbobjects.LineOfBusiness) ConfigurationResourceKeys(org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys) VfModule(org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule) DelegateExecution(org.camunda.bpm.engine.delegate.DelegateExecution) UUID(java.util.UUID) Pair(org.javatuples.Pair) ServiceModelNotFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.ServiceModelNotFoundException) Objects(java.util.Objects) RelatedInstance(org.onap.so.serviceinstancebeans.RelatedInstance) List(java.util.List) RelatedInstanceList(org.onap.so.serviceinstancebeans.RelatedInstanceList) CollectionResourceCustomization(org.onap.so.db.catalog.beans.CollectionResourceCustomization) ServiceSubscription(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription) ModelType(org.onap.so.serviceinstancebeans.ModelType) Optional(java.util.Optional) Relationships(org.onap.aaiclient.client.aai.entities.Relationships) Vnfc(org.onap.so.bpmn.servicedecomposition.bbobjects.Vnfc) Customer(org.onap.so.bpmn.servicedecomposition.bbobjects.Customer) OrchestrationContext(org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext) CloudRegion(org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion) CollectionResource(org.onap.so.db.catalog.beans.CollectionResource) Types(org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types) Collection(org.onap.so.bpmn.servicedecomposition.bbobjects.Collection) CloudConfiguration(org.onap.so.serviceinstancebeans.CloudConfiguration) NoServiceInstanceFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException) HashMap(java.util.HashMap) InstanceGroup(org.onap.so.bpmn.servicedecomposition.bbobjects.InstanceGroup) RequestContext(org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext) ResourceNotFoundException(org.onap.so.bpmn.servicedecomposition.tasks.exceptions.ResourceNotFoundException) ArrayList(java.util.ArrayList) VnfResourceCustomization(org.onap.so.db.catalog.beans.VnfResourceCustomization) InfraActiveRequests(org.onap.so.db.request.beans.InfraActiveRequests) VfModules(org.onap.so.serviceinstancebeans.VfModules) RouteTableReference(org.onap.so.bpmn.servicedecomposition.bbobjects.RouteTableReference) VolumeGroup(org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup) ExceptionBuilder(org.onap.so.client.exception.ExceptionBuilder) AAIResultWrapper(org.onap.aaiclient.client.aai.entities.AAIResultWrapper) VfModuleCustomization(org.onap.so.db.catalog.beans.VfModuleCustomization) OwningEntity(org.onap.so.bpmn.servicedecomposition.bbobjects.OwningEntity) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization) Logger(org.slf4j.Logger) ServiceModel(org.onap.so.bpmn.servicedecomposition.entities.ServiceModel) AAIFluentTypeBuilder(org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder) Configuration(org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration) Project(org.onap.so.bpmn.servicedecomposition.bbobjects.Project) AAIResourceUri(org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri) NetworkCollectionResourceCustomization(org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) VnfcInstanceGroupCustomization(org.onap.so.db.catalog.beans.VnfcInstanceGroupCustomization) NetworkResourceCustomization(org.onap.so.db.catalog.beans.NetworkResourceCustomization) AAICommonObjectMapperProvider(org.onap.aaiclient.client.aai.AAICommonObjectMapperProvider) Networks(org.onap.so.serviceinstancebeans.Networks) Component(org.springframework.stereotype.Component) Platform(org.onap.so.bpmn.servicedecomposition.bbobjects.Platform) CvnfcConfigurationCustomization(org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization) L3Network(org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network) BuildingBlockExecution(org.onap.so.bpmn.common.BuildingBlockExecution) RequestDetails(org.onap.so.serviceinstancebeans.RequestDetails) RequestParameters(org.onap.so.serviceinstancebeans.RequestParameters) Resources(org.onap.so.serviceinstancebeans.Resources) SerializationFeature(com.fasterxml.jackson.databind.SerializationFeature) GenericVnf(org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf) VfModules(org.onap.so.serviceinstancebeans.VfModules) Networks(org.onap.so.serviceinstancebeans.Networks) CloudRegion(org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion) ModelInfo(org.onap.so.serviceinstancebeans.ModelInfo) Optional(java.util.Optional) ExceptionBuilder(org.onap.so.client.exception.ExceptionBuilder) AAIFluentTypeBuilder(org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance) Vnfs(org.onap.so.serviceinstancebeans.Vnfs) InfraActiveRequests(org.onap.so.db.request.beans.InfraActiveRequests) CloudConfiguration(org.onap.so.serviceinstancebeans.CloudConfiguration) ServiceModel(org.onap.so.bpmn.servicedecomposition.entities.ServiceModel) Resources(org.onap.so.serviceinstancebeans.Resources) ConfigurationResourceCustomization(org.onap.so.db.catalog.beans.ConfigurationResourceCustomization)

Example 80 with ServiceInstance

use of org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance in project so by onap.

the class ServiceTopologyOperationMapperTest method reqMapperTest.

@Test
public void reqMapperTest() throws Exception {
    // prepare and set service instance
    ServiceInstance serviceInstance = new ServiceInstance();
    ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance();
    modelInfoServiceInstance.setModelInvariantUuid("modelInvariantUuid");
    modelInfoServiceInstance.setModelName("modelName");
    modelInfoServiceInstance.setModelUuid("modelUuid");
    modelInfoServiceInstance.setModelVersion("modelVersion");
    serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance);
    // prepare Customer object
    Customer customer = new Customer();
    customer.setGlobalCustomerId("globalCustomerId");
    customer.setServiceSubscription(new ServiceSubscription());
    // set Customer on service instance
    customer.getServiceSubscription().getServiceInstances().add(serviceInstance);
    // prepare RequestContext
    RequestContext requestContext = new RequestContext();
    Map<String, Object> userParams = new HashMap<>();
    userParams.put("key1", "value1");
    requestContext.setUserParams(userParams);
    requestContext.setProductFamilyId("productFamilyId");
    requestContext.setMsoRequestId("MsoRequestId");
    GenericResourceApiServiceOperationInformation serviceOpInformation = mapper.reqMapper(SDNCSvcOperation.SERVICE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATESERVICEINSTANCE, serviceInstance, customer, requestContext);
    GenericResourceApiServiceOperationInformation serviceOpInformationNullReqContext = mapper.reqMapper(SDNCSvcOperation.SERVICE_TOPOLOGY_OPERATION, SDNCSvcAction.ASSIGN, GenericResourceApiRequestActionEnumeration.CREATESERVICEINSTANCE, serviceInstance, customer, null);
    String jsonToCompare = new String(Files.readAllBytes(Paths.get("src/test/resources/__files/BuildingBlocks/genericResourceApiEcompModelInformation.json")));
    ObjectMapper omapper = new ObjectMapper();
    GenericResourceApiOnapmodelinformationOnapModelInformation reqMapper1 = omapper.readValue(jsonToCompare, GenericResourceApiOnapmodelinformationOnapModelInformation.class);
    assertThat(reqMapper1, sameBeanAs(serviceOpInformation.getServiceInformation().getOnapModelInformation()));
    assertEquals("MsoRequestId", serviceOpInformation.getRequestInformation().getRequestId());
    assertNotNull(serviceOpInformationNullReqContext.getRequestInformation().getRequestId());
}
Also used : ServiceSubscription(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription) Customer(org.onap.so.bpmn.servicedecomposition.bbobjects.Customer) HashMap(java.util.HashMap) GenericResourceApiOnapmodelinformationOnapModelInformation(org.onap.sdnc.northbound.client.model.GenericResourceApiOnapmodelinformationOnapModelInformation) GenericResourceApiServiceOperationInformation(org.onap.sdnc.northbound.client.model.GenericResourceApiServiceOperationInformation) ServiceInstance(org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance) ModelInfoServiceInstance(org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance) RequestContext(org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext) GeneralTopologyObjectMapper(org.onap.so.bpmn.infrastructure.sdnc.mapper.GeneralTopologyObjectMapper) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ModelInfoServiceInstance(org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance) Test(org.junit.Test)

Aggregations

ServiceInstance (org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance)228 Test (org.junit.Test)118 ModelInfoServiceInstance (org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance)110 GenericVnf (org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf)84 RequestContext (org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext)70 GeneralBuildingBlock (org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock)61 CloudRegion (org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion)54 Customer (org.onap.so.bpmn.servicedecomposition.bbobjects.Customer)53 VfModule (org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule)51 HashMap (java.util.HashMap)50 Service (org.onap.so.db.catalog.beans.Service)46 BBObjectNotFoundException (org.onap.so.client.exception.BBObjectNotFoundException)40 L3Network (org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network)38 ResourceKey (org.onap.so.bpmn.servicedecomposition.entities.ResourceKey)37 RequestDetails (org.onap.so.serviceinstancebeans.RequestDetails)35 ModelInfoGenericVnf (org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf)33 ModelInfoVfModule (org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule)33 File (java.io.File)31 OrchestrationContext (org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext)25 ModelInfo (org.onap.so.serviceinstancebeans.ModelInfo)24