diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2019-04-08 11:13:14 -0500 |
---|---|---|
committer | jhh <jorge.hernandez-herrero@att.com> | 2019-04-08 19:46:52 -0500 |
commit | 3f90dba2636b06bcb90b8f1e158b30886af574d5 (patch) | |
tree | a4244aecdd658984afb46bb1d2720e363092eec5 /policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java | |
parent | 420fb3114baf6dc468b3babf5b45304647fcb04d (diff) |
Initial support for deploy
This is a first pass, some functionality is
missing (undeploy).
Compile error fix from changes in policy/models repo.
Change-Id: If448492ab665c135bace99d4d684d403e2a6be03
Issue-ID: POLICY-1624
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java')
-rw-r--r-- | policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java index eb401eba..95b053fb 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java +++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java @@ -480,19 +480,9 @@ public class MavenDroolsController implements DroolsController { @Override public boolean offer(String topic, String event) { - logger.debug("{}: OFFER: {} <- {}", this, topic, event); + logger.debug("{}: OFFER raw event from {}", this, topic); - if (this.locked) { - return true; - } - if (!this.alive) { - return true; - } - - // 0. Check if the policy container has any sessions - - if (this.policyContainer.getPolicySessions().isEmpty()) { - // no sessions + if (this.locked || !this.alive || this.policyContainer.getPolicySessions().isEmpty()) { return true; } @@ -525,48 +515,55 @@ public class MavenDroolsController implements DroolsController { return true; } + return offer(anEvent); + + } + + @Override + public <T> boolean offer(T event) { + logger.debug("{}: OFFER event", this); + + if (this.locked || !this.alive || this.policyContainer.getPolicySessions().isEmpty()) { + return true; + } + synchronized (this.recentSourceEvents) { - this.recentSourceEvents.add(anEvent); + this.recentSourceEvents.add(event); } - // increment event count for Nagios monitoring PdpJmx.getInstance().updateOccured(); // Broadcast - if (logger.isInfoEnabled()) { - logger.info("{} BROADCAST-INJECT of {} FROM {} INTO {}", - this, event, topic, this.policyContainer.getName()); - } - for (DroolsControllerFeatureAPI feature : DroolsControllerFeatureAPI.providers.getList()) { try { - if (feature.beforeInsert(this, anEvent)) { + if (feature.beforeInsert(this, event)) { return true; } } catch (Exception e) { logger.error("{}: feature {} before-insert failure because of {}", - this, feature.getClass().getName(), e.getMessage(), e); + this, feature.getClass().getName(), e.getMessage(), e); } } - boolean successInject = this.policyContainer.insertAll(anEvent); + boolean successInject = this.policyContainer.insertAll(event); if (!successInject) { logger.warn(this + "Failed to inject into PolicyContainer {}", this.getSessionNames()); } for (DroolsControllerFeatureAPI feature : DroolsControllerFeatureAPI.providers.getList()) { try { - if (feature.afterInsert(this, anEvent, successInject)) { + if (feature.afterInsert(this, event, successInject)) { return true; } } catch (Exception e) { logger.error("{}: feature {} after-insert failure because of {}", - this, feature.getClass().getName(), e.getMessage(), e); + this, feature.getClass().getName(), e.getMessage(), e); } } return true; + } @Override |