package org.onap.so.bpmn.servicedecomposition.modelinfo;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
public class ModelInfoPnf extends ModelInfoMetadata implements Serializable {
private static final long serialVersionUID = 50687109134317615L;
+
+ @JsonProperty("nf-role")
+ private String role;
+
+ @JsonProperty("nf-type")
+ private String NfType;
+
+ public String getRole() {
+ return role;
+ }
+
+ public void setRole(String role) {
+ this.role = role;
+ }
+
+ public String getNfType() {
+ return NfType;
+ }
+
+ public void setNfType(String nfType) {
+ NfType = nfType;
+ }
}
import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.Service;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
}
}
+ protected void mapCatalogPnf(Pnf pnf, ModelInfo modelInfo, Service service) {
+ PnfResourceCustomization pnfResourceCustomization = getPnfResourceCustomizationFromService(modelInfo, service);
+ if (pnfResourceCustomization != null) {
+ pnf.setModelInfoPnf(this.mapperLayer.mapCatalogPnfToPnf(pnfResourceCustomization));
+ }
+ }
+
protected VnfResourceCustomization getVnfResourceCustomizationFromService(ModelInfo modelInfo, Service service) {
VnfResourceCustomization vnfResourceCustomization = null;
for (VnfResourceCustomization resourceCust : service.getVnfCustomizations()) {
return vnfResourceCustomization;
}
+ protected PnfResourceCustomization getPnfResourceCustomizationFromService(ModelInfo modelInfo, Service service) {
+ PnfResourceCustomization pnfResourceCustomization = null;
+ for (PnfResourceCustomization resourceCust : service.getPnfCustomizations()) {
+ if (resourceCust.getModelCustomizationUUID().equalsIgnoreCase(modelInfo.getModelCustomizationUuid())) {
+ pnfResourceCustomization = resourceCust;
+ break;
+ }
+ }
+ return pnfResourceCustomization;
+ }
+
protected void populateL3Network(BBInputSetupParameter parameter) {
L3Network network = null;
for (L3Network networkTemp : parameter.getServiceInstance().getNetworks()) {
.filter(pnfs -> Objects.equals(key, pnfs.getModelInfo().getModelCustomizationId())).findFirst()
.ifPresent(pnfs -> BBInputSetupPnf.populatePnfToServiceInstance(pnfs, pnfId, serviceInstance));
}
+
+ serviceInstance.getPnfs().stream().filter(pnf -> pnfInstanceName.equalsIgnoreCase(pnf.getPnfName()))
+ .findFirst().ifPresent(pnf -> {
+ ModelInfo pnfModelInfo = new ModelInfo();
+ pnfModelInfo.setModelCustomizationUuid(pnf.getModelInfoPnf().getModelCustomizationUuid());
+ pnfModelInfo.setModelCustomizationId(pnf.getModelInfoPnf().getModelCustomizationUuid());
+ mapCatalogPnf(pnf, pnfModelInfo, service);
+ });
+
} 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);
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
return modelInfoVnf;
}
+ protected ModelInfoPnf mapCatalogPnfToPnf(PnfResourceCustomization pnfResourceCustomization) {
+ ModelInfoPnf modelInfoPnf = modelMapper.map(pnfResourceCustomization, ModelInfoPnf.class);
+ modelMapper.map(pnfResourceCustomization.getPnfResources(), modelInfoPnf);
+ return modelInfoPnf;
+ }
+
protected ModelInfoVfModule mapCatalogVfModuleToVfModule(VfModuleCustomization vfResourceCustomization) {
ModelInfoVfModule modelInfoVfModule = modelMapper.map(vfResourceCustomization, ModelInfoVfModule.class);
modelMapper.map(vfResourceCustomization.getVfModule(), modelInfoVfModule);
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
import org.onap.so.db.catalog.beans.CollectionResource;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResource;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.beans.VnfcCustomization;
assertThat(actualModelInfoGenericVnf, sameBeanAs(expectedModelInfoGenericVnf));
}
+ @Test
+ public void testMapCatalogPnfToPnf() throws IOException {
+ PnfResourceCustomization pnfResourceCustomization = mapper.readValue(
+ new File(RESOURCE_PATH + "PnfResourceCustomizationInput.json"), PnfResourceCustomization.class);
+
+ PnfResource pnfResource = new PnfResource();
+ pnfResource.setModelUUID("modelUuid");
+ pnfResource.setModelInvariantUUID("modelInvariantUuid");
+ pnfResource.setModelVersion("modelVersion");
+
+ pnfResourceCustomization.setPnfResources(pnfResource);
+
+ ModelInfoPnf expectedModelInfoPnf =
+ mapper.readValue(new File(RESOURCE_PATH + "ModelInfoPnfExpected.json"), ModelInfoPnf.class);
+
+ ModelInfoPnf actualModelInfoPnf = bbInputSetupMapperLayer.mapCatalogPnfToPnf(pnfResourceCustomization);
+
+ assertThat(actualModelInfoPnf, sameBeanAs(expectedModelInfoPnf));
+ }
+
@Test
public void testMapCatalogVfModuleToVfModule() throws JsonParseException, JsonMappingException, IOException {
VfModuleCustomization vfResourceCustomization = mapper
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoNetwork;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceInstance;
+import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoPnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoServiceProxy;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.NoServiceInstanceFoundException;
import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.db.catalog.beans.Service;
+import org.onap.so.db.catalog.beans.PnfResourceCustomization;
import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
import org.onap.so.db.catalog.beans.VfModuleCustomization;
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
assertEquals(modelInfoGenericVnf, genericVnf.getModelInfoGenericVnf());
}
+ @Test
+ public void testMapCatalogPnf() {
+ ModelInfoPnf modelInfoPnf = new ModelInfoPnf();
+ Pnf pnf = new Pnf();
+ RequestDetails requestDetails = new RequestDetails();
+ ModelInfo modelInfo = new ModelInfo();
+ modelInfo.setModelCustomizationUuid("modelCustomizationUUID");
+ requestDetails.setModelInfo(modelInfo);
+ Service service = new Service();
+
+ PnfResourceCustomization resourceCust = new PnfResourceCustomization();
+ resourceCust.setModelCustomizationUUID("pnfModelCustomizationUUID");
+ service.getPnfCustomizations().add(resourceCust);
+ resourceCust.setModelCustomizationUUID("modelCustomizationUUID");
+
+ doReturn(modelInfoPnf).when(bbInputSetupMapperLayer).mapCatalogPnfToPnf(resourceCust);
+
+ SPY_bbInputSetup.mapCatalogPnf(pnf, modelInfo, service);
+
+ assertEquals(modelInfoPnf, pnf.getModelInfoPnf());
+ }
+
@Test
public void testMapCatalogCollectionAndInstanceGroup() {
ModelInfoCollection modelInfoCollection = new ModelInfoCollection();
--- /dev/null
+{
+ "nfType": "nfType",
+ "model-customization-uuid": "modelCustomizationUUID",
+ "model-invariant-uuid": "modelInvariantUuid",
+ "model-uuid": "modelUuid",
+ "model-version": "modelVersion",
+ "model-instance-name": "modelInstanceName",
+ "model-name": null,
+ "nf-role": "nfRole",
+ "nf-type": "nfType"
+}
\ No newline at end of file
--- /dev/null
+{
+ "modelCustomizationUUID" : "modelCustomizationUUID",
+ "modelInstanceName" : "modelInstanceName",
+ "minInstances": 2,
+ "maxInstances": 3,
+ "availabilityZoneMaxCount": 5,
+ "nfFunction" : "nfFunction",
+ "nfType" : "nfType",
+ "nfRole" : "nfRole",
+ "nfNamingCode" : "nfNamingCode",
+ "multiStageDesign" : "multiStageDesign",
+ "blueprintName" : "testBlueprintName",
+ "blueprintVersion" : "testBlueprintVersion"
+}
\ No newline at end of file
map().setModelCustomizationId(source.getModelInfoPnf().getModelCustomizationUuid());
map().setModelInvariantId(source.getModelInfoPnf().getModelInvariantUuid());
map().setModelVersionId(source.getModelInfoPnf().getModelUuid());
+ map().setNfType(source.getModelInfoPnf().getNfType());
}
});
}