@Override
public ResponseEntity<String> createNode(final String dataspaceName, final String anchorName,
- final String jsonData, final String parentNodeXpath, final String observedTimestamp) {
+ final Object jsonData, final String parentNodeXpath, final String observedTimestamp) {
if (isRootXpath(parentNodeXpath)) {
- cpsDataService.saveData(dataspaceName, anchorName, jsonData, toOffsetDateTime(observedTimestamp));
+ cpsDataService.saveData(dataspaceName, anchorName, jsonData.toString(),
+ toOffsetDateTime(observedTimestamp));
} else {
- cpsDataService.saveData(dataspaceName, anchorName, parentNodeXpath, jsonData,
+ cpsDataService.saveData(dataspaceName, anchorName, parentNodeXpath, jsonData.toString(),
toOffsetDateTime(observedTimestamp));
}
return new ResponseEntity<>(HttpStatus.CREATED);
}
@Override
- public ResponseEntity<String> addListNodeElements(final String parentNodeXpath,
- final String dataspaceName, final String anchorName, final String jsonData, final String observedTimestamp) {
- cpsDataService.saveListNodeData(dataspaceName, anchorName, parentNodeXpath, jsonData,
+ public ResponseEntity<Void> deleteDataNode(final String dataspaceName, final String anchorName,
+ final String xpath, final String observedTimestamp) {
+ cpsDataService.deleteDataNode(dataspaceName, anchorName, xpath,
+ toOffsetDateTime(observedTimestamp));
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @Override
+ public ResponseEntity<String> addListElements(final String parentNodeXpath,
+ final String dataspaceName, final String anchorName, final Object jsonData, final String observedTimestamp) {
+ cpsDataService.saveListElements(dataspaceName, anchorName, parentNodeXpath, jsonData.toString(),
toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.CREATED);
}
@Override
public ResponseEntity<Object> updateNodeLeaves(final String dataspaceName,
- final String anchorName, final String jsonData, final String parentNodeXpath, final String observedTimestamp) {
- cpsDataService.updateNodeLeaves(dataspaceName, anchorName, parentNodeXpath, jsonData,
+ final String anchorName, final Object jsonData, final String parentNodeXpath, final String observedTimestamp) {
+ cpsDataService.updateNodeLeaves(dataspaceName, anchorName, parentNodeXpath, jsonData.toString(),
toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.OK);
}
@Override
public ResponseEntity<Object> replaceNode(final String dataspaceName, final String anchorName,
- final String jsonData, final String parentNodeXpath, final String observedTimestamp) {
+ final Object jsonData, final String parentNodeXpath, final String observedTimestamp) {
cpsDataService
- .replaceNodeTree(dataspaceName, anchorName, parentNodeXpath, jsonData, toOffsetDateTime(observedTimestamp));
+ .replaceNodeTree(dataspaceName, anchorName, parentNodeXpath, jsonData.toString(),
+ toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.OK);
}
@Override
- public ResponseEntity<String> replaceListNodeElements(final String parentNodeXpath,
- final String dataspaceName, final String anchorName, final String jsonData,
+ public ResponseEntity<Object> replaceListContent(final String parentNodeXpath,
+ final String dataspaceName, final String anchorName, final Object jsonData,
final String observedTimestamp) {
- cpsDataService.replaceListNodeData(dataspaceName, anchorName, parentNodeXpath, jsonData,
+ cpsDataService.replaceListContent(dataspaceName, anchorName, parentNodeXpath, jsonData.toString(),
toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.OK);
}
@Override
- public ResponseEntity<Void> deleteListNodeElements(final String dataspaceName, final String anchorName,
- final String listNodeXpath, final String observedTimestamp) {
+ public ResponseEntity<Void> deleteListOrListElement(final String dataspaceName, final String anchorName,
+ final String listElementXpath, final String observedTimestamp) {
cpsDataService
- .deleteListNodeData(dataspaceName, anchorName, listNodeXpath, toOffsetDateTime(observedTimestamp));
+ .deleteListOrListElement(dataspaceName, anchorName, listElementXpath, toOffsetDateTime(observedTimestamp));
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return ROOT_XPATH.equals(xpath);
}
- private OffsetDateTime toOffsetDateTime(final String datetTimestamp) {
+ private static OffsetDateTime toOffsetDateTime(final String datetTimestamp) {
try {
return StringUtils.isEmpty(datetTimestamp)
? null : OffsetDateTime.parse(datetTimestamp, ISO_TIMESTAMP_FORMATTER);