X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=bpmn%2FMSOCommonBPMN%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fbpmn%2Fservicedecomposition%2Ftasks%2FBBInputSetup.java;fp=bpmn%2FMSOCommonBPMN%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fbpmn%2Fservicedecomposition%2Ftasks%2FBBInputSetup.java;h=b38bd25c666966fd6caff0afb430dee672c1d5df;hb=09e2242fd1b3258d299018e501c10f124e5b3104;hp=178612c4bd77e80beefe78e607e6ca351ddc06c1;hpb=6624366c1485f352220216e45666d6083da04d6c;p=so.git diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java index 178612c4bd..b38bd25c66 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetup.java @@ -75,6 +75,7 @@ import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; import org.onap.so.bpmn.servicedecomposition.entities.ServiceModel; import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds; +import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance; import org.onap.so.bpmn.servicedecomposition.generalobjects.OrchestrationContext; import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext; import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException; @@ -189,6 +190,13 @@ public class BBInputSetup implements JavaDelegate { boolean homing = Boolean.TRUE.equals(executeBB.isHoming()); Map lookupKeyMap = new HashMap<>(); outputBB = this.getGBB(executeBB, lookupKeyMap, requestAction, aLaCarte, resourceId, vnfType); + logger.debug("setting Homing"); + if (executeBB.getBuildingBlock().getBpmnFlowName().contains("AssignRANNssiBB")) { + execution.setVariable("homing", true); + } else { + execution.setVariable("homing", false); + } + ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); logger.debug("GeneralBB: " + mapper.writeValueAsString(outputBB)); @@ -240,6 +248,11 @@ public class BBInputSetup implements JavaDelegate { requestDetails = bbInputSetupUtils.getRequestDetails(requestId); } if (requestDetails.getModelInfo() == null) { + if (requestAction.contains("RanSlice")) { + logger.debug(">>> RequestAction: {}", executeBB.getRequestAction()); + + return this.getGBBRanSlicing(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId); + } return this.getGBBCM(executeBB, requestDetails, lookupKeyMap, requestAction, resourceId); } else { ModelType modelType = requestDetails.getModelInfo().getModelType(); @@ -347,7 +360,7 @@ public class BBInputSetup implements JavaDelegate { List genericVnfs = serviceInstance.getVnfs(); String vnfId = lookupKeyMap.get(ResourceKey.GENERIC_VNF_ID); - if (vnfId != null) { + if (vnfId != null && !vnfId.isEmpty()) { org.onap.aai.domain.yang.GenericVnf aaiGenericVnf = bbInputSetupUtils.getAAIGenericVnf(vnfId); GenericVnf genericVnf = this.mapperLayer.mapAAIGenericVnfIntoGenericVnf(aaiGenericVnf); genericVnfs.add(genericVnf); @@ -394,6 +407,67 @@ public class BBInputSetup implements JavaDelegate { return this.populateGBBWithSIAndAdditionalInfo(parameter); } + protected GeneralBuildingBlock getGBBRanSlicing(ExecuteBuildingBlock executeBB, RequestDetails requestDetails, + Map lookupKeyMap, String requestAction, String resourceId) throws Exception { + org.onap.aai.domain.yang.ServiceInstance serviceInstanceAAI = null; + String serviceInstanceId = lookupKeyMap.get(ResourceKey.SERVICE_INSTANCE_ID); + + executeBB.setHoming(true); + Customer customer = new Customer(); + + String subscriberId = executeBB.getRequestDetails().getSubscriberInfo().getGlobalSubscriberId(); + customer.setGlobalCustomerId(subscriberId); + + String subscriberName = executeBB.getRequestDetails().getSubscriberInfo().getSubscriberName(); + customer.setSubscriberName(subscriberName); + + String subscriptionType = executeBB.getRequestDetails().getRequestParameters().getSubscriptionServiceType(); + + ServiceSubscription serviceSubscription = new ServiceSubscription(); + serviceSubscription.setServiceType(subscriptionType); + + customer.setServiceSubscription(serviceSubscription); + + String bbName = executeBB.getBuildingBlock().getBpmnFlowName(); + + serviceInstanceAAI = getServiceInstanceAAI(requestDetails, customer, serviceInstanceId, false, bbName); + + ServiceInstance serviceInstance = new ServiceInstance(); + serviceInstance.setServiceInstanceId(serviceInstanceId); + logger.debug(">>>>> serviceInstanceAAI: {}", serviceInstanceAAI); + if (serviceInstanceAAI != null) { + String modelVersionId = serviceInstanceAAI.getModelVersionId(); + + Service service = bbInputSetupUtils.getCatalogServiceByModelUUID(modelVersionId); + + // Check if there is any existing method for mapping + String modelInvariantId = serviceInstanceAAI.getModelInvariantId(); + String modelVersion = service.getModelVersion(); + String serviceType = service.getServiceType(); + String serviceRole = service.getServiceRole(); + String controllerActor = service.getControllerActor(); + String blueprintName = service.getBlueprintName(); + String blueprintVersion = service.getBlueprintVersion(); + + ModelInfoServiceInstance modelInfoServiceInstance = new ModelInfoServiceInstance(); + modelInfoServiceInstance.setServiceType(serviceType); + modelInfoServiceInstance.setServiceRole(serviceRole); + modelInfoServiceInstance.setControllerActor(controllerActor); + modelInfoServiceInstance.setBlueprintName(blueprintName); + modelInfoServiceInstance.setBlueprintVersion(blueprintVersion); + modelInfoServiceInstance.setModelInvariantUuid(modelInvariantId); + modelInfoServiceInstance.setModelUuid(modelVersionId); + modelInfoServiceInstance.setModelVersion(modelVersion); + + serviceInstance.setModelInfoServiceInstance(modelInfoServiceInstance); + } + BBInputSetupParameter parameter = new BBInputSetupParameter.Builder().setRequestDetails(requestDetails) + .setServiceInstance(serviceInstance).setExecuteBB(executeBB).setRequestAction(requestAction) + .setCustomer(customer).build(); + return this.populateGBBWithSIAndAdditionalInfo(parameter); + + } + protected void populateObjectsOnAssignAndCreateFlows(BBInputSetupParameter parameter) throws Exception { parameter.setModelInfo(parameter.getRequestDetails().getModelInfo()); parameter.setInstanceName(parameter.getRequestDetails().getRequestInfo().getInstanceName());