diff options
Diffstat (limited to 'feature-healthcheck/src/main/java')
3 files changed, 86 insertions, 79 deletions
diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java index f4cb1cc6..d35b7371 100644 --- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java +++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java @@ -35,41 +35,41 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Healthcheck + * Healthcheck. */ public interface HealthCheck extends Startable { /** - * Healthcheck Monitor + * Healthcheck Monitor. */ public static final HealthCheck monitor = new HealthCheckMonitor(); /** - * Healthcheck Report + * Healthcheck Report. */ public static class Report { /** - * Named Entity in the report + * Named Entity in the report. */ private String name; /** - * URL queried + * URL queried. */ private String url; /** - * healthy? + * healthy. */ private boolean healthy; /** - * return code + * return code. */ private int code; /** - * Message from remote entity + * Message from remote entity. */ private String message; @@ -132,7 +132,7 @@ public interface HealthCheck extends Startable { } /** - * Report aggregation + * Report aggregation. */ public static class Reports { private boolean healthy; @@ -167,7 +167,7 @@ public interface HealthCheck extends Startable { } /** - * perform a healthcheck + * Perform a healthcheck. * * @return a report */ @@ -176,27 +176,27 @@ public interface HealthCheck extends Startable { /** - * Healthcheck Monitor + * Healthcheck Monitor. */ class HealthCheckMonitor implements HealthCheck { /** - * Logger + * Logger. */ private static Logger logger = LoggerFactory.getLogger(HealthCheckMonitor.class); /** - * attached http servers + * attached http servers. */ protected volatile List<HttpServletServer> servers = new ArrayList<>(); /** - * attached http clients + * attached http clients. */ protected volatile List<HttpClient> clients = new ArrayList<>(); /** - * healthcheck configuration + * healthcheck configuration. */ protected volatile Properties healthCheckProperties = null; @@ -306,6 +306,8 @@ class HealthCheckMonitor implements HealthCheck { } /** + * Get servers. + * * @return list of attached Http Servers */ public List<HttpServletServer> getServers() { @@ -313,6 +315,8 @@ class HealthCheckMonitor implements HealthCheck { } /** + * Get clients. + * * @return list of attached Http Clients */ public List<HttpClient> getClients() { diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheckFeature.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheckFeature.java index 34c1fe3a..3a79a55c 100644 --- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheckFeature.java +++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheckFeature.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * feature-healthcheck * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,53 +26,54 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * This feature provides healthcheck verification of remotely associated RESTful components + * This feature provides healthcheck verification of remotely associated RESTful components. */ -public class HealthCheckFeature implements PolicyEngineFeatureAPI { - - /** - * Logger - */ - private static Logger logger = LoggerFactory.getLogger(HealthCheckFeature.class); - - /** - * Properties Configuration Name - */ - public static final String CONFIGURATION_PROPERTIES_NAME = "feature-healthcheck"; +public class HealthCheckFeature implements PolicyEngineFeatureAPI { - @Override - public int getSequenceNumber() { - return 1000; - } + /** + * Logger. + */ + private static Logger logger = LoggerFactory.getLogger(HealthCheckFeature.class); - @Override - public boolean afterStart(PolicyEngine engine) { - try { - HealthCheck.monitor.start(); - } catch (IllegalStateException e) { - logger.error("Healthcheck Monitor cannot be started", e); - } - - return false; - } + /** + * Properties Configuration Name. + */ + public static final String CONFIGURATION_PROPERTIES_NAME = "feature-healthcheck"; - @Override - public boolean afterShutdown(PolicyEngine engine) { - try { - HealthCheck.monitor.stop(); - } catch (IllegalStateException e) { - logger.error("Healthcheck Monitor cannot be stopped", e); - } - - return false; - } - - /** - * gets the monitor - * @return the healthcheck monitor - */ - public HealthCheck getMonitor() { - return HealthCheck.monitor; - } + @Override + public int getSequenceNumber() { + return 1000; + } + + @Override + public boolean afterStart(PolicyEngine engine) { + try { + HealthCheck.monitor.start(); + } catch (IllegalStateException e) { + logger.error("Healthcheck Monitor cannot be started", e); + } + + return false; + } + + @Override + public boolean afterShutdown(PolicyEngine engine) { + try { + HealthCheck.monitor.stop(); + } catch (IllegalStateException e) { + logger.error("Healthcheck Monitor cannot be stopped", e); + } + + return false; + } + + /** + * Gets the monitor. + * + * @return the healthcheck monitor + */ + public HealthCheck getMonitor() { + return HealthCheck.monitor; + } } diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java index 3f51ba46..734a75e0 100644 --- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java +++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/RestHealthCheck.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * feature-healthcheck * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,15 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.policy.drools.healthcheck; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.Info; +import io.swagger.annotations.SwaggerDefinition; +import io.swagger.annotations.Tag; + import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -27,12 +34,6 @@ import javax.ws.rs.core.Response; import org.onap.policy.drools.healthcheck.HealthCheck.Reports; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.Info; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Tag; - @Path("/") @Api @Produces(MediaType.APPLICATION_JSON) @@ -50,28 +51,29 @@ import io.swagger.annotations.Tag; } ) public class RestHealthCheck { - + @GET @Path("healthcheck") @Produces(MediaType.APPLICATION_JSON) @ApiOperation( - value="Perform a system healthcheck", - notes="Provides healthy status of the PDP-D plus the components defined in its configuration by using a REST interface", - response=Reports.class - ) + value = "Perform a system healthcheck", + notes = "Provides healthy status of the PDP-D plus the components defined in its " + + "configuration by using a REST interface", + response = Reports.class + ) public Response healthcheck() { - return Response.status(Response.Status.OK).entity(HealthCheck.monitor.healthCheck()).build(); + return Response.status(Response.Status.OK).entity(HealthCheck.monitor.healthCheck()).build(); } - + @GET @Path("healthcheck/configuration") @Produces(MediaType.APPLICATION_JSON) @ApiOperation( - value="Configuration", - notes="Provides the Healthcheck server configuration and monitored REST clients", - response=HealthCheck.class - ) + value = "Configuration", + notes = "Provides the Healthcheck server configuration and monitored REST clients", + response = HealthCheck.class + ) public HealthCheck configuration() { - return HealthCheck.monitor; + return HealthCheck.monitor; } } |