aboutsummaryrefslogtreecommitdiffstats
path: root/cps-nf-proxy-service
diff options
context:
space:
mode:
authorniamhcore <niamh.core@est.tech>2021-03-01 13:25:13 +0000
committerNiamh Core <niamh.core@est.tech>2021-03-02 11:13:25 +0000
commit32446dce35b5bf9d2c84751718cb4ece7f96fa72 (patch)
tree03a0fb6b16c6c6e692bc54db74440d005c501573 /cps-nf-proxy-service
parent7c981df521c9d8eb6f340b2b118491eeeb21ae59 (diff)
CPS-265 - updating cps path to support include-descendants option.
Issue-ID: CPS-265 Signed-off-by: niamhcore <niamh.core@est.tech> Change-Id: I9e9b84760dbc8b5eb4b31ab972fdb2d186c6bb48
Diffstat (limited to 'cps-nf-proxy-service')
-rw-r--r--cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java11
-rwxr-xr-xcps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java5
-rw-r--r--cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy9
3 files changed, 16 insertions, 9 deletions
diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java
index ce47d70019..cde1801dae 100644
--- a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java
+++ b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/NfProxyDataService.java
@@ -46,12 +46,15 @@ public interface NfProxyDataService {
/**
* Get datanodes for the given cm handle by cps path.
*
- * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm object by
- * managed NF-Proxy
- * @param cpsPath cps path
+ * @param cmHandle The identifier for a network function, network element, subnetwork or any other cm
+ * object by managed NF-Proxy
+ * @param cpsPath cps path
+ * @param fetchDescendantsOption defines whether the descendants of the node(s) found by the query should be
+ * included in the output
* @return a collection of datanodes
*/
- Collection<DataNode> queryDataNodes(@NonNull String cmHandle, @NonNull String cpsPath);
+ Collection<DataNode> queryDataNodes(@NonNull String cmHandle, @NonNull String cpsPath,
+ @NonNull FetchDescendantsOption fetchDescendantsOption);
/**
* Updates data node for given cm handle using xpath to parent node.
diff --git a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java
index bb15591a92..cff92fea69 100755
--- a/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java
+++ b/cps-nf-proxy-service/src/main/java/org/onap/cps/nfproxy/api/impl/NfProxyDataServiceImpl.java
@@ -47,8 +47,9 @@ public class NfProxyDataServiceImpl implements NfProxyDataService {
}
@Override
- public Collection<DataNode> queryDataNodes(final String cmHandle, final String cpsPath) {
- return cpsQueryService.queryDataNodes(NF_PROXY_DATASPACE_NAME, cmHandle, cpsPath);
+ public Collection<DataNode> queryDataNodes(final String cmHandle, final String cpsPath,
+ final FetchDescendantsOption fetchDescendantsOption) {
+ return cpsQueryService.queryDataNodes(NF_PROXY_DATASPACE_NAME, cmHandle, cpsPath, fetchDescendantsOption);
}
@Override
diff --git a/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy b/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy
index f89f80e301..24549aec83 100644
--- a/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy
+++ b/cps-nf-proxy-service/src/test/groovy/org/onap/cps/api/impl/NfProxyDataServiceImplSpec.groovy
@@ -22,6 +22,7 @@ package org.onap.cps.api.impl
import org.onap.cps.api.CpsDataService
import org.onap.cps.api.CpsQueryService
import org.onap.cps.nfproxy.api.impl.NfProxyDataServiceImpl
+import org.onap.cps.spi.FetchDescendantsOption
import spock.lang.Specification
class NfProxyDataServiceImplSpec extends Specification {
@@ -37,13 +38,15 @@ class NfProxyDataServiceImplSpec extends Specification {
def cmHandle = 'some handle'
def expectedDataspaceName = 'NFP-Operational'
- def 'Query data nodes by cps path.'() {
+ def 'Query data nodes by cps path with #fetchDescendantsOption.'() {
given: 'a cm Handle and a cps path'
def cpsPath = '/cps-path'
when: 'queryDataNodes is invoked'
- objectUnderTest.queryDataNodes(cmHandle, cpsPath)
+ objectUnderTest.queryDataNodes(cmHandle, cpsPath, fetchDescendantsOption)
then: 'the persistence service is called once with the correct parameters'
- 1 * mockcpsQueryService.queryDataNodes(expectedDataspaceName, cmHandle, cpsPath)
+ 1 * mockcpsQueryService.queryDataNodes(expectedDataspaceName, cmHandle, cpsPath, fetchDescendantsOption)
+ where: 'all fetch descendants options are supported'
+ fetchDescendantsOption << FetchDescendantsOption.values()
}
def 'Update data node leaves.'() {