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