diff options
author | Ruslan Kashapov <ruslan.kashapov@pantheon.tech> | 2021-02-01 10:47:25 +0200 |
---|---|---|
committer | Ruslan Kashapov <ruslan.kashapov@pantheon.tech> | 2021-02-04 17:45:06 +0200 |
commit | 20983922daff86e3282bc5e2da900a8ab1cc82ed (patch) | |
tree | ebc3adfc2baf69187be5585c64e01451390bbeef /cps-service/src/main/java/org/onap/cps/api/CpsDataService.java | |
parent | 5e1a5a7bde3a1650b86e2d22edde26520439757f (diff) |
Fetching data node by xpath - rest and service layers
IssueID: CPS-71
Change-Id: I54801fc12a8aa700d85e774780c9990b7f19c747
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/api/CpsDataService.java')
-rw-r--r-- | cps-service/src/main/java/org/onap/cps/api/CpsDataService.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java b/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java index a8f49655a..7960d12ef 100644 --- a/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpsDataService.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 Nordix Foundation + * Modifications Copyright (C) 2021 Pantheon.tech * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +21,15 @@ package org.onap.cps.api; import org.checkerframework.checker.nullness.qual.NonNull; +import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.exceptions.DataValidationException; +import org.onap.cps.spi.model.DataNode; /* * Datastore interface for handling CPS data. */ public interface CpsDataService { + /** * Persists data for the given anchor and dataspace. * @@ -35,4 +39,18 @@ public interface CpsDataService { * @throws DataValidationException when json data is invalid */ void saveData(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String jsonData); + + /** + * Retrieves datanode by XPath for given dataspace and anchor. + * + * @param dataspaceName dataspace name + * @param anchorName anchor name + * @param xpath xpath + * @param fetchDescendantsOption defines the scope of data to fetch: either single node or all the descendant nodes + * (recursively) as well + * @return data node object + */ + DataNode getDataNode(@NonNull String dataspaceName, @NonNull String anchorName, @NonNull String xpath, + @NonNull FetchDescendantsOption fetchDescendantsOption); + } |