connect objects with specific aai edge label 94/81894/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Sun, 10 Mar 2019 01:48:55 +0000 (20:48 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Sun, 10 Mar 2019 01:49:08 +0000 (20:49 -0500)
connect vnr configuration to service instances with AAIEdge

Change-Id: I88ca7ae1a4f3f8e9628141256d4703ae43518ef2
Issue-ID: SO-1614
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAIConfigurationResources.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIConfigurationResourcesTest.java
common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java

index a96f01c..3bb1d81 100644 (file)
@@ -27,6 +27,7 @@ import javax.ws.rs.core.UriBuilder;
 import org.onap.so.bpmn.common.InjectionHelper;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
 import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
@@ -124,6 +125,20 @@ public class AAIConfigurationResources {
                 serviceInstanceId);
         injectionHelper.getAaiClient().connect(configurationURI, serviceInstanceURI);
     }
+    
+    /**
+     * A&AI call to add configuration relationship with service instance
+     *
+     * @param configurationId
+     * @param serviceInstanceId
+     * @param aaiLabel
+     */
+    public void connectConfigurationToServiceInstance(String configurationId, String serviceInstanceId, AAIEdgeLabel aaiLabel) {
+        AAIResourceUri configurationURI = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, configurationId);
+        AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,
+                serviceInstanceId);
+        injectionHelper.getAaiClient().connect(configurationURI, serviceInstanceURI, aaiLabel);
+    }
 
     /**
      * A&AI call to add configuration relationship with generic-vnf
index a38c8be..4aeed71 100644 (file)
@@ -48,6 +48,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.AAIResourcesClient;
+import org.onap.so.client.aai.entities.AAIEdgeLabel;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.onap.so.client.aai.mapper.AAIObjectMapper;
@@ -117,6 +118,13 @@ public class AAIConfigurationResourcesTest extends TestDataSetup{
         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
     }
     
+    @Test
+    public void connectConfigurationToServiceInstanceWithEdgeTest() {
+        doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class), any(AAIEdgeLabel.class));
+        aaiConfigurationResources.connectConfigurationToServiceInstance(configuration.getConfigurationId(), serviceInstance.getServiceInstanceId(), AAIEdgeLabel.USES);
+        verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class), any(AAIEdgeLabel.class));
+    }
+    
     @Test
     public void disconnectConfigurationToServiceInstanceTest(){
         doNothing().when(MOCK_aaiResourcesClient).disconnect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
index 434dbf9..eb6d0d0 100644 (file)
@@ -25,8 +25,8 @@ import org.onap.so.client.graphinventory.entities.GraphInventoryEdgeLabel;
 public enum AAIEdgeLabel implements GraphInventoryEdgeLabel {
 
        BELONGS_TO("org.onap.relationships.inventory.BelongsTo"),
-       USES("org.onap.relationships.inventory.Uses");
-       
+       USES("org.onap.relationships.inventory.Uses"),
+       COMPOSED_OF("org.onap.relationships.inventory.ComposedOf");
        
        private final String label;
        private AAIEdgeLabel(String label) {