diff options
author | 2023-12-12 12:00:23 +0000 | |
---|---|---|
committer | 2023-12-19 15:28:38 +0000 | |
commit | 89945a1bde22e0ab0a9fb35d26d8084fadf909ee (patch) | |
tree | dbc23ec654190ec78867d05d8228ac6dec1cd484 | |
parent | 0945f4356f9effe34d1342dcd8a32f508d404ff7 (diff) |
Deprecate use of basic subscription model
- Checked all subscription related files and Removed use of basic subscription model as much as possible
that will not break the entire code,
other files still has references on it but will and shall be removed on
further implementation of the subscription epic story
- Created new YangModel Event (YangModelCmDataSubscriptionEvent.java)for the new model as changing the old one affects many files
Issue-ID: CPS-1973
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
Change-Id: I7d3866780261110d3bb71c4807f39edc2703d0dc
2 files changed, 79 insertions, 3 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmDataSubscriptionEvent.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmDataSubscriptionEvent.java new file mode 100644 index 000000000..e527d99f2 --- /dev/null +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmDataSubscriptionEvent.java @@ -0,0 +1,76 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + + +package org.onap.cps.ncmp.api.impl.yangmodels; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Subscription event model to persist data into DB. + * Yang model subscription event + */ +@Getter +@Setter +@NoArgsConstructor +@JsonInclude(Include.NON_NULL) +@EqualsAndHashCode(onlyExplicitlyIncluded = true) +public class YangModelCmDataSubscriptionEvent { + + @EqualsAndHashCode.Include + @JsonProperty("name") + private String name; + + private List<CmHandle> cmHandles; + + @AllArgsConstructor + @Data + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class CmHandle { + + @JsonProperty() + private final String id; + + private final List<Filter> filters; + } + + @AllArgsConstructor + @Data + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class Filter { + + @JsonProperty() + private final String id; + + @JsonProperty() + private final List<String> subscribers; + } +} + + diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/AbstractModelLoaderSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/AbstractModelLoaderSpec.groovy index 3b1c25ba6..f9ecd6337 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/AbstractModelLoaderSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/init/AbstractModelLoaderSpec.groovy @@ -51,7 +51,7 @@ class AbstractModelLoaderSpec extends Specification { def loggingListAppender void setup() { - yangResourceToContentMap = objectUnderTest.createYangResourcesToContentMap('subscription.yang') + yangResourceToContentMap = objectUnderTest.createYangResourcesToContentMap('cm-data-subscriptions@2023-11-13.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','subscription.yang') + objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2023-11-13.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','subscription.yang') + objectUnderTest.createSchemaSet('some dataspace','new name','cm-data-subscriptions@2023-11-13.yang') then: 'the exception is ignored i.e. no exception thrown up' noExceptionThrown() and: 'the exception message is logged' |