diff options
11 files changed, 322 insertions, 221 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 cc6f02e0..bdb15a70 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 @@ -21,6 +21,7 @@ package org.onap.policy.drools.healthcheck; import java.util.ArrayList; +import java.util.List; import java.util.Properties; import javax.ws.rs.core.Response; @@ -45,63 +46,119 @@ public interface HealthCheck extends Startable { /** * Named Entity in the report */ - public String name; + private String name; /** * URL queried */ - public String url; + private String url; /** * healthy? */ - public boolean healthy; + private boolean healthy; /** * return code */ - public int code; + private int code; /** * Message from remote entity */ - public String message; + private String message; @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Report [name="); - builder.append(name); + builder.append(getName()); builder.append(", url="); - builder.append(url); + builder.append(getUrl()); builder.append(", healthy="); - builder.append(healthy); + builder.append(isHealthy()); builder.append(", code="); - builder.append(code); + builder.append(getCode()); builder.append(", message="); - builder.append(message); + builder.append(getMessage()); builder.append("]"); return builder.toString(); } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public boolean isHealthy() { + return healthy; + } + + public void setHealthy(boolean healthy) { + this.healthy = healthy; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } } /** * Report aggregation */ public static class Reports { - public boolean healthy; - public ArrayList<Report> details = new ArrayList<>(); + private boolean healthy; + private List<Report> details = new ArrayList<>(); @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Reports [healthy="); - builder.append(healthy); + builder.append(isHealthy()); builder.append(", details="); - builder.append(details); + builder.append(getDetails()); builder.append("]"); return builder.toString(); } + + public boolean isHealthy() { + return healthy; + } + + public void setHealthy(boolean healthy) { + this.healthy = healthy; + } + + public List<Report> getDetails() { + return details; + } + + public void setDetails(ArrayList<Report> details) { + this.details = details; + } } /** @@ -147,41 +204,37 @@ class HealthCheckMonitor implements HealthCheck { @Override public Reports healthCheck() { Reports reports = new Reports(); - reports.healthy = PolicyEngine.manager.isAlive(); + reports.setHealthy(PolicyEngine.manager.isAlive()); HealthCheck.Report engineReport = new Report(); - engineReport.healthy = PolicyEngine.manager.isAlive(); - engineReport.name = "PDP-D"; - engineReport.url = "self"; - engineReport.code = PolicyEngine.manager.isAlive() ? 200 : 500; - engineReport.message = PolicyEngine.manager.isAlive() ? "alive" : "not alive"; - reports.details.add(engineReport); + engineReport.setHealthy(PolicyEngine.manager.isAlive()); + engineReport.setName("PDP-D"); + engineReport.setUrl("self"); + engineReport.setCode(PolicyEngine.manager.isAlive() ? 200 : 500); + engineReport.setMessage(PolicyEngine.manager.isAlive() ? "alive" : "not alive"); + reports.getDetails().add(engineReport); for (HttpClient client : clients) { HealthCheck.Report report = new Report(); - report.name = client.getName(); - report.url = client.getBaseUrl(); - report.healthy = true; + report.setName(client.getName()); + report.setUrl(client.getBaseUrl()); + report.setHealthy(true); try { Response response = client.get(); - report.code = response.getStatus(); - if (report.code != 200) { - report.healthy = false; - reports.healthy = false; - } - - try { - report.message = HttpClient.getBody(response, String.class); - } catch (Exception e) { - logger.info("{}: cannot get body from http-client {}", this, client, e); + report.setCode(response.getStatus()); + if (report.getCode() != 200) { + report.setHealthy(false); + reports.setHealthy(false); } + + report.setMessage(getHttpBody(response, client)); } catch (Exception e) { logger.warn("{}: cannot contact http-client {}", this, client, e); - report.healthy = false; - reports.healthy = false; + report.setHealthy(false); + reports.setHealthy(false); } - reports.details.add(report); + reports.getDetails().add(report); } return reports; } @@ -198,11 +251,7 @@ class HealthCheckMonitor implements HealthCheck { this.clients = HttpClient.factory.build(healthCheckProperties); for (HttpServletServer server : servers) { - try { - server.start(); - } catch (Exception e) { - logger.warn("{}: cannot start http-server {}", this, server, e); - } + startServer(server); } } catch (Exception e) { logger.warn("{}: cannot start {}", this, e); @@ -256,16 +305,37 @@ class HealthCheckMonitor implements HealthCheck { /** * @return list of attached Http Servers */ - public ArrayList<HttpServletServer> getServers() { + public List<HttpServletServer> getServers() { return this.servers; } /** * @return list of attached Http Clients */ - public ArrayList<HttpClient> getClients() { + public List<HttpClient> getClients() { return this.clients; } + + public String getHttpBody(Response response, HttpClient client) { + + String body = null; + try { + body = HttpClient.getBody(response, String.class); + } catch (Exception e) { + logger.info("{}: cannot get body from http-client {}", this, + client, e); + } + + return body; + } + + public void startServer(HttpServletServer server) { + try { + server.start(); + } catch (Exception e) { + logger.warn("{}: cannot start http-server {}", this, server, e); + } + } @Override public String toString() { diff --git a/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/HealthCheckFeatureTest.java b/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/HealthCheckFeatureTest.java index 1c0b45fb..a56483c4 100644 --- a/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/HealthCheckFeatureTest.java +++ b/feature-healthcheck/src/test/java/org/onap/policy/drools/healthcheck/HealthCheckFeatureTest.java @@ -131,11 +131,11 @@ public class HealthCheckFeatureTest { Reports reports = HealthCheck.monitor.healthCheck(); - for (Report rpt : reports.details) { - if (rpt.name == "HEALTHCHECK") { - assertTrue(rpt.healthy); - assertEquals(200,rpt.code); - assertEquals("All Alive", rpt.message); + for (Report rpt : reports.getDetails()) { + if (rpt.getName() == "HEALTHCHECK") { + assertTrue(rpt.isHealthy()); + assertEquals(200,rpt.getCode()); + assertEquals("All Alive", rpt.getMessage()); break; } } diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DbAudit.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DbAudit.java index b2830e8c..67991c7b 100644 --- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DbAudit.java +++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DbAudit.java @@ -24,6 +24,7 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.SQLException; import java.util.Properties; import java.util.UUID; @@ -38,19 +39,27 @@ public class DbAudit extends DroolsPDPIntegrityMonitor.AuditBase // get an instance of logger private static Logger logger = LoggerFactory.getLogger(DbAudit.class); // single global instance of this audit object - final static private DbAudit instance = new DbAudit(); + private static final DbAudit instance = new DbAudit(); // This indicates if 'CREATE TABLE IF NOT EXISTS Audit ...' should be // invoked -- doing this avoids the need to create the table in advance. - static private boolean createTableNeeded = true; + private static boolean createTableNeeded = true; - synchronized private static void setCreateTableNeeded(boolean b) { - DbAudit.createTableNeeded = b; + private static boolean isJunit = false; + + /** + * Constructor - set the name to 'Database' + */ + private DbAudit() + { + super("Database"); } - static private boolean isJunit = false; + private static synchronized void setCreateTableNeeded(boolean b) { + DbAudit.createTableNeeded = b; + } - synchronized public static void setIsJunit(boolean b) { + public static synchronized void setIsJunit(boolean b) { DbAudit.isJunit = b; } @@ -64,15 +73,7 @@ public class DbAudit extends DroolsPDPIntegrityMonitor.AuditBase */ public static DroolsPDPIntegrityMonitor.AuditBase getInstance() { - return(instance); - } - - /** - * Constructor - set the name to 'Database' - */ - private DbAudit() - { - super("Database"); + return instance; } /** @@ -132,64 +133,19 @@ public class DbAudit extends DroolsPDPIntegrityMonitor.AuditBase if (createTableNeeded) { phase = "create table"; - if(logger.isDebugEnabled()){ - logger.info("DbAudit: Creating 'Audit' table, if needed"); - } - try (PreparedStatement statement = connection.prepareStatement - ("CREATE TABLE IF NOT EXISTS Audit (\n" - + " name varchar(64) DEFAULT NULL,\n" - + " UNIQUE KEY name (name)\n" - + ") DEFAULT CHARSET=latin1;")) { - statement.execute(); - DbAudit.setCreateTableNeeded(false); - } catch (Exception e) { - throw e; - } + createTable(connection); } // insert an entry into the table phase = "insert entry"; String key = UUID.randomUUID().toString(); - try (PreparedStatement statement = connection.prepareStatement - ("INSERT INTO Audit (name) VALUES (?)")) { - statement.setString(1, key); - statement.executeUpdate(); - } catch (Exception e) { - throw e; - } + insertEntry(connection, key); - // fetch the entry from the table phase = "fetch entry"; - try (PreparedStatement statement = connection.prepareStatement - ("SELECT name FROM Audit WHERE name = ?")) { - statement.setString(1, key); - try (ResultSet rs = statement.executeQuery()) { - if (rs.first()) - { - // found entry - if(logger.isDebugEnabled()){ - logger.debug("DbAudit: Found key {}", rs.getString(1)); - } - } - else - { - logger.error - ("DbAudit: can't find newly-created entry with key {}", key); - setResponse("Can't find newly-created entry"); - } - } catch (Exception e) { - throw e; - } - } - // delete entries from table + findEntry(connection, key); + phase = "delete entry"; - try (PreparedStatement statement = connection.prepareStatement - ("DELETE FROM Audit WHERE name = ?")) { - statement.setString(1, key); - statement.executeUpdate(); - } catch (Exception e) { - throw e; - } + deleteEntry(connection, key); } catch (Exception e) { @@ -199,4 +155,90 @@ public class DbAudit extends DroolsPDPIntegrityMonitor.AuditBase } } + /** + * Creates the table. + * @param connection + * @throws SQLException + */ + private void createTable(Connection connection) throws SQLException { + if(logger.isDebugEnabled()){ + logger.info("DbAudit: Creating 'Audit' table, if needed"); + } + try (PreparedStatement statement = connection.prepareStatement + ("CREATE TABLE IF NOT EXISTS Audit (\n" + + " name varchar(64) DEFAULT NULL,\n" + + " UNIQUE KEY name (name)\n" + + ") DEFAULT CHARSET=latin1;")) { + statement.execute(); + DbAudit.setCreateTableNeeded(false); + } + } + + /** + * Inserts an entry. + * @param connection + * @param key + * @throws SQLException + */ + private void insertEntry(Connection connection, String key) throws SQLException { + try (PreparedStatement statement = connection.prepareStatement + ("INSERT INTO Audit (name) VALUES (?)")) { + statement.setString(1, key); + statement.executeUpdate(); + } + } + + /** + * Finds an entry. + * @param connection + * @param key + * @throws SQLException + */ + private void findEntry(Connection connection, String key) throws SQLException { + try (PreparedStatement statement = connection.prepareStatement + ("SELECT name FROM Audit WHERE name = ?")) { + statement.setString(1, key); + getEntry(statement, key); + } + } + + /** + * Executes the query to determine if the entry exists. Sets the response + * if it fails. + * @param statement + * @param key + * @throws SQLException + */ + private void getEntry(PreparedStatement statement, String key) throws SQLException { + try (ResultSet rs = statement.executeQuery()) { + if (rs.first()) + { + // found entry + if(logger.isDebugEnabled()){ + logger.debug("DbAudit: Found key {}", rs.getString(1)); + } + } + else + { + logger.error + ("DbAudit: can't find newly-created entry with key {}", key); + setResponse("Can't find newly-created entry"); + } + } + } + + /** + * Deletes an entry. + * @param connection + * @param key + * @throws SQLException + */ + private void deleteEntry(Connection connection, String key) throws SQLException { + try (PreparedStatement statement = connection.prepareStatement + ("DELETE FROM Audit WHERE name = ?")) { + statement.setString(1, key); + statement.executeUpdate(); + } + } + } diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java index 915a3225..f599e3dc 100644 --- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java +++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java @@ -40,27 +40,43 @@ import org.slf4j.LoggerFactory; public class DroolsPDPIntegrityMonitor extends IntegrityMonitor { - // get an instance of logger + private static final String INVALID_PROPERTY_VALUE = "init: property {} does not have the expected value of {}"; + +// get an instance of logger private static final Logger logger = LoggerFactory.getLogger(DroolsPDPIntegrityMonitor.class); // static global instance - static private DroolsPDPIntegrityMonitor im = null; + private static DroolsPDPIntegrityMonitor im = null; // list of audits to run - static private AuditBase[] audits = + private static AuditBase[] audits = new AuditBase[]{DbAudit.getInstance(), RepositoryAudit.getInstance()}; - static private Properties subsystemTestProperties = null; + private static Properties subsystemTestProperties = null; + + private static final String PROPERTIES_NAME = "feature-state-management.properties"; - static private final String PROPERTIES_NAME = "feature-state-management.properties"; + /** + * Constructor - pass arguments to superclass, but remember properties + * @param resourceName unique name of this Integrity Monitor + * @param url the JMX URL of the MBean server + * @param properties properties used locally, as well as by + * 'IntegrityMonitor' + * @throws Exception (passed from superclass) + */ + private DroolsPDPIntegrityMonitor(String resourceName, + Properties consolidatedProperties + ) throws Exception { + super(resourceName, consolidatedProperties); + } - static private void missingProperty(String prop) throws StateManagementPropertiesException{ + private static void missingProperty(String prop) throws StateManagementPropertiesException{ String msg = "init: missing IntegrityMonitor property: ".concat(prop); logger.error(msg); throw new StateManagementPropertiesException(msg); } - static private void logPropertyValue(String prop, String val){ + private static void logPropertyValue(String prop, String val){ if(logger.isInfoEnabled()){ String msg = "\n\n init: property: " + prop + " = " + val + "\n"; logger.info(msg); @@ -70,7 +86,7 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor * Static initialization -- create Drools Integrity Monitor, and * an HTTP server to handle REST 'test' requests */ - static public DroolsPDPIntegrityMonitor init(String configDir) throws Exception + public static DroolsPDPIntegrityMonitor init(String configDir) throws Exception { logger.info("init: Entering and invoking PropertyUtil.getProperties() on '{}'", configDir); @@ -110,22 +126,22 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor missingProperty(StateManagementProperties.TEST_PORT); } if (!testServices.equals(StateManagementProperties.TEST_SERVICES_DEFAULT)){ - logger.error("init: property {} does not have the expected value of {}", + logger.error(INVALID_PROPERTY_VALUE, StateManagementProperties.TEST_SERVICES, StateManagementProperties.TEST_SERVICES_DEFAULT); } if (!testRestClasses.equals(StateManagementProperties.TEST_REST_CLASSES_DEFAULT)){ - logger.error("init: property {} does not have the expected value of {}", + logger.error(INVALID_PROPERTY_VALUE, StateManagementProperties.TEST_REST_CLASSES, StateManagementProperties.TEST_REST_CLASSES_DEFAULT); } if (!testManaged.equals(StateManagementProperties.TEST_MANAGED_DEFAULT)){ - logger.warn("init: property {} does not have the expected value of {}", + logger.warn(INVALID_PROPERTY_VALUE, StateManagementProperties.TEST_MANAGED, StateManagementProperties.TEST_MANAGED_DEFAULT); } if (!testSwagger.equals(StateManagementProperties.TEST_SWAGGER_DEFAULT)){ - logger.warn("init: property {} does not have the expected value of {}", + logger.warn(INVALID_PROPERTY_VALUE, StateManagementProperties.TEST_SWAGGER, StateManagementProperties.TEST_SWAGGER_DEFAULT); } @@ -211,20 +227,6 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor } /** - * Constructor - pass arguments to superclass, but remember properties - * @param resourceName unique name of this Integrity Monitor - * @param url the JMX URL of the MBean server - * @param properties properties used locally, as well as by - * 'IntegrityMonitor' - * @throws Exception (passed from superclass) - */ - private DroolsPDPIntegrityMonitor(String resourceName, - Properties consolidatedProperties - ) throws Exception { - super(resourceName, consolidatedProperties); - } - - /** * Run tests (audits) unique to Drools PDP VM (Database + Repository) */ @Override @@ -284,7 +286,7 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor /** * This is the base class for audits invoked in 'subsystemTest' */ - static public abstract class AuditBase + public abstract static class AuditBase { // name of the audit protected String name; @@ -345,18 +347,14 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor } @Override - public boolean start() throws IllegalStateException { + public boolean start() { try { ArrayList<HttpServletServer> servers = HttpServletServer.factory.build(integrityMonitorRestServerProperties); if (!servers.isEmpty()) { server = servers.get(0); - try { - server.waitedStart(5); - } catch (Exception e) { - logger.error("Exception waiting for servers to start: ", e); - } + waitServerStart(); } } catch (Exception e) { logger.error("Exception building servers", e); @@ -366,8 +364,16 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor return true; } + private void waitServerStart() { + try { + server.waitedStart(5); + } catch (Exception e) { + logger.error("Exception waiting for servers to start: ", e); + } + } + @Override - public boolean stop() throws IllegalStateException { + public boolean stop() { try { server.stop(); } catch (Exception e) { @@ -378,7 +384,7 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor } @Override - public void shutdown() throws IllegalStateException { + public void shutdown() { this.stop(); } diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java index b36c1657..1e2a3a05 100644 --- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java +++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java @@ -46,22 +46,22 @@ public class RepositoryAudit extends DroolsPDPIntegrityMonitor.AuditBase // get an instance of logger private static Logger logger = LoggerFactory.getLogger(RepositoryAudit.class); // single global instance of this audit object - static private RepositoryAudit instance = new RepositoryAudit(); + private static RepositoryAudit instance = new RepositoryAudit(); /** - * @return the single 'RepositoryAudit' instance + * Constructor - set the name to 'Repository' */ - public static DroolsPDPIntegrityMonitor.AuditBase getInstance() + private RepositoryAudit() { - return instance; + super("Repository"); } /** - * Constructor - set the name to 'Repository' + * @return the single 'RepositoryAudit' instance */ - private RepositoryAudit() + public static DroolsPDPIntegrityMonitor.AuditBase getInstance() { - super("Repository"); + return instance; } /** @@ -433,34 +433,7 @@ public class RepositoryAudit extends DroolsPDPIntegrityMonitor.AuditBase /* * 7) Remove the temporary directory */ - Files.walkFileTree - (dir, - new SimpleFileVisitor<Path>() - { - @Override - public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) - { - // logger.info("RepositoryAudit: Delete " + file); - file.toFile().delete(); - return FileVisitResult.CONTINUE; - } - - @Override - public FileVisitResult postVisitDirectory(Path file, IOException e) - throws IOException - { - if (e == null) - { - // logger.info("RepositoryAudit: Delete " + file); - file.toFile().delete(); - return FileVisitResult.CONTINUE; - } - else - { - throw e; - } - } - }); + Files.walkFileTree(dir, new RecursivelyDeleteDirectory()); } /** @@ -502,7 +475,37 @@ public class RepositoryAudit extends DroolsPDPIntegrityMonitor.AuditBase return -1; } - /* ============================================================ */ + /** + * This class is used to recursively delete a directory and all of its + * contents. + */ + private final class RecursivelyDeleteDirectory extends SimpleFileVisitor<Path> { + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) + { + // logger.info("RepositoryAudit: Delete " + file); + file.toFile().delete(); + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult postVisitDirectory(Path file, IOException e) + throws IOException + { + if (e == null) + { + // logger.info("RepositoryAudit: Delete " + file); + file.toFile().delete(); + return FileVisitResult.CONTINUE; + } + else + { + throw e; + } + } + } + +/* ============================================================ */ /** * An instance of this class exists for each artifact that we are trying @@ -510,7 +513,10 @@ public class RepositoryAudit extends DroolsPDPIntegrityMonitor.AuditBase */ static class Artifact { - String groupId, artifactId, version, type; + String groupId; + String artifactId; + String version; + String type; /** * Constructor - populate the 'Artifact' instance diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeature.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeature.java index 0143c58b..66d806be 100644 --- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeature.java +++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeature.java @@ -24,7 +24,6 @@ import java.io.IOException; import java.util.Observer; import java.util.Properties; -import org.onap.policy.common.im.StandbyStatusException; import org.onap.policy.common.im.StateManagement; import org.onap.policy.drools.core.PolicySessionFeatureAPI; import org.onap.policy.drools.features.PolicyEngineFeatureAPI; @@ -64,7 +63,7 @@ public class StateManagementFeature implements StateManagementFeatureAPI, } @Override - public void globalInit(String args[], String configDir) + public void globalInit(String[] args, String configDir) { // Initialization code associated with 'PolicyContainer' if(logger.isDebugEnabled()){ @@ -185,7 +184,7 @@ public class StateManagementFeature implements StateManagementFeatureAPI, * {@inheritDoc} */ @Override - public void promote() throws StandbyStatusException, Exception { + public void promote() throws Exception { stateManagement.promote(); } @@ -241,12 +240,7 @@ public class StateManagementFeature implements StateManagementFeatureAPI, */ @Override public boolean isLocked(){ - String admin = stateManagement.getAdminState(); - if(admin.equals(StateManagement.LOCKED)){ - return true; - }else{ - return false; - } + return StateManagement.LOCKED.equals(stateManagement.getAdminState()); } @Override diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementPropertiesException.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementPropertiesException.java index 51145cd6..59802ebd 100644 --- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementPropertiesException.java +++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementPropertiesException.java @@ -22,8 +22,11 @@ package org.onap.policy.drools.statemanagement; public class StateManagementPropertiesException extends Exception{ private static final long serialVersionUID = 1L; + public StateManagementPropertiesException() { + super(); } + public StateManagementPropertiesException(String message) { super(message); } diff --git a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java index 6f2a0e25..85e0ed85 100644 --- a/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java +++ b/feature-state-management/src/test/java/org/onap/policy/drools/statemanagement/test/StateManagementTest.java @@ -53,12 +53,6 @@ public class StateManagementTest { // get an instance of logger private static Logger logger = LoggerFactory.getLogger(StateManagementTest.class); - /* - * Sleep after each test to allow interrupt (shutdown) recovery. - */ - - private long interruptRecoveryTime = 1500L; - StateManagementFeatureAPI stateManagementFeature; /* @@ -134,8 +128,6 @@ public class StateManagementTest { logger.debug(msg); } - Thread.sleep(interruptRecoveryTime); - String admin = stateManagementFeature.getAdminState(); String oper = stateManagementFeature.getOpState(); String avail = stateManagementFeature.getAvailStatus(); @@ -155,9 +147,7 @@ public class StateManagementTest { logger.error(e.getMessage()); assertTrue(e.getMessage(), false); } - - Thread.sleep(interruptRecoveryTime); - + admin = stateManagementFeature.getAdminState(); oper = stateManagementFeature.getOpState(); avail = stateManagementFeature.getAvailStatus(); @@ -179,8 +169,6 @@ public class StateManagementTest { logger.debug(e.getMessage()); } - Thread.sleep(interruptRecoveryTime); - admin = stateManagementFeature.getAdminState(); oper = stateManagementFeature.getOpState(); avail = stateManagementFeature.getAvailStatus(); diff --git a/policy-endpoints/src/main/java/org/onap/policy/drools/event/comm/bus/internal/BusPublisher.java b/policy-endpoints/src/main/java/org/onap/policy/drools/event/comm/bus/internal/BusPublisher.java index df2088c1..f664cfa7 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/drools/event/comm/bus/internal/BusPublisher.java +++ b/policy-endpoints/src/main/java/org/onap/policy/drools/event/comm/bus/internal/BusPublisher.java @@ -139,10 +139,7 @@ public interface BusPublisher { @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("CambriaPublisherWrapper ["). - append("publisher.getPendingMessageCount()="). - append(publisher.getPendingMessageCount()). - append("]"); + builder.append("CambriaPublisherWrapper []"); return builder.toString(); } @@ -289,7 +286,6 @@ public interface BusPublisher { append(", publisher.getHost()=").append(publisher.getHost()). append(", publisher.getProtocolFlag()=").append(publisher.getProtocolFlag()). append(", publisher.getUsername()=").append(publisher.getUsername()). - append(", publisher.getPendingMessageCount()=").append(publisher.getPendingMessageCount()). append("]"); return builder.toString(); } diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java index d60e817a..583deacc 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java +++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java @@ -357,12 +357,12 @@ class PolicyEngineManager implements PolicyEngine { /** * Is the Policy Engine running? */ - protected boolean alive = false; + protected volatile boolean alive = false; /** * Is the engine locked? */ - protected boolean locked = false; + protected volatile boolean locked = false; /** * Properties used to initialize the engine @@ -1018,7 +1018,7 @@ class PolicyEngineManager implements PolicyEngine { } @Override - public synchronized boolean isAlive() { + public boolean isAlive() { return this.alive; } @@ -1117,7 +1117,7 @@ class PolicyEngineManager implements PolicyEngine { } @Override - public synchronized boolean isLocked() { + public boolean isLocked() { return this.locked; } @@ -292,10 +292,6 @@ <artifactId>jacoco-maven-plugin</artifactId> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>sonar-maven-plugin</artifactId> - </plugin> </plugins> <pluginManagement> |