Search in sources :

Example 1 with CollectionResourceInstanceGroupCustomization

use of org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization in project so by onap.

the class ServiceEBBLoader method traverseNetworkCollectionResourceCustomization.

private void traverseNetworkCollectionResourceCustomization(List<Resource> resourceList, Resource serviceResource, CollectionResourceCustomization collectionResourceCustomization) {
    if (collectionResourceCustomizationShouldNotBeProcessed(resourceList, serviceResource, collectionResourceCustomization))
        return;
    int minNetworks = 0;
    org.onap.so.db.catalog.beans.InstanceGroup instanceGroup = collectionResourceCustomization.getCollectionResource().getInstanceGroup();
    CollectionResourceInstanceGroupCustomization collectionInstCust = null;
    if (!instanceGroup.getCollectionInstanceGroupCustomizations().isEmpty()) {
        for (CollectionResourceInstanceGroupCustomization collectionInstanceGroupTemp : instanceGroup.getCollectionInstanceGroupCustomizations()) {
            if (collectionInstanceGroupTemp.getModelCustomizationUUID().equalsIgnoreCase(collectionResourceCustomization.getModelCustomizationUUID())) {
                collectionInstCust = collectionInstanceGroupTemp;
                break;
            }
        }
        if (interfaceNetworkQuantityIsAvailableInCollection(collectionInstCust)) {
            minNetworks = collectionInstCust.getSubInterfaceNetworkQuantity();
        }
    }
    logger.debug("minNetworks: {}", minNetworks);
    CollectionNetworkResourceCustomization collectionNetworkResourceCust = getCollectionNetworkResourceCustomization(collectionResourceCustomization, instanceGroup);
    for (int i = 0; i < minNetworks; i++) {
        if (collectionNetworkResourceCust != null) {
            Resource resource = new Resource(WorkflowType.VIRTUAL_LINK, collectionNetworkResourceCust.getModelCustomizationUUID(), false, serviceResource);
            resource.setVirtualLinkKey(Integer.toString(i));
            resourceList.add(resource);
        }
    }
}
Also used : CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization) InstanceGroup(org.onap.so.db.catalog.beans.InstanceGroup) Resource(org.onap.so.bpmn.infrastructure.workflow.tasks.Resource) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization)

Example 2 with CollectionResourceInstanceGroupCustomization

use of org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization in project so by onap.

the class BBInputSetupUtilsTest method getCollectionResourceInstanceGroupCustomizationTest.

@Test
public void getCollectionResourceInstanceGroupCustomizationTest() {
    final String modelCustomizationUUID = "modelCustomizationUUID";
    CollectionResourceInstanceGroupCustomization expectedCollection = new CollectionResourceInstanceGroupCustomization();
    doReturn(Arrays.asList(expectedCollection)).when(MOCK_catalogDbClient).getCollectionResourceInstanceGroupCustomizationByModelCustUUID(modelCustomizationUUID);
    assertThat(bbInputSetupUtils.getCollectionResourceInstanceGroupCustomization(modelCustomizationUUID), sameBeanAs(Arrays.asList(expectedCollection)));
}
Also used : CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.Test)

Example 3 with CollectionResourceInstanceGroupCustomization

use of org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization in project so by onap.

the class NetworkCollectionCatalogDbQueryTest method networkCollectionTest.

