Merge "updated camunda springboot version"
authorSteve Smokowski <ss835w@att.com>
Fri, 15 Feb 2019 12:40:15 +0000 (12:40 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 15 Feb 2019 12:40:15 +0000 (12:40 +0000)
asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json [new file with mode: 0644]
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json [new file with mode: 0644]
bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json [new file with mode: 0644]

index 4f64af0..f8d9d6c 100644 (file)
@@ -1220,16 +1220,32 @@ public class ToscaResourceInstaller {
                        crInstanceGroupCustomization.setModelCustomizationUUID(
                                        networkNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
                
-                       String quantityName = instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME);
-                       String fixedQuantity = quantityName.replace("NetworkCollection", "Fixed");
-                       if (toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate,
-                                       fixedQuantity + "_quantity") != null) {
-
-                               crInstanceGroupCustomization.setSubInterfaceNetworkQuantity(Integer.parseInt(
-                                               toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate,
-                                                               fixedQuantity + "_quantity"))); 
+                       // Loop through the template policy to find the subinterface_network_quantity property name.  Then extract the value for it.
+                       List<Policy> policyList = toscaResourceStructure.getSdcCsarHelper().getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(networkNodeTemplate, "org.openecomp.policies.scaling.Fixed");
+                       
+                       if(policyList != null){
+                               for(Policy policy : policyList){
+                                       for(String policyNetworkCollection : policy.getTargets()){
+                                               
+                                               if(policyNetworkCollection.equalsIgnoreCase(group.getName())){
+                                               
+                                                       Map<String, Object> propMap = policy.getPolicyProperties();
+                                       
+                                                       if(propMap.get("quantity") != null){
+                                                                                                                               
+                                                               String quantity = toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate, getPropertyInput(propMap.get("quantity").toString())); 
+                                       
+                                                               if(quantity != null){
+                                                                       crInstanceGroupCustomization.setSubInterfaceNetworkQuantity(Integer.parseInt(quantity));
+                                                               }
+                                                                                               
+                                                   }
+                                       
+                                      }
+                                   }
+                           }   
                        }
-               
+                                       
                        crInstanceGroupCustomization.setDescription(
                                        toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(networkNodeTemplate,
                                                        instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME)
@@ -1246,7 +1262,6 @@ public class ToscaResourceInstaller {
 
                        networkInstanceGroupList.add(networkInstanceGroup);
 
-               //}
 
                toscaResourceStructure.setCatalogNetworkInstanceGroup(networkInstanceGroupList);
 
@@ -2032,6 +2047,20 @@ public class ToscaResourceInstaller {
                                + vfModuleStructure.getVfModuleMetadata().getVfModuleModelName();
        }
        
+       protected String getPropertyInput(String propertyName){
+       
+               String inputName = new String();
+               
+               if (propertyName != null) { 
+                       int getInputIndex = propertyName.indexOf("{get_input="); 
+                       if (getInputIndex > -1) { 
+                               inputName = propertyName.substring(getInputIndex+11, propertyName.length()-1); 
+                       } 
+               }
+               
+               return inputName;
+       }
+       
        
        protected static Timestamp getCurrentTimeStamp() {
                
index 8f0334e..0d9aeed 100644 (file)
 package org.onap.so.bpmn.infrastructure.aai.tasks;
 
 
+import java.util.List;
 import java.util.Optional;
-import java.util.UUID;
 
+import org.onap.aai.domain.yang.NetworkPolicies;
+import org.onap.aai.domain.yang.NetworkPolicy;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
-import org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
@@ -169,18 +170,22 @@ public class AAIDeleteTasks {
                                                String fqdn = fqdnList[i];
                                                AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY);
                                                uri.queryParam(NETWORK_POLICY_FQDN_PARAM, fqdn);
-                                               Optional<org.onap.aai.domain.yang.NetworkPolicy> oNetPolicy = aaiNetworkResources.getNetworkPolicy(uri);
-                                               if(oNetPolicy.isPresent()) {
-                                                       String networkPolicyId = oNetPolicy.get().getNetworkPolicyId();
-                                                       msoLogger.debug("Deleting network-policy with network-policy-id " + networkPolicyId);                                                   
-                                                       
-                                                       aaiNetworkResources.deleteNetworkPolicy(networkPolicyId);
+                                               Optional<NetworkPolicies> oNetPolicies = aaiNetworkResources.getNetworkPolicies(uri);
+                                               if(oNetPolicies.isPresent()) {
+                                                       NetworkPolicies networkPolicies = oNetPolicies.get();
+                                                       List<NetworkPolicy> networkPolicyList = networkPolicies.getNetworkPolicy();
+                                                       if (networkPolicyList != null && !networkPolicyList.isEmpty()) {
+                                                               NetworkPolicy networkPolicy = networkPolicyList.get(0);
+                                                               String networkPolicyId = networkPolicy.getNetworkPolicyId();
+                                                               msoLogger.debug("Deleting network-policy with network-policy-id " + networkPolicyId);                                                           
+                                                               aaiNetworkResources.deleteNetworkPolicy(networkPolicyId);                                                               
+                                                       }                                                       
                                                }
                                        }
                                }
                        }                       
                } catch (Exception ex) {
                        exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
-               }               
+               }       
        }
 }
