1710 Rebase - Second Attempt
[so.git] / mso-api-handlers / mso-api-handler-infra / src / main / java / org / openecomp / mso / apihandlerinfra / GlobalHealthcheckHandler.java
1 package org.openecomp.mso.apihandlerinfra;\r
2 \r
3 import javax.ws.rs.DefaultValue;\r
4 import javax.ws.rs.GET;\r
5 import javax.ws.rs.HEAD;\r
6 import javax.ws.rs.Path;\r
7 import javax.ws.rs.Produces;\r
8 import javax.ws.rs.QueryParam;\r
9 import javax.ws.rs.core.Response;\r
10 \r
11 import org.openecomp.mso.HealthCheckUtils;\r
12 import org.openecomp.mso.logger.MsoLogger;\r
13 import org.openecomp.mso.utils.UUIDChecker;\r
14 \r
15 import com.wordnik.swagger.annotations.Api;\r
16 import com.wordnik.swagger.annotations.ApiOperation;\r
17 \r
18 @Path("/globalhealthcheck")\r
19 @Api(value="/globalhealthcheck",description="APIH Infra Global Health Check")\r
20 public class GlobalHealthcheckHandler {\r
21 \r
22         public final static String MSO_PROP_APIHANDLER_INFRA = "MSO_PROP_APIHANDLER_INFRA";\r
23 \r
24     private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH);\r
25 \r
26         @HEAD\r
27     @GET\r
28     @Produces("text/html")\r
29         @ApiOperation(value="Performing global health check",response=Response.class)\r
30     public Response globalHealthcheck (@DefaultValue("true") @QueryParam("enableBpmn") boolean enableBpmn) {\r
31         long startTime = System.currentTimeMillis ();\r
32         MsoLogger.setServiceName ("GlobalHealthcheck");\r
33         // Generate a Request Id\r
34         String requestId = UUIDChecker.generateUUID(msoLogger);\r
35         HealthCheckUtils healthCheck = new HealthCheckUtils ();\r
36         if (!healthCheck.siteStatusCheck (msoLogger, startTime)) {\r
37             return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;\r
38         }\r
39 \r
40         if (healthCheck.verifyGlobalHealthCheck(enableBpmn, requestId)) {\r
41             msoLogger.debug("globalHealthcheck - Successful");\r
42             return HealthCheckUtils.HEALTH_CHECK_RESPONSE;\r
43         } else {\r
44             msoLogger.debug("globalHealthcheck - At leaset one of the sub-modules is not available");\r
45             return  HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;\r
46         }\r
47     } \r
48 }\r