@Test
@Transactional
public void networkCollectionTest() {
    logger.debug("TEST IS STARTING UP...");
    String modelUUID = "4694a55f-58b3-4f17-92a5-796d6f5ffd0d";
    boolean found = false;
    logger.debug(Integer.toString(port));
    InstanceGroup instanceGroup = null;
    List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupList = null;
    org.onap.so.db.catalog.beans.Service service = client.getServiceByID(modelUUID);
    if (service == null) {
        logger.debug("null");
    } else {
        List<CollectionResourceCustomization> customizations = service.getCollectionResourceCustomizations();
        if (customizations.isEmpty()) {
            logger.debug("No Network Collection found. CollectionResourceCustomizations is empty");
        }
        for (CollectionResourceCustomization crc : customizations) {
            if (client.getNetworkCollectionResourceCustomizationByID(crc.getModelCustomizationUUID()) instanceof NetworkCollectionResourceCustomization) {
                if (crc.getCollectionResource() != null) {
                    if (crc.getCollectionResource().getToscaNodeType() != null) {
                        String toscaNodeType = crc.getCollectionResource().getToscaNodeType();
                        if (toscaNodeType.contains(NETWORKCOLLECTION)) {
                            logger.debug("Found a network collection");
                            instanceGroup = crc.getCollectionResource().getInstanceGroup();
                            collectionInstanceGroupList = instanceGroup.getCollectionInstanceGroupCustomizations();
                            CollectionNetworkResourceCustomization collectionNetworkCust = instanceGroup.getCollectionNetworkResourceCustomizations().get(0);
                            logger.debug("Found Collection Network Resource Customization: " + collectionNetworkCust.getModelCustomizationUUID());
                        } else {
                            logger.debug("No Network Collection found. toscaNodeType does not contain NetworkCollection");
                        }
                    } else {
                        logger.debug("No Network Collection found. toscaNodeType is null");
                    }
                } else {
                    logger.debug("No Network Collection found. collectionResource is null");
                }
                found = true;
            } else {
                logger.debug("Not a Network Collection Resource Customization Instance");
            }
        }
    }
    assertEquals("Number of CollectionResourceInstanceGroupCustomization in list", 2, collectionInstanceGroupList.size());
    assertNotNull(instanceGroup);
    assertTrue(found);
}
Also used : CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization) InstanceGroup(org.onap.so.db.catalog.beans.InstanceGroup) NetworkCollectionResourceCustomization(org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization) NetworkCollectionResourceCustomization(org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization) CollectionResourceCustomization(org.onap.so.db.catalog.beans.CollectionResourceCustomization) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization) Test(org.junit.Test) CatalogDbAdapterBaseTest(org.onap.so.adapters.catalogdb.CatalogDbAdapterBaseTest) Transactional(javax.transaction.Transactional)

Example 4 with CollectionResourceInstanceGroupCustomization

use of org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization in project so by onap.

the class BBInputSetupMapperLayer method mapCatalogInstanceGroupToInstanceGroup.

protected ModelInfoInstanceGroup mapCatalogInstanceGroupToInstanceGroup(CollectionResourceCustomization collectionCust, InstanceGroup instanceGroup) {
    ModelInfoInstanceGroup modelInfoInstanceGroup = modelMapper.map(instanceGroup, ModelInfoInstanceGroup.class);
    if (instanceGroup.getType() != null && instanceGroup.getType().equals(InstanceGroupType.L3_NETWORK))
        modelInfoInstanceGroup.setType(ModelInfoInstanceGroup.TYPE_L3_NETWORK);
    else
        modelInfoInstanceGroup.setType(ModelInfoInstanceGroup.TYPE_VNFC);
    if (collectionCust != null) {
        List<CollectionResourceInstanceGroupCustomization> instanceGroupCustList = instanceGroup.getCollectionInstanceGroupCustomizations();
        for (CollectionResourceInstanceGroupCustomization collectionInsatnceGroupCust : instanceGroupCustList) {
            if (collectionInsatnceGroupCust.getModelCustomizationUUID().equalsIgnoreCase(collectionCust.getModelCustomizationUUID())) {
                modelInfoInstanceGroup.setFunction(collectionInsatnceGroupCust.getFunction());
                modelInfoInstanceGroup.setDescription(collectionInsatnceGroupCust.getDescription());
                break;
            }
        }
    }
    return modelInfoInstanceGroup;
}
Also used : ModelInfoInstanceGroup(org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup) CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization)

Example 5 with CollectionResourceInstanceGroupCustomization

use of org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization in project so by onap.

the class WorkflowActionTest method selectExecutionListServiceMacroCreateWithNetworkCollectionTest.

