summaryrefslogtreecommitdiffstats
path: root/cps-rest/src/main
diff options
context:
space:
mode:
authorrajesh.kumar <rk00747546@techmahindra.com>2022-12-14 14:27:29 +0000
committerLuke Gleeson <luke.gleeson@est.tech>2023-03-21 09:45:16 +0000
commita317890387fdbc689f8dcd8648b5bfe3b43abd1e (patch)
tree652b78e62895aa186eb26788eb475634ce2ddce9 /cps-rest/src/main
parent0b00f81b98e5fa9632b1145e49f62d0b2712f4e4 (diff)
Query data nodes across all anchors under one dataspace
Issue-ID: CPS-1396 Change-ID: I73f97f986a817d423f93a8d922dcd9647b1412ab Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
Diffstat (limited to 'cps-rest/src/main')
-rw-r--r--cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java
index 5f4283d0e4..1fc13fc522 100644
--- a/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java
+++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java
@@ -71,6 +71,25 @@ public class QueryRestController implements CpsQueryApi {
fetchDescendantsOption);
}
+ @Override
+ public ResponseEntity<Object> getNodesByDataspaceAndCpsPath(final String dataspaceName,
+ final String cpsPath, final String fetchDescendantsOptionAsString) {
+ final FetchDescendantsOption fetchDescendantsOption =
+ FetchDescendantsOption.getFetchDescendantsOption(fetchDescendantsOptionAsString);
+ final Collection<DataNode> dataNodes =
+ cpsQueryService.queryDataNodesAcrossAnchors(dataspaceName, cpsPath, fetchDescendantsOption);
+ final List<Map<String, Object>> dataMaps = new ArrayList<>(dataNodes.size());
+ String prefix = null;
+ for (final DataNode dataNode : dataNodes) {
+ if (prefix == null) {
+ prefix = prefixResolver.getPrefix(dataspaceName, dataNode.getAnchorName(), dataNode.getXpath());
+ }
+ final Map<String, Object> dataMap = DataMapUtils.toDataMapWithIdentifierAndAnchor(dataNode, prefix);
+ dataMaps.add(dataMap);
+ }
+ return new ResponseEntity<>(jsonObjectMapper.asJsonString(dataMaps), HttpStatus.OK);
+ }
+
private ResponseEntity<Object> executeNodesByDataspaceQueryAndCreateResponse(final String dataspaceName,
final String anchorName, final String cpsPath, final FetchDescendantsOption fetchDescendantsOption) {
final Collection<DataNode> dataNodes =