Introduce control switch 13/133613/1
authormpriyank <priyank.maheshwari@est.tech>
Fri, 10 Mar 2023 10:07:19 +0000 (10:07 +0000)
committermpriyank <priyank.maheshwari@est.tech>
Fri, 10 Mar 2023 10:07:26 +0000 (10:07 +0000)
- introduced a control switch and keeping it as false due to init issues

Issue-ID: CPS-1537
Change-Id: I8455a5ff6fea09527c6f810ffbc620b4e38c488c
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
cps-application/src/main/resources/application.yml
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/SubscriptionModelLoader.java
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/SubscriptionModelLoaderSpec.groovy
cps-ncmp-service/src/test/resources/application.yml

index 1d3f501..02902de 100644 (file)
@@ -183,4 +183,7 @@ ncmp:
 \r
     modules-sync-watchdog:\r
         async-executor:\r
-            parallelism-level: 10
\ No newline at end of file
+            parallelism-level: 10\r
+\r
+    model-loader:\r
+        subscription: false
\ No newline at end of file
index 17413ba..0d82bb5 100644 (file)
@@ -30,6 +30,7 @@ import org.onap.cps.api.CpsAdminService;
 import org.onap.cps.api.CpsModuleService;
 import org.onap.cps.ncmp.api.impl.exception.NcmpStartUpException;
 import org.onap.cps.spi.exceptions.AlreadyDefinedException;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.stereotype.Component;
@@ -45,6 +46,9 @@ public class SubscriptionModelLoader implements ModelLoader {
     private static final String SUBSCRIPTION_ANCHOR_NAME = "AVC-Subscriptions";
     private static final String SUBSCRIPTION_SCHEMASET_NAME = "subscriptions";
 
+    @Value("${ncmp.model-loader.subscription:false}")
+    private boolean subscriptionModelLoaderEnabled;
+
     /**
      * Method calls boarding subscription model when Application is ready.
      *
@@ -53,7 +57,11 @@ public class SubscriptionModelLoader implements ModelLoader {
     @Override
     public void onApplicationEvent(@NonNull final ApplicationReadyEvent applicationReadyEvent) {
         try {
-            onboardSubscriptionModel();
+            if (subscriptionModelLoaderEnabled) {
+                onboardSubscriptionModel();
+            } else {
+                log.info("Subscription Model Loader is disabled");
+            }
         } catch (final NcmpStartUpException ncmpStartUpException) {
             log.debug("Onboarding model for NCMP failed: {} ", ncmpStartUpException.getMessage());
             SpringApplication.exit(applicationReadyEvent.getApplicationContext(), () -> 1);
index 65c0497..0e647ad 100644 (file)
@@ -67,7 +67,9 @@ class SubscriptionModelLoaderSpec extends Specification {
     }
 
     def 'Onboard subscription model successfully via application ready event'() {
-        when: 'the application is ready'
+        when:'model loader is enabled'
+            objectUnderTest.subscriptionModelLoaderEnabled = true
+        and: 'the application is ready'
             objectUnderTest.onApplicationEvent(applicationReadyEvent)
         then: 'the module service to create schema set is called once'
             1 * mockCpsModuleService.createSchemaSet(SUBSCRIPTION_DATASPACE_NAME, SUBSCRIPTION_SCHEMASET_NAME,sampleYangContentMap)
index e8b4be4..b7dfe86 100644 (file)
@@ -31,4 +31,7 @@ ncmp:
 
     modules-sync-watchdog:
         async-executor:
-            parallelism-level: 3
\ No newline at end of file
+            parallelism-level: 3
+
+    model-loader:
+        subscription: true
\ No newline at end of file