Calls to/from VNFM fail
[so.git] / adapters / mso-vnfm-adapter / mso-vnfm-etsi-adapter / src / main / java / org / onap / so / adapters / vnfmadapter / extclients / vnfm / VnfmServiceProviderImpl.java
index 104e2d1..0b5b09a 100644 (file)
@@ -21,6 +21,7 @@
 package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
 
 import com.google.common.base.Optional;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.CreateVnfRequest;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse2001;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
@@ -53,7 +54,7 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
 
     @Override
     public Optional<InlineResponse201> getVnf(final String vnfSelfLink) {
-        return httpServiceProvider.get(vnfSelfLink, InlineResponse201.class);
+        return httpServiceProvider.get(vnfSelfLink.replaceAll("https", "http"), InlineResponse201.class);
     }
 
     @Override
@@ -83,17 +84,19 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
     @Override
     public InlineResponse2001 subscribeForNotifications(final String vnfmId,
             final LccnSubscriptionRequest subscriptionRequest) {
+        logger.info("Subscribing for notifications {}", subscriptionRequest);
         final String url = urlProvider.getSubscriptionsUrl(vnfmId);
         ResponseEntity<InlineResponse2001> response = null;
         try {
             response = httpServiceProvider.postHttpRequest(subscriptionRequest, url, InlineResponse2001.class);
+            logger.info("Subscribing for notifications response {}", response);
         } catch (final Exception exception) {
             final String errorMessage =
                     "Subscription to VNFM " + vnfmId + " resulted in exception" + subscriptionRequest;
             logger.error(errorMessage, exception);
             throw new VnfmRequestFailureException(errorMessage, exception);
         }
-        if (response.getStatusCode() != HttpStatus.OK) {
+        if (response.getStatusCode() != HttpStatus.CREATED) {
             final String errorMessage = "Subscription to VNFM " + vnfmId + " returned status code: "
                     + response.getStatusCode() + ", request: " + subscriptionRequest;
             logger.error(errorMessage);
@@ -130,7 +133,7 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
     public void deleteVnf(final String vnfSelfLink) {
         logger.debug("Sending delete request to : " + vnfSelfLink);
         final ResponseEntity<Void> response = httpServiceProvider.deleteHttpRequest(vnfSelfLink, Void.class);
-        if (response.getStatusCode() != HttpStatus.OK) {
+        if (response.getStatusCode() != HttpStatus.NO_CONTENT) {
             throw new VnfmRequestFailureException(
                     "Delete request to " + vnfSelfLink + " return status code: " + response.getStatusCode());
         }
@@ -142,4 +145,18 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
         return httpServiceProvider.get(url, InlineResponse200.class);
     }
 
+    @Override
+    public Optional<InlineResponse201> createVnf(final String vnfmId, final CreateVnfRequest createVnfRequest) {
+        final String url = urlProvider.getCreationUrl(vnfmId);
+        logger.debug("Sending create request {} to : {}", createVnfRequest, url);
+        try {
+            return httpServiceProvider.post(createVnfRequest, url, InlineResponse201.class);
+        } catch (final Exception exception) {
+            final String errorMessage =
+                    "Create request to vnfm:" + vnfmId + " resulted in exception" + createVnfRequest;
+            logger.error(errorMessage, exception);
+            throw new VnfmRequestFailureException(errorMessage, exception);
+        }
+    }
+
 }