Migrate policy api startup & config, controller to springboot
[policy/api.git] / main / src / main / java / org / onap / policy / api / main / rest / CommonRestController.java
index b059490..0389e0f 100644 (file)
@@ -3,6 +3,7 @@
  * ONAP Policy API\r
  * ================================================================================\r
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.\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
 package org.onap.policy.api.main.rest;\r
 \r
 import java.util.UUID;\r
-import javax.ws.rs.core.Response;\r
-import javax.ws.rs.core.Response.ResponseBuilder;\r
 import org.onap.policy.common.utils.coder.Coder;\r
 import org.onap.policy.common.utils.coder.CoderException;\r
 import org.onap.policy.common.utils.coder.StandardCoder;\r
-import org.onap.policy.models.errors.concepts.ErrorResponseInfo;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
+import org.springframework.http.HttpHeaders;\r
+import org.springframework.http.ResponseEntity;\r
 \r
 /**\r
  * Super class from which REST controllers are derived.\r
@@ -41,27 +41,33 @@ public class CommonRestController {
 \r
     private final Coder coder = new StandardCoder();\r
 \r
-\r
-    protected Response makeOkResponse(UUID requestId, Object respEntity) {\r
-        return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)\r
-                        .entity(respEntity).build();\r
+    protected <T> ResponseEntity<T> makeOkResponse(UUID requestId, T respEntity) {\r
+        HttpHeaders headers = new HttpHeaders();\r
+        addVersionControlHeaders(headers);\r
+        addLoggingHeaders(headers, requestId);\r
+        return ResponseEntity.ok().headers(headers).body(respEntity);\r
     }\r
 \r
-    protected <T extends ErrorResponseInfo> Response makeErrorResponse(UUID requestId, T pfme) {\r
-        return addLoggingHeaders(addVersionControlHeaders(Response.status(pfme.getErrorResponse().getResponseCode())),\r
-                        requestId).entity(pfme.getErrorResponse()).build();\r
+    protected <T> ResponseEntity<T> makeErrorResponse(UUID requestId, T respEntity, int status) {\r
+        HttpHeaders headers = new HttpHeaders();\r
+        addVersionControlHeaders(headers);\r
+        addLoggingHeaders(headers, requestId);\r
+        return ResponseEntity.status(status).headers(headers).body(respEntity);\r
     }\r
 \r
-    protected ResponseBuilder addVersionControlHeaders(ResponseBuilder rb) {\r
-        return rb.header("X-MinorVersion", "0").header("X-PatchVersion", "0").header("X-LatestVersion", "1.0.0");\r
+    private void addVersionControlHeaders(HttpHeaders headers) {\r
+        headers.add("X-MinorVersion", "0");\r
+        headers.add("X-PatchVersion", "0");\r
+        headers.add("X-LatestVersion", "1.0.0");\r
     }\r
 \r
-    protected ResponseBuilder addLoggingHeaders(ResponseBuilder rb, UUID requestId) {\r
+    private void addLoggingHeaders(HttpHeaders headers, UUID requestId) {\r
         if (requestId == null) {\r
             // Generate a random uuid if client does not embed requestId in rest request\r
-            return rb.header("X-ONAP-RequestID", UUID.randomUUID());\r
+            headers.add("X-ONAP-RequestID", UUID.randomUUID().toString());\r
+        } else {\r
+            headers.add("X-ONAP-RequestID", requestId.toString());\r
         }\r
-        return rb.header("X-ONAP-RequestID", requestId);\r
     }\r
 \r
     /**\r
@@ -83,4 +89,4 @@ public class CommonRestController {
             return null;\r
         }\r
     }\r
-}\r
+}
\ No newline at end of file