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 | 79 |
1 files changed, 35 insertions, 44 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 ff3cefcd..b17280ae 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 @@ -24,18 +24,18 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; 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.DmiModuleReadRequestBody; -import org.onap.cps.ncmp.dmi.model.ModuleReference; +import org.onap.cps.ncmp.dmi.model.ModuleReferencesRequest; +import org.onap.cps.ncmp.dmi.model.ModuleResourcesReadRequest; import org.onap.cps.ncmp.dmi.model.ModuleSet; import org.onap.cps.ncmp.dmi.model.YangResources; 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.onap.cps.ncmp.dmi.service.model.ModuleReference; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -57,8 +57,8 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { } @Override - public ResponseEntity<ModuleSet> getModulesForCmHandle(final String cmHandle, - final @Valid DataAccessReadRequest body) { + public ResponseEntity<ModuleSet> getModuleReferences(final String cmHandle, + final @Valid ModuleReferencesRequest body) { // For onap-dmi-plugin we don't need cmHandleProperties, so DataAccessReadRequest is not used. final var moduleSet = dmiService.getModulesForCmHandle(cmHandle); return ResponseEntity.ok(moduleSet); @@ -66,28 +66,25 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi { @Override public ResponseEntity<YangResources> retrieveModuleResources( - final @Valid DmiModuleReadRequestBody dmiModuleReadRequestBody, - final String cmHandle) { - if (dmiModuleReadRequestBody.getOperation().toString().equals("read")) { - final var moduleReferenceList = convertRestObjectToJavaApiObject(dmiModuleReadRequestBody); - final var response = dmiService.getModuleResources(cmHandle, moduleReferenceList); - return new ResponseEntity<>(response, HttpStatus.OK); - } - return new ResponseEntity<>(HttpStatus.CONFLICT); + final @Valid ModuleResourcesReadRequest moduleResourcesReadRequest, + final String cmHandle) { + final List<ModuleReference> moduleReferences = convertRestObjectToJavaApiObject(moduleResourcesReadRequest); + final YangResources yangResources = dmiService.getModuleResources(cmHandle, moduleReferences); + return new ResponseEntity<>(yangResources, HttpStatus.OK); } /** * Write data using passthrough for the given cmHandle. * * @param dataAccessWriteRequest pass through request - * @param cmHandle cmHandle * @param resourceIdentifier resource identifier + * @param cmHandle cmHandle * @return (@ code ResponseEntity) response entity */ @Override public ResponseEntity<String> writeDataByPassthroughRunningForCmHandle( final DataAccessWriteRequest dataAccessWriteRequest, - final String cmHandle, final String resourceIdentifier) { + final String resourceIdentifier, final String cmHandle) { final String response = dmiService.writeResourceDataPassthroughForCmHandle(cmHandle, resourceIdentifier, MediaType.APPLICATION_JSON_VALUE, @@ -112,64 +109,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. + * the basis of options query parameters and returns response. * - * @param cmHandle cm handle identifier * @param resourceIdentifier resource identifier to fetch data + * @param cmHandle cm handle identifier * @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 + * @param acceptParamInHeader accept header parameter + * @param optionsParamInQuery options query parameter * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity<Object> getResourceDataOperationalForCmHandle(final String resourceIdentifier, + final String cmHandle, final @Valid DataAccessReadRequest dataAccessReadRequest, - final String accept, - final @Valid String fields, - final @Min(1) @Valid Integer depth) { + final String acceptParamInHeader, + final @Valid String optionsParamInQuery) { final var modulesListAsJson = dmiService.getResourceDataOperationalForCmHandle(cmHandle, resourceIdentifier, - accept, - fields, - depth, + acceptParamInHeader, + optionsParamInQuery, 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. + * basis of options query parameters and returns response. * - * @param cmHandle cm handle identifier * @param resourceIdentifier resource identifier to fetch data + * @param cmHandle cm handle identifier * @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 + * @param acceptParamInHeader accept header parameter + * @param optionsParamInQuery options query parameter * @return {@code ResponseEntity} response entity */ @Override - public ResponseEntity<Object> getResourceDataPassthroughRunningForCmHandle(final String cmHandle, - final String resourceIdentifier, + public ResponseEntity<Object> getResourceDataPassthroughRunningForCmHandle(final String resourceIdentifier, + final String cmHandle, final @Valid DataAccessReadRequest dataAccessReadRequest, - final String accept, - final @Valid String fields, - final @Min(1) @Valid Integer depth) { + final String acceptParamInHeader, + final @Valid String optionsParamInQuery) { final var modulesListAsJson = dmiService.getResourceDataPassThroughRunningForCmHandle(cmHandle, resourceIdentifier, - accept, - fields, - depth, + acceptParamInHeader, + optionsParamInQuery, dataAccessReadRequest.getCmHandleProperties()); return ResponseEntity.ok(modulesListAsJson); } private List<ModuleReference> convertRestObjectToJavaApiObject( - final DmiModuleReadRequestBody dmiModuleSchemaReadRequestBody) { + final ModuleResourcesReadRequest moduleResourcesReadRequest) { return objectMapper - .convertValue(dmiModuleSchemaReadRequestBody.getData().getModules(), + .convertValue(moduleResourcesReadRequest.getData().getModules(), new TypeReference<List<ModuleReference>>() {}); } -}
\ No newline at end of file +} |