Fix for SO-2855 31/106931/1
authorwaqas.ikram <waqas.ikram@est.tech>
Thu, 30 Apr 2020 15:21:30 +0000 (16:21 +0100)
committerwaqas.ikram <waqas.ikram@est.tech>
Thu, 30 Apr 2020 15:21:33 +0000 (16:21 +0100)
Change-Id: I0802411357bb4106972f8e7931c2a109dc084e46
Issue-ID: SO-2855
Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/MessageConverterConfiguration.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/converters/etsicatalog/sol003/AbstractPkgNotificationConverter.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/converters/etsicatalog/sol003/PkgChangeNotificationConverter.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/converters/etsicatalog/sol003/PkgOnboardingNotificationConverter.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/EtsiSubscriptionNotificationControllerTest.java

index bb2730b..e316644 100644 (file)
@@ -56,8 +56,8 @@ public class MessageConverterConfiguration {
         final DefaultConversionService service = new DefaultConversionService();
         service.addConverter(new VnfPkgInfoConverter(vnfmAdapterUrlProvider));
         service.addConverter(new PkgmSubscriptionRequestConverter());
-        service.addConverter(new PkgChangeNotificationConverter());
-        service.addConverter(new PkgOnboardingNotificationConverter());
+        service.addConverter(new PkgChangeNotificationConverter(vnfmAdapterUrlProvider));
+        service.addConverter(new PkgOnboardingNotificationConverter(vnfmAdapterUrlProvider));
         return service;
     }
 
index e1c4309..b8a6fb9 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.onap.so.adapters.vnfmadapter.converters.etsicatalog.sol003;
 
+import org.onap.so.adapters.vnfmadapter.VnfmAdapterUrlProvider;
 import org.onap.so.adapters.vnfmadapter.extclients.etsicatalog.notification.model.PkgmLinks;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.packagemanagement.notification.model.URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.packagemanagement.notification.model.URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage;
@@ -30,20 +31,26 @@ import org.onap.so.adapters.vnfmadapter.extclients.vnfm.packagemanagement.notifi
  *
  * @author andrew.a.lamb@est.tech
  */
