From c309f24909510ebd11737efc3eadb055c91e304e Mon Sep 17 00:00:00 2001 From: niamhcore Date: Tue, 7 Sep 2021 10:27:18 +0100 Subject: P2 - Get module names and revisions rest layer Issue-ID: CPS-485 Signed-off-by: niamhcore Change-Id: I1bcf45902207d0dba6b5dfe8277cb06571694db3 --- .../java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java | 9 +++++++++ .../onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java | 7 ++++++- .../cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'cps-ncmp-service/src') diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java index 0693f61e4..60669b916 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyDataService.java @@ -28,6 +28,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; import org.onap.cps.ncmp.api.models.DmiPluginRegistration; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; +import org.onap.cps.spi.model.ModuleReference; /* * Datastore interface for handling CPS data. @@ -154,4 +155,12 @@ public interface NetworkCmProxyDataService { @NotNull String resourceIdentifier, @NotNull Object requestBody, String contentType); + + /** + * Retrieve module references for the given cm handle. + * + * @param cmHandle cm handle + * @return a collection of modules names and revisions + */ + Collection getYangResourcesModuleReferences(@NotNull String cmHandle); } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java index 6e1e7275b..871d8806b 100755 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java @@ -223,6 +223,11 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService handleResponseForPost(responseEntity); } + @Override + public Collection getYangResourcesModuleReferences(final String cmHandle) { + return cpsModuleService.getYangResourcesModuleReferences(NF_PROXY_DATASPACE_NAME, cmHandle); + } + private DataNode fetchDataNodeFromDmiRegistryForCmHandle(final String cmHandle) { final String xpathForDmiRegistryToFetchCmHandle = "/dmi-registry/cm-handles[@id='" + cmHandle + "']"; return cpsDataService.getDataNode(NCMP_DATASPACE_NAME, @@ -352,7 +357,7 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService final List moduleReferencesFromDmiForCmHandle = getModuleReferences(modulesForCmHandle); final var knownModuleReferencesInCps = - cpsModuleService.getAllYangResourceModuleReferences(NF_PROXY_DATASPACE_NAME); + cpsModuleService.getYangResourceModuleReferences(NF_PROXY_DATASPACE_NAME); final List existingModuleReferences = new ArrayList<>(); for (final ModuleReference moduleReferenceFromDmiForCmHandle : moduleReferencesFromDmiForCmHandle) { diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy index ff3e0cd15..e94544225 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImplSpec.groovy @@ -360,7 +360,7 @@ class NetworkCmProxyDataServiceImplSpec extends Specification { def knownModule1 = new ModuleReference('module1', '1') def knownOtherModule = new ModuleReference('some other module', 'some revision') and: 'CPS-Core returns list of known modules' - mockCpsModuleService.getAllYangResourceModuleReferences(_) >> [knownModule1, knownOtherModule] + mockCpsModuleService.getYangResourceModuleReferences(_) >> [knownModule1, knownOtherModule] and: 'DMI-Plugin returns resource(s) for "new" module(s)' def moduleResources = new ResponseEntity(sdncReponseBody, HttpStatus.OK) mockDmiOperations.getResourceFromDmi(_, cmHandleForModelSync.getId(), 'moduleResources') >> moduleResources -- cgit 1.2.3-korg