summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java')
-rw-r--r--src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java99
1 files changed, 59 insertions, 40 deletions
diff --git a/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java b/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java
index 79c11a4e..32651e4d 100644
--- a/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java
+++ b/src/main/java/org/onap/cps/ncmp/dmi/rest/controller/DmiRestController.java
@@ -27,14 +27,16 @@ import javax.validation.Valid;
import javax.validation.constraints.Min;
import lombok.extern.slf4j.Slf4j;
import org.onap.cps.ncmp.dmi.model.CmHandles;
+import org.onap.cps.ncmp.dmi.model.DataAccessReadRequest;
+import org.onap.cps.ncmp.dmi.model.DataAccessWriteRequest;
import org.onap.cps.ncmp.dmi.model.ModuleReference;
import org.onap.cps.ncmp.dmi.model.ModuleRequestParent;
import org.onap.cps.ncmp.dmi.model.ModuleSet;
-import org.onap.cps.ncmp.dmi.model.OperationalRequest;
import org.onap.cps.ncmp.dmi.rest.api.DmiPluginApi;
import org.onap.cps.ncmp.dmi.rest.api.DmiPluginInternalApi;
import org.onap.cps.ncmp.dmi.service.DmiService;
import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -61,7 +63,7 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
@Override
public ResponseEntity<Object> retrieveModuleResources(@Valid final ModuleRequestParent moduleRequestParent,
- final String cmHandle) {
+ final String cmHandle) {
if (moduleRequestParent.getOperation().toString().equals("read")) {
final var moduleReferenceList = convertRestObjectToJavaApiObject(moduleRequestParent);
final var response = dmiService.getModuleResources(cmHandle, moduleReferenceList);
@@ -74,6 +76,25 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
}
/**
+ * Write data using passthrough for the given cmHandle.
+ *
+ * @param dataAccessWriteRequest pass through request
+ * @param cmHandle cmHandle
+ * @param resourceIdentifier resource identifier
+ * @return (@ code ResponseEntity) response entity
+ */
+ @Override
+ public ResponseEntity<Object> writeDataByPassthroughRunningForCmHandle(
+ final DataAccessWriteRequest dataAccessWriteRequest,
+ final String cmHandle, final String resourceIdentifier) {
+ final String response = dmiService.writeResourceDataPassthroughForCmHandle(cmHandle,
+ resourceIdentifier,
+ MediaType.APPLICATION_JSON_VALUE,
+ dataAccessWriteRequest.getData());
+ return new ResponseEntity<>(response, HttpStatus.OK);
+ }
+
+ /**
* This method register given list of cm-handles to ncmp.
*
* @param cmHandles list of cm-handles
@@ -89,60 +110,58 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
}
/**
- * This method fetches the resource for given cm handle using pass
- * through operational. It filters the response on the basis of depth and field
- * query parameters and returns response.
+ * This method fetches the resource for given cm handle using pass through operational. It filters the response on
+ * the basis of depth and field query parameters and returns response.
*
- * @param cmHandle cm handle identifier
- * @param resourceIdentifier resource identifier to fetch data
- * @param body operational body
- * @param accept accept header parameter
- * @param fields fields to filter the response data
- * @param depth depth parameter for the response
+ * @param cmHandle cm handle identifier
+ * @param resourceIdentifier resource identifier to fetch data
+ * @param dataAccessReadRequest data Access Read Request
+ * @param accept accept header parameter
+ * @param fields fields to filter the response data
+ * @param depth depth parameter for the response
* @return {@code ResponseEntity} response entity
*/
@Override
public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String cmHandle,
- final String resourceIdentifier,
- final @Valid OperationalRequest body,
- final String accept,
- final @Valid String fields,
- final @Min(1) @Valid Integer depth) {
+ final String resourceIdentifier,
+ final @Valid DataAccessReadRequest dataAccessReadRequest,
+ final String accept,
+ final @Valid String fields,
+ final @Min(1) @Valid Integer depth) {
final var modulesListAsJson = dmiService.getResourceDataOperationalForCmHandle(cmHandle,
- resourceIdentifier,
- accept,
- fields,
- depth,
- body.getCmHandleProperties());
+ resourceIdentifier,
+ accept,
+ fields,
+ depth,
+ dataAccessReadRequest.getCmHandleProperties());
return ResponseEntity.ok(modulesListAsJson);
}
/**
- * This method fetches the resource for given cm handle using pass
- * through running. It filters the response on the basis of depth and field
- * query parameters and returns response.
+ * This method fetches the resource for given cm handle using pass through running. It filters the response on the
+ * basis of depth and field query parameters and returns response.
*
- * @param cmHandle cm handle identifier
- * @param resourceIdentifier resource identifier to fetch data
- * @param body operational body
- * @param accept accept header parameter
- * @param fields fields to filter the response data
- * @param depth depth parameter for the response
+ * @param cmHandle cm handle identifier
+ * @param resourceIdentifier resource identifier to fetch data
+ * @param dataAccessReadRequest data Access Read Request
+ * @param accept accept header parameter
+ * @param fields fields to filter the response data
+ * @param depth depth parameter for the response
* @return {@code ResponseEntity} response entity
*/
@Override
public ResponseEntity<Object> getResourceDataPassthroughRunningForCmHandle(final String cmHandle,
- final String resourceIdentifier,
- final @Valid OperationalRequest body,
- final String accept,
- final @Valid String fields,
- final @Min(1) @Valid Integer depth) {
+ final String resourceIdentifier,
+ final @Valid DataAccessReadRequest dataAccessReadRequest,
+ final String accept,
+ final @Valid String fields,
+ final @Min(1) @Valid Integer depth) {
final var modulesListAsJson = dmiService.getResourceDataPassThroughRunningForCmHandle(cmHandle,
- resourceIdentifier,
- accept,
- fields,
- depth,
- body.getCmHandleProperties());
+ resourceIdentifier,
+ accept,
+ fields,
+ depth,
+ dataAccessReadRequest.getCmHandleProperties());
return ResponseEntity.ok(modulesListAsJson);
}