aboutsummaryrefslogtreecommitdiffstats
path: root/cps-rest/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-rest/src/main/java')
-rwxr-xr-xcps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java61
1 files changed, 41 insertions, 20 deletions
diff --git a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
index d460f52415..be552ecc6a 100755
--- a/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
+++ b/cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java
@@ -102,12 +102,17 @@ public class DataRestController implements CpsDataApi {
@Override
public ResponseEntity<String> addListElements(final String apiVersion, final String dataspaceName,
final String anchorName, final String parentNodeXpath,
- final String nodeData, final String observedTimestamp,
- final String contentTypeInHeader) {
+ final String nodeData, final Boolean dryRunEnabled,
+ final String observedTimestamp, final String contentTypeInHeader) {
final ContentType contentType = ContentType.fromString(contentTypeInHeader);
- cpsDataService.saveListElements(dataspaceName, anchorName, parentNodeXpath,
- nodeData, toOffsetDateTime(observedTimestamp), contentType);
- return new ResponseEntity<>(HttpStatus.CREATED);
+ if (Boolean.TRUE.equals(dryRunEnabled)) {
+ cpsDataService.validateData(dataspaceName, anchorName, parentNodeXpath, nodeData, contentType);
+ return ResponseEntity.ok().build();
+ } else {
+ cpsDataService.saveListElements(dataspaceName, anchorName, parentNodeXpath,
+ nodeData, toOffsetDateTime(observedTimestamp), contentType);
+ }
+ return ResponseEntity.status(HttpStatus.CREATED).build();
}
@Override
@@ -151,34 +156,50 @@ public class DataRestController implements CpsDataApi {
@Override
public ResponseEntity<Object> updateNodeLeaves(final String apiVersion, final String dataspaceName,
final String anchorName, final String nodeData,
- final String parentNodeXpath, final String observedTimestamp,
- final String contentTypeInHeader) {
+ final String parentNodeXpath, final Boolean dryRunEnabled,
+ final String observedTimestamp, final String contentTypeInHeader) {
final ContentType contentType = ContentType.fromString(contentTypeInHeader);
- cpsDataService.updateNodeLeaves(dataspaceName, anchorName, parentNodeXpath,
- nodeData, toOffsetDateTime(observedTimestamp), contentType);
- return new ResponseEntity<>(HttpStatus.OK);
+ if (Boolean.TRUE.equals(dryRunEnabled)) {
+ cpsDataService.validateData(dataspaceName, anchorName, parentNodeXpath, nodeData, contentType);
+ return ResponseEntity.ok().build();
+ } else {
+ cpsDataService.updateNodeLeaves(dataspaceName, anchorName, parentNodeXpath,
+ nodeData, toOffsetDateTime(observedTimestamp), contentType);
+ }
+ return ResponseEntity.status(HttpStatus.OK).build();
}
@Override
public ResponseEntity<Object> replaceNode(final String apiVersion, final String dataspaceName,
final String anchorName, final String nodeData,
- final String parentNodeXpath, final String observedTimestamp,
- final String contentTypeInHeader) {
+ final String parentNodeXpath, final Boolean dryRunEnabled,
+ final String observedTimestamp, final String contentTypeInHeader) {
final ContentType contentType = ContentType.fromString(contentTypeInHeader);
- cpsDataService.updateDataNodeAndDescendants(dataspaceName, anchorName, parentNodeXpath,
- nodeData, toOffsetDateTime(observedTimestamp), contentType);
- return new ResponseEntity<>(HttpStatus.OK);
+ if (Boolean.TRUE.equals(dryRunEnabled)) {
+ cpsDataService.validateData(dataspaceName, anchorName, parentNodeXpath, nodeData, contentType);
+ return ResponseEntity.ok().build();
+ } else {
+ cpsDataService.updateDataNodeAndDescendants(dataspaceName, anchorName, parentNodeXpath,
+ nodeData, toOffsetDateTime(observedTimestamp), contentType);
+ }
+ return ResponseEntity.status(HttpStatus.OK).build();
}
@Override
public ResponseEntity<Object> replaceListContent(final String apiVersion, final String dataspaceName,
final String anchorName, final String parentNodeXpath,
- final String nodeData, final String observedTimestamp,
- final String contentTypeInHeader) {
+ final String nodeData, final Boolean dryRunEnabled,
+ final String observedTimestamp, final String contentTypeInHeader) {
final ContentType contentType = ContentType.fromString(contentTypeInHeader);
- cpsDataService.replaceListContent(dataspaceName, anchorName, parentNodeXpath,
- nodeData, toOffsetDateTime(observedTimestamp), contentType);
- return new ResponseEntity<>(HttpStatus.OK);
+ if (Boolean.TRUE.equals(dryRunEnabled)) {
+ cpsDataService.validateData(dataspaceName, anchorName, parentNodeXpath, nodeData,
+ ContentType.JSON);
+ return ResponseEntity.ok().build();
+ } else {
+ cpsDataService.replaceListContent(dataspaceName, anchorName, parentNodeXpath,
+ nodeData, toOffsetDateTime(observedTimestamp), contentType);
+ }
+ return ResponseEntity.status(HttpStatus.OK).build();
}
@Override