Calls to/from VNFM fail
[so.git] / adapters / mso-vnfm-adapter / mso-vnfm-etsi-adapter / src / main / java / org / onap / so / adapters / vnfmadapter / lifecycle / LifecycleManager.java
index 32bb9b9..a4f7d32 100644 (file)
@@ -95,7 +95,7 @@ public class LifecycleManager {
 
         logger.info("Create response: {}", vnfmResponse);
 
-        genericVnf.setSelflink(vnfmResponse.getLinks().getSelf().getHref());
+        genericVnf.setSelflink(getSelfLink(vnfmResponse, vnfm));
         aaiServiceProvider.invokePutGenericVnf(genericVnf);
         final String vnfIdInVnfm = vnfmResponse.getId();
 
@@ -111,6 +111,15 @@ public class LifecycleManager {
         return response;
     }
 
+    private String getSelfLink(final InlineResponse201 vnfmResponse, final EsrVnfm vnfm) {
+        if (vnfmResponse.getLinks() != null && vnfmResponse.getLinks().getSelf() != null
+                && vnfmResponse.getLinks().getSelf().getHref() != null) {
+            return vnfmResponse.getLinks().getSelf().getHref().replaceAll("https", "http");
+        }
+        return vnfm.getEsrSystemInfoList().getEsrSystemInfo().iterator().next().getServiceUrl() + "/vnf_instances/"
+                + vnfmResponse.getId();
+    }
+
     private OamIpAddressSource extractOamIpAddressSource(final CreateVnfRequest request) {
         final Map<String, String> additionalParams = request.getAdditionalParams();
         try {