Update cm-data-subscriptions model 05/137205/3
authormpriyank <priyank.maheshwari@est.tech>
Mon, 12 Feb 2024 16:16:36 +0000 (16:16 +0000)
committermpriyank <priyank.maheshwari@est.tech>
Mon, 12 Feb 2024 17:41:14 +0000 (17:41 +0000)
- rename leaf-list subscribers to subscriptionIds
- code using the same also updated
- not creating a new version of model as nobody is using it at the
  moment

Issue-ID: CPS-2088
Change-Id: I43d679047bdfc665b56f262757acc4bbaba2733f
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/events/cmsubscription/service/CmNotificationSubscriptionPersistenceServiceImpl.java
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoader.java
cps-ncmp-service/src/main/resources/models/cm-data-subscriptions@2024-02-12.yang [moved from cps-ncmp-service/src/main/resources/models/cm-data-subscriptions@2023-11-13.yang with 91% similarity]
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/events/cmsubscription/service/CmNotificationSubscriptionPersistenceServiceImplSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/AbstractModelLoaderSpec.groovy
cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoaderSpec.groovy

index ca9adb3..63f12ad 100644 (file)
@@ -37,7 +37,8 @@ import org.springframework.stereotype.Service;
 public class CmNotificationSubscriptionPersistenceServiceImpl implements CmNotificationSubscriptionPersistenceService {
 
     private static final String IS_ONGOING_CM_SUBSCRIPTION_CPS_PATH_QUERY = """
-            /datastores/datastore[@name='%s']/cm-handles/cm-handle[@id='%s']/filters/filter[@xpath='%s']""";
+            /datastores/datastore[@name='%s']/cm-handles/cm-handle[@id='%s']/filters/filter[@xpath='%s']
+            """.trim();
 
     private final CpsQueryService cpsQueryService;
 
@@ -60,7 +61,7 @@ public class CmNotificationSubscriptionPersistenceServiceImpl implements CmNotif
         if (existingNodes.isEmpty()) {
             return Collections.emptyList();
         }
-        return (List<String>) existingNodes.iterator().next().getLeaves().get("subscribers");
+        return (List<String>) existingNodes.iterator().next().getLeaves().get("subscriptionIds");
     }
 
     private static String escapeQuotesByDoublingThem(final String inputXpath) {
index c0b1f34..7cee87a 100644 (file)
@@ -39,7 +39,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class CmDataSubscriptionModelLoader extends AbstractModelLoader {
 
-    private static final String MODEL_FILENAME = "cm-data-subscriptions@2023-11-13.yang";
+    private static final String MODEL_FILENAME = "cm-data-subscriptions@2024-02-12.yang";
     private static final String SCHEMASET_NAME = "cm-data-subscriptions";
     private static final String ANCHOR_NAME = "cm-data-subscriptions";
     private static final String REGISTRY_DATANODE_NAME = "datastores";
@@ -4,7 +4,7 @@ module cm-data-subscriptions {
 
   prefix cmds;
 
-  revision "2023-11-13" {
+  revision "2024-02-12" {
     description
       "First release of cm data (notification) subscriptions model";
   }
@@ -36,7 +36,7 @@ module cm-data-subscriptions {
                 type string;
               }
 
-              leaf-list subscribers {
+              leaf-list subscriptionIds {
                 type string;
               }
 
index f6103ef..e951c31 100644 (file)
@@ -44,8 +44,8 @@ class CmNotificationSubscriptionPersistenceServiceImplSpec extends Specification
         then: 'we get expected response'
             assert response == isOngoingCmSubscription
         where: 'following scenarios are used'
-            scenario                  | dataNode                                                                        || isOngoingCmSubscription
-            'valid datanodes present' | [new DataNode(xpath: '/cps/path', leaves: ['subscribers': ['sub-1', 'sub-2']])] || true
-            'no datanodes present'    | []                                                                              || false
+            scenario                  | dataNode                                                                            || isOngoingCmSubscription
+            'valid datanodes present' | [new DataNode(xpath: '/cps/path', leaves: ['subscriptionIds': ['sub-1', 'sub-2']])] || true
+            'no datanodes present'    | []                                                                                  || false
     }
 }
index a9f2466..f122b57 100644 (file)
@@ -51,7 +51,7 @@ class AbstractModelLoaderSpec extends Specification {
     def loggingListAppender
 
     void setup() {
-        yangResourceToContentMap = objectUnderTest.createYangResourcesToContentMap('cm-data-subscriptions@2023-11-13.yang')
+        yangResourceToContentMap = objectUnderTest.createYangResourcesToContentMap('cm-data-subscriptions@2024-02-12.yang')
         logger.setLevel(Level.DEBUG)
         loggingListAppender = new ListAppender()
         logger.addAppender(loggingListAppender)
@@ -91,7 +91,7 @@ class AbstractModelLoaderSpec extends Specification {
 
     def 'Create schema set.'() {
         when: 'creating a schema set'
-            objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2023-11-13.yang')
+            objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2024-02-12.yang')
         then: 'the operation is delegated to the admin service'
             1 * mockCpsModuleService.createSchemaSet('some dataspace','new name',_)
     }
@@ -100,7 +100,7 @@ class AbstractModelLoaderSpec extends Specification {
         given: 'the module service throws an already defined exception'
             mockCpsModuleService.createSchemaSet(*_) >>  { throw AlreadyDefinedException.forSchemaSet('name','context',null) }
         when: 'attempt to create a schema set'
-            objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2023-11-13.yang')
+            objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2024-02-12.yang')
         then: 'the exception is ignored i.e. no exception thrown up'
             noExceptionThrown()
         and: 'the exception message is logged'
index 0e95e12..bde9961 100644 (file)
@@ -53,7 +53,7 @@ class CmDataSubscriptionModelLoaderSpec extends Specification {
     def loggingListAppender
 
     void setup() {
-        expectedYangResourcesToContentMap = objectUnderTest.createYangResourcesToContentMap('cm-data-subscriptions@2023-11-13.yang')
+        expectedYangResourcesToContentMap = objectUnderTest.createYangResourcesToContentMap('cm-data-subscriptions@2024-02-12.yang')
         logger.setLevel(Level.DEBUG)
         loggingListAppender = new ListAppender()
         logger.addAppender(loggingListAppender)