Use singleton for api statistics
[policy/api.git] / main / src / main / java / org / onap / policy / api / main / rest / ApiRestController.java
index e23604b..eb60c5e 100644 (file)
@@ -3,7 +3,7 @@
  * ONAP Policy API\r
  * ================================================================================\r
  * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.\r
- * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\r
+ * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.\r
  * Modifications Copyright (C) 2020 Nordix Foundation.\r
  * Modifications Copyright (C) 2020 Bell Canada.\r
  * ================================================================================\r
@@ -237,7 +237,7 @@ public class ApiRestController extends CommonRestController {
     public Response\r
         getAllPolicyTypes(@HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(null, null);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.GET);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -285,7 +285,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("policyTypeId") @ApiParam(value = "ID of policy type", required = true) String policyTypeId,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(policyTypeId, null);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.GET);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -334,7 +334,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("versionId") @ApiParam(value = "Version of policy type", required = true) String versionId,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(policyTypeId, versionId);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.GET);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -381,7 +381,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("policyTypeId") @ApiParam(value = "ID of policy type", required = true) String policyTypeId,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchLatestPolicyTypes(policyTypeId);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.GET);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -433,7 +433,7 @@ public class ApiRestController extends CommonRestController {
             NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, "/policytypes", toJson(body));\r
         }\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.createPolicyType(body);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.POST);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -486,7 +486,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("versionId") @ApiParam(value = "Version of policy type", required = true) String versionId,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyTypeProvider policyTypeProvider = new PolicyTypeProvider()) {\r
+        try (var policyTypeProvider = new PolicyTypeProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyTypeProvider.deletePolicyType(policyTypeId, versionId);\r
             updateApiStatisticsCounter(Target.POLICY_TYPE, Result.SUCCESS, HttpMethod.DELETE);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -545,7 +545,7 @@ public class ApiRestController extends CommonRestController {
             + " REFERENCED for fully referenced policies") PolicyFetchMode mode\r
     ) {\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, null, null, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -604,7 +604,7 @@ public class ApiRestController extends CommonRestController {
         @QueryParam("mode") @DefaultValue("bare") @ApiParam("Fetch mode for policies, BARE for bare policies (default),"\r
             + " REFERENCED for fully referenced policies") PolicyFetchMode mode\r
     ) {\r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, policyId, null, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -666,7 +666,7 @@ public class ApiRestController extends CommonRestController {
         @QueryParam("mode") @DefaultValue("bare") @ApiParam("Fetch mode for policies, BARE for bare policies (default),"\r
             + " REFERENCED for fully referenced policies") PolicyFetchMode mode\r
     ) {\r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, policyId, policyVersion, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -722,7 +722,7 @@ public class ApiRestController extends CommonRestController {
         @QueryParam("mode") @ApiParam("Fetch mode for policies, TERSE for bare policies (default), "\r
             + "REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchLatestPolicies(policyTypeId, policyTypeVersion, policyId, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -784,7 +784,7 @@ public class ApiRestController extends CommonRestController {
                 "/policytypes/" + policyTypeId + "/versions/" + policyTypeVersion + "/policies", toJson(body));\r
         }\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(policyTypeId, policyTypeVersion, body);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.POST);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -840,7 +840,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.deletePolicy(policyTypeId, policyTypeVersion, policyId, policyVersion);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.DELETE);\r
@@ -893,7 +893,7 @@ public class ApiRestController extends CommonRestController {
         @QueryParam("mode") @DefaultValue("bare") @ApiParam("Fetch mode for policies, BARE for bare policies (default),"\r
             + " REFERENCED for fully referenced policies") PolicyFetchMode mode\r
     ) {\r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchPolicies(null, null, null, null, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -954,7 +954,7 @@ public class ApiRestController extends CommonRestController {
         @QueryParam("mode") @DefaultValue("bare") @ApiParam("Fetch mode for policies, BARE for bare policies (default),"\r
             + " REFERENCED for fully referenced policies") PolicyFetchMode mode\r
     ) {\r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.fetchPolicies(null, null, policyId, policyVersion, mode);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.GET);\r
@@ -1009,7 +1009,7 @@ public class ApiRestController extends CommonRestController {
             NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, "/policies", toJson(body));\r
         }\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate = policyProvider.createPolicies(body);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.POST);\r
             return makeOkResponse(requestId, serviceTemplate);\r
@@ -1060,7 +1060,7 @@ public class ApiRestController extends CommonRestController {
         @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,\r
         @HeaderParam(REQUEST_ID_NAME) @ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
 \r
-        try (PolicyProvider policyProvider = new PolicyProvider()) {\r
+        try (var policyProvider = new PolicyProvider()) {\r
             ToscaServiceTemplate serviceTemplate =\r
                 policyProvider.deletePolicy(null, null, policyId, policyVersion);\r
             updateApiStatisticsCounter(Target.POLICY, Result.SUCCESS, HttpMethod.DELETE);\r
@@ -1093,7 +1093,8 @@ public class ApiRestController extends CommonRestController {
 \r
     private void updateApiStatisticsCounter(Target target, Result result, HttpMethod http) {\r
 \r
-        ApiStatisticsManager.updateTotalApiCallCount();\r
+        var mgr = ApiStatisticsManager.getInstance();\r
+        mgr.updateTotalApiCallCount();\r
 \r
         switch (target) {\r
             case POLICY:\r
@@ -1103,100 +1104,104 @@ public class ApiRestController extends CommonRestController {
                 updatePolicyTypeStats(result, http);\r
                 break;\r
             default:\r
-                ApiStatisticsManager.updateApiCallSuccessCount();\r
+                mgr.updateApiCallSuccessCount();\r
                 break;\r
         }\r
     }\r
 \r
     private void updatePolicyStats(Result result, HttpMethod http) {\r
+        var mgr = ApiStatisticsManager.getInstance();\r
+\r
         if (result == Result.SUCCESS) {\r
             switch (http) {\r
                 case GET:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyGetCount();\r
-                    ApiStatisticsManager.updatePolicyGetSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyGetCount();\r
+                    mgr.updatePolicyGetSuccessCount();\r
                     break;\r
                 case POST:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyPostCount();\r
-                    ApiStatisticsManager.updatePolicyPostSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyPostCount();\r
+                    mgr.updatePolicyPostSuccessCount();\r
                     break;\r
                 case DELETE:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyDeleteCount();\r
-                    ApiStatisticsManager.updatePolicyDeleteSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyDeleteCount();\r
+                    mgr.updatePolicyDeleteSuccessCount();\r
                     break;\r
                 default:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
                     break;\r
             }\r
         } else {\r
             switch (http) {\r
                 case GET:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyGetCount();\r
-                    ApiStatisticsManager.updatePolicyGetFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyGetCount();\r
+                    mgr.updatePolicyGetFailureCount();\r
                     break;\r
                 case POST:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyPostCount();\r
-                    ApiStatisticsManager.updatePolicyPostFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyPostCount();\r
+                    mgr.updatePolicyPostFailureCount();\r
                     break;\r
                 case DELETE:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyDeleteCount();\r
-                    ApiStatisticsManager.updatePolicyDeleteFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyDeleteCount();\r
+                    mgr.updatePolicyDeleteFailureCount();\r
                     break;\r
                 default:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
                     break;\r
             }\r
         }\r
     }\r
 \r
     private void updatePolicyTypeStats(Result result, HttpMethod http) {\r
+        var mgr = ApiStatisticsManager.getInstance();\r
+\r
         if (result == Result.SUCCESS) {\r
             switch (http) {\r
                 case GET:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypeGetCount();\r
-                    ApiStatisticsManager.updatePolicyTypeGetSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyTypeGetCount();\r
+                    mgr.updatePolicyTypeGetSuccessCount();\r
                     break;\r
                 case POST:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypePostCount();\r
-                    ApiStatisticsManager.updatePolicyTypePostSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyTypePostCount();\r
+                    mgr.updatePolicyTypePostSuccessCount();\r
                     break;\r
                 case DELETE:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypeDeleteCount();\r
-                    ApiStatisticsManager.updatePolicyTypeDeleteSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
+                    mgr.updateTotalPolicyTypeDeleteCount();\r
+                    mgr.updatePolicyTypeDeleteSuccessCount();\r
                     break;\r
                 default:\r
-                    ApiStatisticsManager.updateApiCallSuccessCount();\r
+                    mgr.updateApiCallSuccessCount();\r
                     break;\r
             }\r
         } else {\r
             switch (http) {\r
                 case GET:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypeGetCount();\r
-                    ApiStatisticsManager.updatePolicyTypeGetFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyTypeGetCount();\r
+                    mgr.updatePolicyTypeGetFailureCount();\r
                     break;\r
                 case POST:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypePostCount();\r
-                    ApiStatisticsManager.updatePolicyTypePostFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyTypePostCount();\r
+                    mgr.updatePolicyTypePostFailureCount();\r
                     break;\r
                 case DELETE:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
-                    ApiStatisticsManager.updateTotalPolicyTypeDeleteCount();\r
-                    ApiStatisticsManager.updatePolicyTypeDeleteFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
+                    mgr.updateTotalPolicyTypeDeleteCount();\r
+                    mgr.updatePolicyTypeDeleteFailureCount();\r
                     break;\r
                 default:\r
-                    ApiStatisticsManager.updateApiCallFailureCount();\r
+                    mgr.updateApiCallFailureCount();\r
                     break;\r
             }\r
         }\r
     }\r
-}
\ No newline at end of file
+}\r