diff options
Diffstat (limited to 'cps-rest/src/main/java')
-rwxr-xr-x | cps-rest/src/main/java/org/onap/cps/rest/controller/DataRestController.java | 61 |
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 |