diff options
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.java | 34 |
1 files changed, 32 insertions, 2 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 5725f094..969e08d3 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 @@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.dmi.model.CmHandles; import org.onap.cps.ncmp.dmi.model.ModuleReference; import org.onap.cps.ncmp.dmi.model.ModuleRequestParent; +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; @@ -59,7 +60,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); @@ -86,8 +87,37 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { return new ResponseEntity<>("cm-handle registered successfully.", HttpStatus.CREATED); } + /** + * This method fetches the resource for given cm handle using pass + * through option. 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 + * @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 @Valid Integer depth) { + final var modulesListAsJson = dmiService.getResourceDataOperationalForCmHandle(cmHandle, + resourceIdentifier, + accept, + fields, + depth, + body.getCmHandleProperties()); + return ResponseEntity.ok(modulesListAsJson); + } + private List<ModuleReference> convertRestObjectToJavaApiObject(final ModuleRequestParent moduleRequestParent) { return objectMapper .convertValue(moduleRequestParent.getData().getModules(), new TypeReference<List<ModuleReference>>() {}); } -} +}
\ No newline at end of file |