change HealthCheckReport URL from self to hostName
[policy/api.git] / main / src / main / java / org / onap / policy / api / main / rest / provider / HealthCheckProvider.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP Policy API
4  * ================================================================================
5  * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
6  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
7  * Modifications Copyright (C) 2019 Nordix Foundation.
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * SPDX-License-Identifier: Apache-2.0
22  * ============LICENSE_END=========================================================
23  */
24
25 package org.onap.policy.api.main.rest.provider;
26
27 import org.onap.policy.api.main.startstop.ApiActivator;
28 import org.onap.policy.common.endpoints.report.HealthCheckReport;
29 import org.onap.policy.common.utils.network.NetworkUtil;
30
31 /**
32  * Class to fetch health check of api service.
33  *
34  */
35 public class HealthCheckProvider {
36
37     private static final String NOT_ALIVE = "not alive";
38     private static final String ALIVE = "alive";
39     private static final String URL = NetworkUtil.getHostname();
40     private static final String NAME = "Policy API";
41
42     /**
43      * Performs the health check of api service.
44      *
45      * @return Report containing health check status
46      */
47     public HealthCheckReport performHealthCheck() {
48         final HealthCheckReport report = new HealthCheckReport();
49         report.setName(NAME);
50         report.setUrl(URL);
51         report.setHealthy(ApiActivator.isAlive());
52         report.setCode(ApiActivator.isAlive() ? 200 : 500);
53         report.setMessage(ApiActivator.isAlive() ? ALIVE : NOT_ALIVE);
54         return report;
55     }
56 }