1 package org.openecomp.mso.apihandlerinfra;
\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
11 import org.openecomp.mso.HealthCheckUtils;
\r
12 import org.openecomp.mso.logger.MsoLogger;
\r
13 import org.openecomp.mso.utils.UUIDChecker;
\r
15 import com.wordnik.swagger.annotations.Api;
\r
16 import com.wordnik.swagger.annotations.ApiOperation;
\r
18 @Path("/globalhealthcheck")
\r
19 @Api(value="/globalhealthcheck",description="APIH Infra Global Health Check")
\r
20 public class GlobalHealthcheckHandler {
\r
22 public final static String MSO_PROP_APIHANDLER_INFRA = "MSO_PROP_APIHANDLER_INFRA";
\r
24 private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH);
\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
40 if (healthCheck.verifyGlobalHealthCheck(enableBpmn, requestId)) {
\r
41 msoLogger.debug("globalHealthcheck - Successful");
\r
42 return HealthCheckUtils.HEALTH_CHECK_RESPONSE;
\r
44 msoLogger.debug("globalHealthcheck - At leaset one of the sub-modules is not available");
\r
45 return HealthCheckUtils.HEALTH_CHECK_NOK_RESPONSE;
\r