Java 17 / Spring 6 / Spring Boot 3 Upgrade
[policy/api.git] / main / src / main / java / org / onap / policy / api / main / rest / CommonRestController.java
index ce479bc..eadd8d3 100644 (file)
@@ -4,7 +4,7 @@
  * ================================================================================\r
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.\r
  * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.\r
- * Modifications Copyright (C) 2022 Nordix Foundation.\r
+ * Modifications Copyright (C) 2022-2023 Nordix Foundation.\r
  * ================================================================================\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
@@ -24,6 +24,7 @@
 \r
 package org.onap.policy.api.main.rest;\r
 \r
+import java.util.Objects;\r
 import java.util.UUID;\r
 import org.onap.policy.api.main.exception.PolicyApiRuntimeException;\r
 import org.onap.policy.common.utils.coder.Coder;\r
@@ -31,6 +32,7 @@ import org.onap.policy.common.utils.coder.CoderException;
 import org.onap.policy.common.utils.coder.StandardCoder;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
+import org.springframework.http.HttpStatus;\r
 import org.springframework.http.ResponseEntity;\r
 import org.springframework.web.bind.annotation.ExceptionHandler;\r
 import org.springframework.web.context.request.WebRequest;\r
@@ -79,7 +81,12 @@ public class CommonRestController {
     protected final Coder coder = new StandardCoder();\r
 \r
     protected <T> ResponseEntity<T> makeOkResponse(UUID requestId, T respEntity) {\r
-        return CommonRestController.addLoggingHeaders(addVersionControlHeaders(ResponseEntity.ok()), requestId)\r
+        return makeResponse(requestId, respEntity, HttpStatus.OK.value());\r
+    }\r
+\r
+    protected <T> ResponseEntity<T> makeResponse(UUID requestId, T respEntity, int status) {\r
+        return CommonRestController\r
+            .addLoggingHeaders(addVersionControlHeaders(ResponseEntity.status(status)), requestId)\r
             .body(respEntity);\r
     }\r
 \r
@@ -101,12 +108,10 @@ public class CommonRestController {
      * @return the response builder, with version logging\r
      */\r
     public static ResponseEntity.BodyBuilder addLoggingHeaders(ResponseEntity.BodyBuilder respBuilder, UUID requestId) {\r
-        if (requestId == null) {\r
-            // Generate a random uuid if client does not embed requestId in rest request\r
-            return respBuilder.header(REQUEST_ID_NAME, UUID.randomUUID().toString());\r
-        }\r
+        // Generate a random uuid if client does not embed requestId in rest request\r
+        return respBuilder.header(REQUEST_ID_NAME,\r
+            Objects.requireNonNullElseGet(requestId, UUID::randomUUID).toString());\r
 \r
-        return respBuilder.header(REQUEST_ID_NAME, requestId.toString());\r
     }\r
 \r
     /**\r
@@ -138,4 +143,4 @@ public class CommonRestController {
             CommonRestController.addVersionControlHeaders(ResponseEntity.status(status)),\r
             requestId != null ? UUID.fromString(requestId) : ex.getRequestId()).body(ex.getErrorResponse());\r
     }\r
-}
\ No newline at end of file
+}\r