diff options
author | Jorge Hernandez <jorge.hernandez-herrero@att.com> | 2019-03-04 16:15:45 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-03-04 16:15:45 +0000 |
commit | 3f2526b26f24f5954dbc2818385137c28a3eb5ba (patch) | |
tree | 3f3e99e17078af374ab21d0355ba1d629ab393a1 /policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java | |
parent | c10a9c1fea3a7c05eb4b4aaf2264855222f1945b (diff) | |
parent | 62e4281c0b76ecfde85d094533edd6693c2c1c5b (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.java | 37 |
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 |