Adding examples in openapi for cps-core
[cps.git] / cps-rest / src / main / java / org / onap / cps / rest / controller / DataRestController.java
index 7db4e5a..73c2c27 100755 (executable)
@@ -49,20 +49,29 @@ public class DataRestController implements CpsDataApi {
 
     @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);
     }
@@ -79,34 +88,35 @@ public class DataRestController implements CpsDataApi {
 
     @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);
     }
 
@@ -114,7 +124,7 @@ public class DataRestController implements CpsDataApi {
         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);