aboutsummaryrefslogtreecommitdiffstats
path: root/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java')
-rw-r--r--feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java225
1 files changed, 116 insertions, 109 deletions
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 3b7410fa..915a3225 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
@@ -20,7 +20,8 @@
package org.onap.policy.drools.statemanagement;
-import java.net.InetSocketAddress;
+import org.onap.policy.drools.statemanagement.StateManagementProperties;
+
import java.util.ArrayList;
import java.util.Properties;
@@ -52,6 +53,19 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor
static private Properties subsystemTestProperties = null;
static private final String PROPERTIES_NAME = "feature-state-management.properties";
+
+ static private 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){
+ if(logger.isInfoEnabled()){
+ String msg = "\n\n init: property: " + prop + " = " + val + "\n";
+ logger.info(msg);
+ }
+ }
/**
* Static initialization -- create Drools Integrity Monitor, and
* an HTTP server to handle REST 'test' requests
@@ -64,139 +78,132 @@ public class DroolsPDPIntegrityMonitor extends IntegrityMonitor
// read in properties
Properties stateManagementProperties =
PropertyUtil.getProperties(configDir + "/" + PROPERTIES_NAME);
-
- subsystemTestProperties = stateManagementProperties;
-
- // fetch and verify definitions of some properties
+ // fetch and verify definitions of some properties
// (the 'IntegrityMonitor' constructor does some additional verification)
-
- String resourceName = stateManagementProperties.getProperty("resource.name");
- String hostPort = stateManagementProperties.getProperty("hostPort");
- String fpMonitorInterval = stateManagementProperties.getProperty("fp_monitor_interval");
- String failedCounterThreshold = stateManagementProperties.getProperty("failed_counter_threshold");
- String testTransInterval = stateManagementProperties.getProperty("test_trans_interval");
- String writeFpcInterval = stateManagementProperties.getProperty("write_fpc_interval");
- String siteName = stateManagementProperties.getProperty("site_name");
- String nodeType = stateManagementProperties.getProperty("node_type");
- String dependencyGroups = stateManagementProperties.getProperty("dependency_groups");
- String javaxPersistenceJdbcDriver = stateManagementProperties.getProperty("javax.persistence.jdbc.driver");
- String javaxPersistenceJdbcUrl = stateManagementProperties.getProperty("javax.persistence.jdbc.url");
- String javaxPersistenceJdbcUser = stateManagementProperties.getProperty("javax.persistence.jdbc.user");
- String javaxPersistenceJdbcPassword = stateManagementProperties.getProperty("javax.persistence.jdbc.password");
-
- if (resourceName == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'resource.name'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'resource.name'");
- }
- if (hostPort == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'hostPort'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'hostPort'");
+ String testHost = stateManagementProperties.getProperty(StateManagementProperties.TEST_HOST);
+ String testPort = stateManagementProperties.getProperty(StateManagementProperties.TEST_PORT);
+ String testServices = stateManagementProperties.getProperty(StateManagementProperties.TEST_SERVICES,
+ StateManagementProperties.TEST_SERVICES_DEFAULT);
+ String testRestClasses = stateManagementProperties.getProperty(StateManagementProperties.TEST_REST_CLASSES,
+ StateManagementProperties.TEST_REST_CLASSES_DEFAULT);
+ String testManaged = stateManagementProperties.getProperty(StateManagementProperties.TEST_MANAGED,
+ StateManagementProperties.TEST_MANAGED_DEFAULT);
+ String testSwagger = stateManagementProperties.getProperty(StateManagementProperties.TEST_SWAGGER,
+ StateManagementProperties.TEST_SWAGGER_DEFAULT);
+ String resourceName = stateManagementProperties.getProperty(StateManagementProperties.RESOURCE_NAME);
+ String fpMonitorInterval = stateManagementProperties.getProperty(StateManagementProperties.FP_MONITOR_INTERVAL);
+ String failedCounterThreshold = stateManagementProperties.getProperty(StateManagementProperties.FAILED_COUNTER_THRESHOLD);
+ String testTransInterval = stateManagementProperties.getProperty(StateManagementProperties.TEST_TRANS_INTERVAL);
+ String writeFpcInterval = stateManagementProperties.getProperty(StateManagementProperties.WRITE_FPC_INTERVAL);
+ String siteName = stateManagementProperties.getProperty(StateManagementProperties.SITE_NAME);
+ String nodeType = stateManagementProperties.getProperty(StateManagementProperties.NODE_TYPE);
+ String dependencyGroups = stateManagementProperties.getProperty(StateManagementProperties.DEPENDENCY_GROUPS);
+ String javaxPersistenceJdbcDriver = stateManagementProperties.getProperty(StateManagementProperties.DB_DRIVER);
+ String javaxPersistenceJdbcUrl = stateManagementProperties.getProperty(StateManagementProperties.DB_URL);
+ String javaxPersistenceJdbcUser = stateManagementProperties.getProperty(StateManagementProperties.DB_USER);
+ String javaxPersistenceJdbcPassword = stateManagementProperties.getProperty(StateManagementProperties.DB_PWD);
+
+ if (testHost == null){
+ missingProperty(StateManagementProperties.TEST_HOST);
+ }
+ if (testPort == null){
+ missingProperty(StateManagementProperties.TEST_PORT);
+ }
+ if (!testServices.equals(StateManagementProperties.TEST_SERVICES_DEFAULT)){
+ logger.error("init: property {} does not have the expected value of {}",
+ 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 {}",
+ 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 {}",
+ 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 {}",
+ StateManagementProperties.TEST_SWAGGER,
+ StateManagementProperties.TEST_SWAGGER_DEFAULT);
+ }
+ if (resourceName == null){
+ missingProperty(StateManagementProperties.RESOURCE_NAME);
}
- if (fpMonitorInterval == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'fp_monitor_interval'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'fp_monitor_interval'");
+ if (fpMonitorInterval == null){
+ missingProperty(StateManagementProperties.FP_MONITOR_INTERVAL);
}
- if (failedCounterThreshold == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'failed_counter_threshold'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'failed_counter_threshold'");
+ if (failedCounterThreshold == null){
+ missingProperty(StateManagementProperties.FAILED_COUNTER_THRESHOLD);
}
- if (testTransInterval == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'test_trans_interval'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'test_trans_interval'");
+ if (testTransInterval == null){
+ missingProperty(StateManagementProperties.TEST_TRANS_INTERVAL);
}
- if (writeFpcInterval == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'write_fpc_interval'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'write_fpc_interval'");
+ if (writeFpcInterval == null){
+ missingProperty(StateManagementProperties.WRITE_FPC_INTERVAL);
}
- if (siteName == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'site_name'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'site_name'");
+ if (siteName == null){
+ missingProperty(StateManagementProperties.SITE_NAME);
}
- if (nodeType == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'node_type'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'node_type'");
+ if (nodeType == null){
+ missingProperty(StateManagementProperties.NODE_TYPE);
}
- if (dependencyGroups == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'dependency_groups'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'dependency_groups'");
+ if (dependencyGroups == null){
+ missingProperty(StateManagementProperties.DEPENDENCY_GROUPS);
}
- if (javaxPersistenceJdbcDriver == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'javax.persistence.jbdc.driver for xacml DB'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'javax.persistence.jbdc.driver for xacml DB'");
+ if (javaxPersistenceJdbcDriver == null){
+ missingProperty(StateManagementProperties.DB_DRIVER);
}
- if (javaxPersistenceJdbcUrl == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'javax.persistence.jbdc.url for xacml DB'");
- throw(new Exception
- ("Missing IntegrityMonitor property: 'javax.persistence.jbdc.url for xacml DB'"));
+ if (javaxPersistenceJdbcUrl == null){
+ missingProperty(StateManagementProperties.DB_URL);
}
- if (javaxPersistenceJdbcUser == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'javax.persistence.jbdc.user for xacml DB'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'javax.persistence.jbdc.user for xacml DB'");
+ if (javaxPersistenceJdbcUser == null){
+ missingProperty(StateManagementProperties.DB_USER);
}
- if (javaxPersistenceJdbcPassword == null)
- {
- logger.error("init: Missing IntegrityMonitor property: 'javax.persistence.jbdc.password for xacml DB'");
- throw new Exception
- ("Missing IntegrityMonitor property: 'javax.persistence.jbdc.password' for xacml DB'");
- }
+ if (javaxPersistenceJdbcPassword == null){
+ missingProperty(StateManagementProperties.DB_PWD);
+ }
+
+ //Log the values so we can diagnose any issues
+ logPropertyValue(StateManagementProperties.TEST_HOST,testHost);
+ logPropertyValue(StateManagementProperties.TEST_PORT,testPort);
+ logPropertyValue(StateManagementProperties.TEST_SERVICES,testServices);
+ logPropertyValue(StateManagementProperties.TEST_REST_CLASSES,testRestClasses);
+ logPropertyValue(StateManagementProperties.TEST_MANAGED,testManaged);
+ logPropertyValue(StateManagementProperties.TEST_SWAGGER,testSwagger);
+ logPropertyValue(StateManagementProperties.RESOURCE_NAME,resourceName);
+ logPropertyValue(StateManagementProperties.FP_MONITOR_INTERVAL,fpMonitorInterval);
+ logPropertyValue(StateManagementProperties.FAILED_COUNTER_THRESHOLD,failedCounterThreshold);
+ logPropertyValue(StateManagementProperties.TEST_TRANS_INTERVAL,testTransInterval);
+ logPropertyValue(StateManagementProperties.WRITE_FPC_INTERVAL,writeFpcInterval);
+ logPropertyValue(StateManagementProperties.SITE_NAME,siteName);
+ logPropertyValue(StateManagementProperties.NODE_TYPE,nodeType);
+ logPropertyValue(StateManagementProperties.DEPENDENCY_GROUPS,dependencyGroups);
+ logPropertyValue(StateManagementProperties.DB_DRIVER,javaxPersistenceJdbcDriver);
+ logPropertyValue(StateManagementProperties.DB_URL,javaxPersistenceJdbcUrl);
+ logPropertyValue(StateManagementProperties.DB_USER,javaxPersistenceJdbcUser);
+ logPropertyValue(StateManagementProperties.DB_PWD,javaxPersistenceJdbcPassword);
+
+ subsystemTestProperties = stateManagementProperties;
// Now that we've validated the properties, create Drools Integrity Monitor
// with these properties.
im = new DroolsPDPIntegrityMonitor(resourceName,
stateManagementProperties);
- logger.info("init: New DroolsPDPIntegrityMonitor instantiated, hostPort= {}", hostPort);
-
- // determine host and port for HTTP server
- int index = hostPort.lastIndexOf(':');
- InetSocketAddress addr;
-
- if (index < 0)
- {
- addr = new InetSocketAddress(Integer.valueOf(hostPort));
- }
- else
- {
- addr = new InetSocketAddress
- (hostPort.substring(0, index),
- Integer.valueOf(hostPort.substring(index + 1)));
- }
+ logger.info("init: New DroolsPDPIntegrityMonitor instantiated, resourceName = ", resourceName);
// create http server
try {
- logger.info("init: Starting HTTP server, addr= {}", addr);
+ logger.info("init: Starting HTTP server, addr= {}", testHost+":"+testPort);
IntegrityMonitorRestServer server = new IntegrityMonitorRestServer();
server.init(stateManagementProperties);
-
- System.out.println("init: Started server on hostPort=" + hostPort);
} catch (Exception e) {
- logger.error("init: Caught Exception attempting to start server on hostPort= {}, message = {}",
- hostPort, e.getMessage());
+ logger.error("init: Caught Exception attempting to start server on testPort= {} message:",
+ testPort, e);
throw e;
-
}
logger.info("init: Exiting and returning DroolsPDPIntegrityMonitor");