aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java')
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java38
1 files changed, 21 insertions, 17 deletions
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java
index 2687799cc..920c3dd87 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/Heartbeat.java
@@ -23,6 +23,7 @@ package org.onap.policy.pap.xacml.rest;
import com.att.research.xacml.api.pap.PAPException;
import com.att.research.xacml.api.pap.PDPStatus;
import com.att.research.xacml.util.XACMLProperties;
+import com.google.common.annotations.VisibleForTesting;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
@@ -37,12 +38,11 @@ import org.onap.policy.common.logging.eelf.PolicyLogger;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.pap.xacml.restAuth.CheckPDP;
-import org.onap.policy.rest.XACMLRestProperties;
+import org.onap.policy.rest.XacmlRestProperties;
import org.onap.policy.xacml.api.pap.OnapPDP;
import org.onap.policy.xacml.api.pap.OnapPDPGroup;
import org.onap.policy.xacml.api.pap.PAPPolicyEngine;
-
/**
* Heartbeat thread - periodically check on PDPs' status.
* Heartbeat with all known PDPs.
@@ -87,9 +87,9 @@ public class Heartbeat implements Runnable {
public Heartbeat(PAPPolicyEngine papEngine2) {
papEngine = papEngine2;
this.heartbeatInterval =
- Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_INTERVAL, "10000"));
+ Integer.parseInt(XACMLProperties.getProperty(XacmlRestProperties.PROP_PAP_HEARTBEAT_INTERVAL, "10000"));
this.heartbeatTimeout =
- Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_TIMEOUT, "10000"));
+ Integer.parseInt(XACMLProperties.getProperty(XacmlRestProperties.PROP_PAP_HEARTBEAT_TIMEOUT, "10000"));
}
@Override
@@ -126,7 +126,8 @@ public class Heartbeat implements Runnable {
}
}
- private void getPdpsFromGroup() {
+ @VisibleForTesting
+ protected void getPdpsFromGroup() {
try {
for (OnapPDPGroup g : papEngine.getOnapPDPGroups()) {
for (OnapPDP p : g.getOnapPdps()) {
@@ -135,11 +136,12 @@ public class Heartbeat implements Runnable {
}
} catch (PAPException e) {
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, XACMLPAPSERVLET,
- "Heartbeat unable to read PDPs from PAPEngine");
+ "Heartbeat unable to read PDPs from PAPEngine");
}
}
- private void notifyEachPdp() {
+ @VisibleForTesting
+ protected void notifyEachPdp() {
HashMap<String, URL> idToUrlMap = new HashMap<>();
for (OnapPDP pdp : pdps) {
// Check for shutdown
@@ -162,14 +164,15 @@ public class Heartbeat implements Runnable {
}
} catch (MalformedURLException e) {
PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, XACMLPAPSERVLET,
- " PDP id '" + fullUrlString + "' is not a valid URL");
+ " PDP id '" + fullUrlString + "' is not a valid URL");
}
}
updatePdpStatus(pdp, openPdpConnection(pdpUrl, pdp));
}
}
- private String openPdpConnection(URL pdpUrl, OnapPDP pdp) {
+ @VisibleForTesting
+ protected String openPdpConnection(URL pdpUrl, OnapPDP pdp) {
// Do a GET with type HeartBeat
String newStatus = "";
HttpURLConnection connection = null;
@@ -188,7 +191,7 @@ public class Heartbeat implements Runnable {
// Do the connect
connection.connect();
if (connection.getResponseCode() == 204) {
- newStatus = connection.getHeaderField(XACMLRestProperties.PROP_PDP_HTTP_HEADER_HB);
+ newStatus = connection.getHeaderField(XacmlRestProperties.PROP_PDP_HTTP_HEADER_HB);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Heartbeat '" + pdp.getId() + "' status='" + newStatus + "'");
}
@@ -196,25 +199,25 @@ public class Heartbeat implements Runnable {
// anything else is an unexpected result
newStatus = PDPStatus.Status.UNKNOWN.toString();
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " Heartbeat connect response code "
- + connection.getResponseCode() + ": " + pdp.getId());
+ + connection.getResponseCode() + ": " + pdp.getId());
}
}
} catch (UnknownHostException e) {
newStatus = PDPStatus.Status.NO_SUCH_HOST.toString();
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, XACMLPAPSERVLET,
- HEARTBEATSTRING + pdp.getId() + "' NO_SUCH_HOST");
+ HEARTBEATSTRING + pdp.getId() + "' NO_SUCH_HOST");
} catch (SocketTimeoutException e) {
newStatus = PDPStatus.Status.CANNOT_CONNECT.toString();
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, XACMLPAPSERVLET,
- HEARTBEATSTRING + pdp.getId() + "' connection timeout");
+ HEARTBEATSTRING + pdp.getId() + "' connection timeout");
} catch (ConnectException e) {
newStatus = PDPStatus.Status.CANNOT_CONNECT.toString();
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, XACMLPAPSERVLET,
- HEARTBEATSTRING + pdp.getId() + "' cannot connect");
+ HEARTBEATSTRING + pdp.getId() + "' cannot connect");
} catch (Exception e) {
newStatus = PDPStatus.Status.UNKNOWN.toString();
PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, XACMLPAPSERVLET,
- HEARTBEATSTRING + pdp.getId() + "' connect exception");
+ HEARTBEATSTRING + pdp.getId() + "' connect exception");
} finally {
// cleanup the connection
if (connection != null)
@@ -223,7 +226,8 @@ public class Heartbeat implements Runnable {
return newStatus;
}
- private void updatePdpStatus(OnapPDP pdp, String newStatus) {
+ @VisibleForTesting
+ protected void updatePdpStatus(OnapPDP pdp, String newStatus) {
if (!pdp.getStatus().getStatus().toString().equals(newStatus)) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("previous status='" + pdp.getStatus().getStatus() + "' new Status='" + newStatus + "'");
@@ -232,7 +236,7 @@ public class Heartbeat implements Runnable {
getPAPInstance().setPDPSummaryStatus(pdp, newStatus);
} catch (PAPException e) {
PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, XACMLPAPSERVLET,
- "Unable to set state for PDP '" + pdp.getId());
+ "Unable to set state for PDP '" + pdp.getId());
}
}
}