@Test
public void selectExecutionListServiceMacroCreateWithNetworkCollectionTest() throws Exception {
    String gAction = "createInstance";
    String resource = "Service";
    String bpmnRequest = readBpmnRequestFromFile(MACRO_ACTIVATE_DELETE_UNASSIGN_JSON);
    initExecution(gAction, bpmnRequest, false);
    execution.setVariable("requestUri", "v6/serviceInstances/123");
    NorthBoundRequest northBoundRequest = new NorthBoundRequest();
    northBoundRequest.setIsToplevelflow(true);
    List<OrchestrationFlow> orchFlows = createFlowList("AssignServiceInstanceBB", "CreateNetworkCollectionBB", "AssignNetworkBB", "AssignVnfBB", "AssignVolumeGroupBB", "AssignVfModuleBB", "CreateNetworkBB", "ActivateNetworkBB", "CreateVolumeGroupBB", "ActivateVolumeGroupBB", "CreateVfModuleBB", "ActivateVfModuleBB", "AssignFabricConfigurationBB", "ActivateFabricConfigurationBB", "ActivateVnfBB", "ActivateNetworkCollectionBB", "ActivateServiceInstanceBB");
    northBoundRequest.setOrchestrationFlowList(orchFlows);
    Service service = new Service();
    List<NetworkResourceCustomization> networkCustomizations = new ArrayList<>();
    NetworkResourceCustomization networkCust = new NetworkResourceCustomization();
    networkCust.setModelCustomizationUUID("123");
    networkCustomizations.add(networkCust);
    service.setNetworkCustomizations(networkCustomizations);
    NetworkCollectionResourceCustomization collectionResourceCustomization = new NetworkCollectionResourceCustomization();
    collectionResourceCustomization.setModelCustomizationUUID("123");
    CollectionResource collectionResource = new CollectionResource();
    collectionResource.setToscaNodeType("NetworkCollection");
    InstanceGroup instanceGroup = new InstanceGroup();
    instanceGroup.setToscaNodeType("NetworkCollectionResource");
    instanceGroup.setCollectionNetworkResourceCustomizations(new ArrayList<>());
    CollectionNetworkResourceCustomization collectionNetworkResourceCust = new CollectionNetworkResourceCustomization();
    collectionNetworkResourceCust.setModelCustomizationUUID("123");
    collectionNetworkResourceCust.setNetworkResourceCustomization(collectionResourceCustomization);
    instanceGroup.getCollectionNetworkResourceCustomizations().add(collectionNetworkResourceCust);
    List<CollectionResourceInstanceGroupCustomization> collectionInstanceGroupCustomizations = new ArrayList<>();
    CollectionResourceInstanceGroupCustomization collectionInstanceGroupCustomization = new CollectionResourceInstanceGroupCustomization();
    collectionInstanceGroupCustomization.setModelCustomizationUUID("123");
    collectionInstanceGroupCustomization.setSubInterfaceNetworkQuantity(3);
    collectionInstanceGroupCustomizations.add(collectionInstanceGroupCustomization);
    collectionInstanceGroupCustomization.setInstanceGroup(instanceGroup);
    collectionInstanceGroupCustomization.setCollectionResourceCust(collectionResourceCustomization);
    instanceGroup.setCollectionInstanceGroupCustomizations(collectionInstanceGroupCustomizations);
    collectionResource.setInstanceGroup(instanceGroup);
    collectionResourceCustomization.setCollectionResource(collectionResource);
    ;
    service.getCollectionResourceCustomizations().add(collectionResourceCustomization);
    doReturn(service).when(catalogDbClient).getServiceByID("3c40d244-808e-42ca-b09a-256d83d19d0a");
    doReturn(collectionResourceCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123");
    when(catalogDbClient.getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(gAction, resource, false, "my-custom-cloud-owner")).thenReturn(northBoundRequest);
    workflowAction.selectExecutionList(execution);
    List<ExecuteBuildingBlock> ebbs = (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
    assertEqualsBulkFlowName(ebbs, "AssignServiceInstanceBB", "CreateNetworkCollectionBB", "AssignNetworkBB", "CreateNetworkBB", "ActivateNetworkBB", "AssignNetworkBB", "CreateNetworkBB", "ActivateNetworkBB", "AssignNetworkBB", "CreateNetworkBB", "ActivateNetworkBB", "ActivateNetworkCollectionBB", "ActivateServiceInstanceBB");
    assertEquals("Network id not empty", !ebbs.get(2).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(3).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(4).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB", ebbs.get(2).getWorkflowResourceIds().getNetworkId() == ebbs.get(3).getWorkflowResourceIds().getNetworkId() && ebbs.get(3).getWorkflowResourceIds().getNetworkId() == ebbs.get(4).getWorkflowResourceIds().getNetworkId(), true);
    assertEquals("Network id not empty", !ebbs.get(5).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(6).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(7).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB", ebbs.get(5).getWorkflowResourceIds().getNetworkId() == ebbs.get(6).getWorkflowResourceIds().getNetworkId() && ebbs.get(6).getWorkflowResourceIds().getNetworkId() == ebbs.get(7).getWorkflowResourceIds().getNetworkId(), true);
    assertEquals("Network id not empty", !ebbs.get(8).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(9).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id not empty", !ebbs.get(10).getWorkflowResourceIds().getNetworkId().isEmpty(), true);
    assertEquals("Network id same for AssignNetworkBB CreateNetworkBB ActivateNetworkBB", ebbs.get(8).getWorkflowResourceIds().getNetworkId() == ebbs.get(9).getWorkflowResourceIds().getNetworkId() && ebbs.get(9).getWorkflowResourceIds().getNetworkId() == ebbs.get(10).getWorkflowResourceIds().getNetworkId(), true);
}
Also used : CollectionResource(org.onap.so.db.catalog.beans.CollectionResource) CollectionResourceInstanceGroupCustomization(org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization) ArrayList(java.util.ArrayList) OrchestrationFlow(org.onap.so.db.catalog.beans.macro.OrchestrationFlow) Service(org.onap.so.db.catalog.beans.Service) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) NorthBoundRequest(org.onap.so.db.catalog.beans.macro.NorthBoundRequest) InstanceGroup(org.onap.so.db.catalog.beans.InstanceGroup) NetworkCollectionResourceCustomization(org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization) ExecuteBuildingBlock(org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization) ArgumentMatchers.anyList(org.mockito.ArgumentMatchers.anyList) List(java.util.List) ArrayList(java.util.ArrayList) RelationshipList(org.onap.aai.domain.yang.RelationshipList) CollectionNetworkResourceCustomization(org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization) NetworkResourceCustomization(org.onap.so.db.catalog.beans.NetworkResourceCustomization) BaseTaskTest(org.onap.so.bpmn.BaseTaskTest) Test(org.junit.Test)

Aggregations

CollectionResourceInstanceGroupCustomization (org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization)9 Test (org.junit.Test)6 InstanceGroup (org.onap.so.db.catalog.beans.InstanceGroup)5 NetworkCollectionResourceCustomization (org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization)5 ArrayList (java.util.ArrayList)4 CollectionNetworkResourceCustomization (org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization)4 CollectionResource (org.onap.so.db.catalog.beans.CollectionResource)4 ModelInfoInstanceGroup (org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoInstanceGroup)3 CollectionResourceCustomization (org.onap.so.db.catalog.beans.CollectionResourceCustomization)3 Service (org.onap.so.db.catalog.beans.Service)3 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 BaseTaskTest (org.onap.so.bpmn.BaseTaskTest)2 Resource (org.onap.so.bpmn.infrastructure.workflow.tasks.Resource)2 NetworkResourceCustomization (org.onap.so.db.catalog.beans.NetworkResourceCustomization)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 File (java.io.File)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Transactional (javax.transaction.Transactional)1 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)1