index f6c9597..2e91a52 100644 (file)
@@ -89,8 +89,8 @@ public class WorkflowActionBBTasks {
                        execution.setVariable("completed", true);
                } else {
                        execution.setVariable("completed", false);
-                       execution.setVariable(G_CURRENT_SEQUENCE, currentSequence);
                }
+               execution.setVariable(G_CURRENT_SEQUENCE, currentSequence);
        }
        
        public void updateFlowStatistics(DelegateExecution execution) {
index 4ca3f2a..7283c99 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.so.client.orchestration;
 
 import java.util.Optional;
 
+import org.onap.aai.domain.yang.NetworkPolicies;
 import org.onap.aai.domain.yang.NetworkPolicy;
 import org.onap.aai.domain.yang.RouteTableReference;
 import org.onap.aai.domain.yang.VpnBinding;
@@ -86,6 +87,10 @@ public class AAINetworkResources {
                return injectionHelper.getAaiClient().get(netPolicyUri).asBean(NetworkPolicy.class);
        }
        
+       public Optional<NetworkPolicies> getNetworkPolicies(AAIResourceUri netPoliciesUri) {
+               return injectionHelper.getAaiClient().get(netPoliciesUri).asBean(NetworkPolicies.class);
+       }
+       
        public Optional<org.onap.aai.domain.yang.Subnet> getSubnet(AAIResourceUri subnetUri) {
                return injectionHelper.getAaiClient().get(subnetUri).asBean(org.onap.aai.domain.yang.Subnet.class);
        }
index 5cb7751..4984b2f 100644 (file)
@@ -30,6 +30,8 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Optional;
 
 import org.camunda.bpm.engine.delegate.BpmnError;
@@ -39,6 +41,7 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.ArgumentMatchers;
 import org.mockito.Captor;
 import org.mockito.InjectMocks;
+import org.onap.aai.domain.yang.NetworkPolicies;
 import org.onap.aai.domain.yang.NetworkPolicy;
 import org.onap.so.bpmn.BaseTaskTest;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
@@ -50,11 +53,13 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
+import org.onap.so.client.aai.entities.AAIResultWrapper;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.exception.BBObjectNotFoundException;
 
 
 public class AAIDeleteTasksTest extends BaseTaskTest {
+       private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/";
        
        @InjectMocks
        private AAIDeleteTasks aaiDeleteTasks = new AAIDeleteTasks();
@@ -191,11 +196,14 @@ public class AAIDeleteTasksTest extends BaseTaskTest {
        @Test
        public void deleteNetworkPolicyNeedToDeleteAllTest() throws Exception {         
                execution.setVariable("contrailNetworkPolicyFqdnList", "ABC123,DEF456");
-               NetworkPolicy networkPolicy0 = new NetworkPolicy();
-               networkPolicy0.setNetworkPolicyId("testNetworkPolicyId0");
-               NetworkPolicy networkPolicy1 = new NetworkPolicy();
-               networkPolicy1.setNetworkPolicyId("testNetworkPolicyId1");
-               doReturn(Optional.of(networkPolicy0),Optional.of(networkPolicy1)).when(aaiNetworkResources).getNetworkPolicy(any(AAIResourceUri.class));
+               final String content0 = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPoliciesForDelete0.json")));
+               AAIResultWrapper aaiResultWrapper0 = new AAIResultWrapper(content0);
+               NetworkPolicies networkPolicies0 = aaiResultWrapper0.asBean(NetworkPolicies.class).get();
+               final String content1 = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPoliciesForDelete1.json")));
+               AAIResultWrapper aaiResultWrapper1 = new AAIResultWrapper(content1);
+               NetworkPolicies networkPolicies1 = aaiResultWrapper1.asBean(NetworkPolicies.class).get();
+               
+               doReturn(Optional.of(networkPolicies0),Optional.of(networkPolicies1)).when(aaiNetworkResources).getNetworkPolicies(any(AAIResourceUri.class));
                doNothing().when(aaiNetworkResources).deleteNetworkPolicy(any(String.class));
                aaiDeleteTasks.deleteNetworkPolicies(execution);
                verify(aaiNetworkResources, times(2)).deleteNetworkPolicy(stringCaptor.capture());
@@ -206,8 +214,8 @@ public class AAIDeleteTasksTest extends BaseTaskTest {
        @Test
        public void deleteNetworkPolicyNeedToDeleteNoneTest() throws Exception {                
                execution.setVariable("contrailNetworkPolicyFqdnList", "ABC123");
-               Optional<NetworkPolicy> networkPolicy = Optional.empty();               
-               doReturn(networkPolicy).when(aaiNetworkResources).getNetworkPolicy(any(AAIResourceUri.class));
+               Optional<NetworkPolicies> networkPolicies = Optional.empty();           
+               doReturn(networkPolicies).when(aaiNetworkResources).getNetworkPolicies(any(AAIResourceUri.class));
                aaiDeleteTasks.deleteNetworkPolicies(execution);
                verify(aaiNetworkResources, times(0)).deleteNetworkPolicy(any(String.class));
        }
index 2fc6297..17a37c8 100644 (file)
@@ -96,7 +96,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
                execution.setVariable("flowsToExecute", flowsToExecute);
                workflowActionBBTasks.selectBB(execution);
                boolean success = (boolean) execution.getVariable("completed");
+               int currentSequence = (int) execution.getVariable("gCurrentSequence");
                assertEquals(true,success);
+               assertEquals(1,currentSequence);
        }
        
        @Test
@@ -115,7 +117,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
                execution.setVariable("flowsToExecute", flowsToExecute);
                workflowActionBBTasks.selectBB(execution);
                boolean success = (boolean) execution.getVariable("completed");
+               int currentSequence = (int) execution.getVariable("gCurrentSequence");
                assertEquals(false,success);
+               assertEquals(1,currentSequence);
        }
        
        @Test
index 2e2cc5d..8632a6a 100644 (file)
@@ -56,6 +56,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet;
+import org.onap.so.client.aai.AAIObjectPlurals;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient;
 import org.onap.so.client.aai.entities.AAIEdgeLabel;
@@ -190,6 +191,22 @@ public class AAINetworkResourcesTest extends TestDataSetup{
                }
        }
        
+       @Test
+       public void getNetworkPoliciesTest() throws Exception {
+               final String content = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPolicies.json")));
+               AAIResultWrapper aaiResultWrapper = new AAIResultWrapper(content);
+               Optional<org.onap.aai.domain.yang.NetworkPolicies> oNetPolicies = Optional.empty();
+               AAIResourceUri netPoliciesUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY);
+               
+               doReturn(aaiResultWrapper).when(MOCK_aaiResourcesClient).get(isA(AAIResourceUri.class));
+               oNetPolicies = aaiNetworkResources.getNetworkPolicies(netPoliciesUri);
+               verify(MOCK_aaiResourcesClient, times(1)).get(any(AAIResourceUri.class));               
+               if (oNetPolicies.isPresent()) {
+                       org.onap.aai.domain.yang.NetworkPolicies networkPolicies = oNetPolicies.get();
+                       assertThat(aaiResultWrapper.asBean(org.onap.aai.domain.yang.NetworkPolicies.class).get(), sameBeanAs(networkPolicies));
+               }
+       }
+       
        @Test
        public void getRouteTableTest() throws Exception {
                final String content = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkTableRefs.json")));
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json
new file mode 100644 (file)
index 0000000..3bd60a7
--- /dev/null
@@ -0,0 +1,10 @@
+{"network-policy":
+       [
+               {
+                       "network-policy-id":"1ac71fb8-ad43-4e16-9459-c3f372b8236d",
+                       "network-policy-fqdn":"default-domain:enpx-26177-T-E2E-rdm6a:enpx-26177-T-E2E-rdm6a_TIPXH-DBEV-VIF-TDAT0_net_1",
+                       "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de",
+                       "resource-version":"1550068250015"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json
new file mode 100644 (file)
index 0000000..f60c6d9
--- /dev/null
@@ -0,0 +1,10 @@
+{"network-policy":
+       [
+               {
+                       "network-policy-id":"testNetworkPolicyId0",
+                       "network-policy-fqdn":"ABC123",
+                       "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de",
+                       "resource-version":"1550068250015"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json
new file mode 100644 (file)
index 0000000..6aaea8e
--- /dev/null
@@ -0,0 +1,10 @@
+{"network-policy":
+       [
+               {
+                       "network-policy-id":"testNetworkPolicyId1",
+                       "network-policy-fqdn":"DEF456",
+                       "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de",
+                       "resource-version":"1550068250015"
+               }
+       ]
+}
\ No newline at end of file