aboutsummaryrefslogtreecommitdiffstats
path: root/cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java')
-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 5f4283d0e..1fc13fc52 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 =