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.java50
1 files changed, 19 insertions, 31 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 5544aeb3..653ebf7f 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
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation
+ * Copyright (C) 2021-2022 Nordix Foundation
* Modifications Copyright (C) 2022 Bell Canada
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,10 +21,15 @@
package org.onap.cps.ncmp.dmi.rest.controller;
+import static org.onap.cps.ncmp.dmi.model.DataAccessRequest.OperationEnum;
+
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.validation.Valid;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.onap.cps.ncmp.dmi.model.CmHandles;
import org.onap.cps.ncmp.dmi.model.DataAccessRequest;
@@ -44,15 +49,22 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("${rest.api.dmi-base-path}")
@RestController
@Slf4j
+@RequiredArgsConstructor
public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
- private DmiService dmiService;
+ private final DmiService dmiService;
+
+ private final ObjectMapper objectMapper;
- private ObjectMapper objectMapper;
+ private static final Map<OperationEnum, HttpStatus> operationToHttpStatusMap = new HashMap<>(6);
- public DmiRestController(final DmiService dmiService, final ObjectMapper objectMapper) {
- this.dmiService = dmiService;
- this.objectMapper = objectMapper;
+ static {
+ operationToHttpStatusMap.put(null, HttpStatus.OK);
+ operationToHttpStatusMap.put(OperationEnum.READ, HttpStatus.OK);
+ operationToHttpStatusMap.put(OperationEnum.CREATE, HttpStatus.CREATED);
+ operationToHttpStatusMap.put(OperationEnum.PATCH, HttpStatus.OK);
+ operationToHttpStatusMap.put(OperationEnum.UPDATE, HttpStatus.OK);
+ operationToHttpStatusMap.put(OperationEnum.DELETE, HttpStatus.NO_CONTENT);
}
@Override
@@ -133,7 +145,7 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
dataAccessRequest.getDataType(),
dataAccessRequest.getData());
}
- return new ResponseEntity<>(sdncResponse, getHttpStatus(dataAccessRequest));
+ return new ResponseEntity<>(sdncResponse, operationToHttpStatusMap.get(dataAccessRequest.getOperation()));
}
private boolean isReadOperation(final @Valid DataAccessRequest dataAccessRequest) {
@@ -141,30 +153,6 @@ public class DmiRestController implements DmiPluginApi, DmiPluginInternalApi {
|| dataAccessRequest.getOperation().equals(DataAccessRequest.OperationEnum.READ);
}
- private HttpStatus getHttpStatus(final DataAccessRequest dataAccessRequest) {
- final HttpStatus httpStatus;
- if (dataAccessRequest.getOperation() == null) {
- httpStatus = HttpStatus.OK;
- } else {
- switch (dataAccessRequest.getOperation()) {
- case CREATE:
- httpStatus = HttpStatus.CREATED;
- break;
- case READ:
- case UPDATE:
- case PATCH:
- httpStatus = HttpStatus.OK;
- break;
- case DELETE:
- httpStatus = HttpStatus.NO_CONTENT;
- break;
- default:
- httpStatus = HttpStatus.BAD_REQUEST;
- }
- }
- return httpStatus;
- }
-
private List<ModuleReference> convertRestObjectToJavaApiObject(
final ModuleResourcesReadRequest moduleResourcesReadRequest) {
return objectMapper