-abstract public class AbstractPkgNotificationConverter {
+public abstract class AbstractPkgNotificationConverter {
+
+    private final VnfmAdapterUrlProvider vnfmAdapterUrlProvider;
+
+    public AbstractPkgNotificationConverter(final VnfmAdapterUrlProvider vnfmAdapterUrlProvider) {
+        this.vnfmAdapterUrlProvider = vnfmAdapterUrlProvider;
+    }
 
     protected URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks convert(
-            final PkgmLinks pkgmLinks) {
+            final PkgmLinks pkgmLinks, final String vnfPkgId, final String subscriptionId) {
         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage linksVnfPackage =
                 new URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage();
         if (pkgmLinks.getVnfPackage() != null) {
-            linksVnfPackage.setHref(pkgmLinks.getVnfPackage().getHref());
+            linksVnfPackage.setHref(vnfmAdapterUrlProvider.getVnfPackageUrl(vnfPkgId));
         }
 
         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage linksSubscription =
                 new URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinksVnfPackage();
         if (pkgmLinks.getSubscription() != null) {
-            linksSubscription.setHref(pkgmLinks.getSubscription().getHref());
+            linksSubscription.setHref(vnfmAdapterUrlProvider.getSubscriptionUriString(subscriptionId));
         }
 
         final URIisprovidedbytheclientwhencreatingthesubscriptionVnfPackageOnboardingNotificationLinks links =
index 8c41686..055f96b 100644 (file)
@@ -21,6 +21,7 @@
 package org.onap.so.adapters.vnfmadapter.converters.etsicatalog.sol003;
 
 import static org.slf4j.LoggerFactory.getLogger;
+import org.onap.so.adapters.vnfmadapter.VnfmAdapterUrlProvider;
 import org.onap.so.adapters.vnfmadapter.extclients.etsicatalog.notification.model.PkgChangeNotification;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.packagemanagement.notification.model.VnfPackageChangeNotification;
 import org.slf4j.Logger;
@@ -38,6 +39,11 @@ public class PkgChangeNotificationConverter extends AbstractPkgNotificationConve
         implements Converter<PkgChangeNotification, VnfPackageChangeNotification> {
     private static final Logger logger = getLogger(PkgChangeNotificationConverter.class);
 
+
+    public PkgChangeNotificationConverter(final VnfmAdapterUrlProvider vnfmAdapterUrlProvider) {
+        super(vnfmAdapterUrlProvider);
+    }
+
     /**
      * Convert a {@link PkgChangeNotification} Object to an {@link VnfPackageChangeNotification} Object
      * 
@@ -71,9 +77,11 @@ public class PkgChangeNotificationConverter extends AbstractPkgNotificationConve
                     .fromValue(pkgChangeNotification.getOperationalState().getValue()));
         }
 
-        vnfPackageChangeNotification.setLinks(convert((pkgChangeNotification.getLinks())));
+        vnfPackageChangeNotification.setLinks(convert(pkgChangeNotification.getLinks(),
+                pkgChangeNotification.getVnfPkgId(), pkgChangeNotification.getSubscriptionId()));
 
         return vnfPackageChangeNotification;
     }
 
+
 }
index 836acb6..50f95c6 100644 (file)
@@ -21,6 +21,7 @@
 package org.onap.so.adapters.vnfmadapter.converters.etsicatalog.sol003;
 
 import static org.slf4j.LoggerFactory.getLogger;
+import org.onap.so.adapters.vnfmadapter.VnfmAdapterUrlProvider;
 import org.onap.so.adapters.vnfmadapter.extclients.etsicatalog.notification.model.PkgOnboardingNotification;
 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.packagemanagement.notification.model.VnfPackageOnboardingNotification;
 import org.slf4j.Logger;
@@ -38,6 +39,10 @@ public class PkgOnboardingNotificationConverter extends AbstractPkgNotificationC
         implements Converter<PkgOnboardingNotification, VnfPackageOnboardingNotification> {
     private static final Logger logger = getLogger(PkgOnboardingNotificationConverter.class);
 
+    public PkgOnboardingNotificationConverter(final VnfmAdapterUrlProvider vnfmAdapterUrlProvider) {
+        super(vnfmAdapterUrlProvider);
+    }
+
     /**
      * Convert a {@link PkgOnboardingNotification} Object to an {@link VnfPackageOnboardingNotification} Object
      * 
@@ -61,7 +66,8 @@ public class PkgOnboardingNotificationConverter extends AbstractPkgNotificationC
         vnfPackageOnboardingNotification.setVnfPkgId(pkgOnboardingNotification.getVnfPkgId());
         vnfPackageOnboardingNotification.setVnfdId(pkgOnboardingNotification.getVnfdId());
 
-        vnfPackageOnboardingNotification.setLinks(convert((pkgOnboardingNotification.getLinks())));
+        vnfPackageOnboardingNotification.setLinks(convert(pkgOnboardingNotification.getLinks(),
+                pkgOnboardingNotification.getVnfPkgId(), pkgOnboardingNotification.getSubscriptionId()));
 
         return vnfPackageOnboardingNotification;
     }
index 29afa8c..5a330e4 100644 (file)
@@ -99,6 +99,10 @@ public class EtsiSubscriptionNotificationControllerTest {
             OffsetDateTime.of(LocalDateTime.of(2020, 1, 1, 1, 1, 1, 1), ZoneOffset.ofHours(1));
     private static final String VNFPKG_ID = UUID.randomUUID().toString();
     private static final String VNFD_ID = UUID.randomUUID().toString();
+    private static final String EXPECTED_VNF_PACKAGE_HREF =
+            "https://so-vnfm-adapter.onap:30406/so/vnfm-adapter/v1/vnfpkgm/v1/vnf_packages/" + VNFPKG_ID;
+    private static final String EXPECTED_SUBSCRIPTION_HREF =
+            "https://so-vnfm-adapter.onap:30406/so/vnfm-adapter/v1/vnfpkgm/v1/subscriptions/" + SUBSCRIPTION_ID;
 
     private BasicHttpHeadersProvider basicHttpHeadersProvider;
     private final Gson gson = new GsonBuilder().create();;
@@ -151,7 +155,8 @@ public class EtsiSubscriptionNotificationControllerTest {
                 .andExpect(jsonPath("$.timeStamp").value(TIMESTAMP.toString()))
                 .andExpect(jsonPath("$.vnfPkgId").value(VNFPKG_ID.toString()))
                 .andExpect(jsonPath("$.vnfdId").value(VNFD_ID.toString()))
-                .andExpect(jsonPath("$._links").value(buildPkgmLinks()))
+                .andExpect(jsonPath("$._links")
+                        .value(buildPkgmLinks(EXPECTED_VNF_PACKAGE_HREF, EXPECTED_SUBSCRIPTION_HREF)))
                 .andExpect(header("Authorization", EXPECTED_BASIC_AUTHORIZATION)).andRespond(withSuccess());
 
         final ResponseEntity<?> response = sendHttpPost(notificationString);
@@ -287,7 +292,8 @@ public class EtsiSubscriptionNotificationControllerTest {
                         jsonPath("$.changeType").value(PkgChangeNotification.ChangeTypeEnum.OP_STATE_CHANGE.toString()))
                 .andExpect(jsonPath("$.operationalState")
                         .value(PkgChangeNotification.OperationalStateEnum.ENABLED.toString()))
-                .andExpect(jsonPath("$._links").value(buildPkgmLinks()))
+                .andExpect(jsonPath("$._links")
+                        .value(buildPkgmLinks(EXPECTED_VNF_PACKAGE_HREF, EXPECTED_SUBSCRIPTION_HREF)))
                 .andExpect(header("Authorization", EXPECTED_BASIC_AUTHORIZATION)).andRespond(withSuccess());
 
         final ResponseEntity<?> response = sendHttpPost(notificationString);
@@ -398,7 +404,8 @@ public class EtsiSubscriptionNotificationControllerTest {
                 .andExpect(jsonPath("$.timeStamp").value(TIMESTAMP.toString()))
                 .andExpect(jsonPath("$.vnfPkgId").value(VNFPKG_ID.toString()))
                 .andExpect(jsonPath("$.vnfdId").value(VNFD_ID.toString()))
-                .andExpect(jsonPath("$._links").value(buildPkgmLinks()))
+                .andExpect(jsonPath("$._links")
+                        .value(buildPkgmLinks(EXPECTED_VNF_PACKAGE_HREF, EXPECTED_SUBSCRIPTION_HREF)))
                 .andExpect(header("Authorization", EXPECTED_BASIC_AUTHORIZATION)).andRespond(withSuccess());
 
         final ResponseEntity<?> response = sendHttpPost(notificationString);
@@ -455,7 +462,9 @@ public class EtsiSubscriptionNotificationControllerTest {
                         jsonPath("$.changeType").value(PkgChangeNotification.ChangeTypeEnum.OP_STATE_CHANGE.toString()))
                 .andExpect(jsonPath("$.operationalState")
                         .value(PkgChangeNotification.OperationalStateEnum.ENABLED.toString()))
-                .andExpect(jsonPath("$._links").value(buildPkgmLinks())).andRespond(withSuccess());
+                .andExpect(jsonPath("$._links")
+                        .value(buildPkgmLinks(EXPECTED_VNF_PACKAGE_HREF, EXPECTED_SUBSCRIPTION_HREF)))
+                .andRespond(withSuccess());
 
         final ResponseEntity<?> response = sendHttpPost(notificationString);
 
@@ -532,17 +541,12 @@ public class EtsiSubscriptionNotificationControllerTest {
     }
 
     private PkgmLinks buildPkgmLinks() {
-        final PkgmLinks pkgmLinks = new PkgmLinks();
-
-        final NOTIFICATIONLINKSERIALIZER subscriptionLinkSerializer = new NOTIFICATIONLINKSERIALIZER();
-        subscriptionLinkSerializer.setHref("subscription_href");
-        pkgmLinks.setSubscription(subscriptionLinkSerializer);
-
-        final NOTIFICATIONLINKSERIALIZER vnfPackageLinkSerializer = new NOTIFICATIONLINKSERIALIZER();
-        vnfPackageLinkSerializer.setHref("vnf_package_href");
-        pkgmLinks.setVnfPackage(vnfPackageLinkSerializer);
+        return buildPkgmLinks("vnf_package_href", "subscription_href");
+    }
 
-        return pkgmLinks;
+    private PkgmLinks buildPkgmLinks(final String vnfPkgHref, final String subscriptionHref) {
+        return new PkgmLinks().vnfPackage(new NOTIFICATIONLINKSERIALIZER().href(vnfPkgHref))
+                .subscription(new NOTIFICATIONLINKSERIALIZER().href(subscriptionHref));
     }
 
     private PkgmSubscriptionRequest buildPkgmSubscriptionRequest(