aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
diff options
context:
space:
mode:
authorJorge Hernandez <jorge.hernandez-herrero@att.com>2019-03-04 16:15:45 +0000
committerGerrit Code Review <gerrit@onap.org>2019-03-04 16:15:45 +0000
commit3f2526b26f24f5954dbc2818385137c28a3eb5ba (patch)
tree3f3e99e17078af374ab21d0355ba1d629ab393a1 /policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
parentc10a9c1fea3a7c05eb4b4aaf2264855222f1945b (diff)
parent62e4281c0b76ecfde85d094533edd6693c2c1c5b (diff)
Merge "Add Controller Logging Feature"
Diffstat (limited to 'policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java')
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java37
1 files changed, 31 insertions, 6 deletions
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 bedd8d48..86655fff 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
@@ -699,7 +699,7 @@ class PolicyEngineManager implements PolicyEngine {
throw new IllegalArgumentException(controllerName + " is invalid");
}
- logger.warn("controller being recovered. {} Reset controller's bad maven coordinates to brainless",
+ logger.warn("controller being recovered. {} Reset controller's bad maven coordinates to brainless",
controllerName);
/*
@@ -922,7 +922,7 @@ class PolicyEngineManager implements PolicyEngine {
logger.error("{}: cannot start http-server {} because of {}", this, httpServer, e.getMessage(), e);
}
}
-
+
// stop JMX?
/* policy-engine dispatch pre stop hook */
@@ -1007,7 +1007,7 @@ class PolicyEngineManager implements PolicyEngine {
exitThread.interrupt();
logger.info("{}: normal termination", this);
}
-
+
/**
* Thread that shuts down http servers.
*/
@@ -1042,13 +1042,13 @@ class PolicyEngineManager implements PolicyEngine {
doExit(0);
}
}
-
+
// these may be overridden by junit tests
protected void doSleep(long sleepMs) throws InterruptedException {
Thread.sleep(sleepMs);
}
-
+
protected void doExit(int code) {
System.exit(code);
}
@@ -1249,13 +1249,38 @@ class PolicyEngineManager implements PolicyEngine {
@Override
public void onTopicEvent(CommInfrastructure commType, String topic, String event) {
+ /* policy-engine pre topic event hook */
+ for (final PolicyEngineFeatureAPI feature : getFeatureProviders()) {
+ try {
+ if (feature.beforeOnTopicEvent(this, commType, topic, event)) {
+ return;
+ }
+ } catch (final Exception e) {
+ logger.error("{}: feature {} beforeOnTopicEvent failure on event {} because of {}", this,
+ feature.getClass().getName(), event, e.getMessage(), e);
+ }
+ }
+
/* configuration request */
+ PdpdConfiguration configuration = null;
try {
- final PdpdConfiguration configuration = this.decoder.fromJson(event, PdpdConfiguration.class);
+ configuration = this.decoder.fromJson(event, PdpdConfiguration.class);
this.configure(configuration);
} catch (final Exception e) {
logger.error("{}: configuration-error due to {} because of {}", this, event, e.getMessage(), e);
}
+
+ /* policy-engine after topic event hook */
+ for (final PolicyEngineFeatureAPI feature : getFeatureProviders()) {
+ try {
+ if (feature.afterOnTopicEvent(this, configuration, commType, topic, event)) {
+ return;
+ }
+ } catch (final Exception e) {
+ logger.error("{}: feature {} afterOnTopicEvent failure on event {} because of {}", this,
+ feature.getClass().getName(), event, e.getMessage(), e);
+ }
+ }
}
@Override