diff options
author | jhh <jorge.hernandez-herrero@att.com> | 2019-05-07 20:51:34 -0500 |
---|---|---|
committer | jhh <jorge.hernandez-herrero@att.com> | 2019-05-08 21:59:33 -0500 |
commit | c3351f687be075d91908d04dfc4e7e9da243f395 (patch) | |
tree | 8845bb8f411bc212a466b1b98efd02f65290af97 /policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java | |
parent | 6da702fafb473a08efd112cdc38cef1cfdef2f7a (diff) |
Track policies when active.
Do not honor group/subgroup changes with status messages.
When no present group/subgroups in update messages, assume that
they have to be reset.
Keep the policy cache of non-installed policies tracking them
when in passive state besides active. Wait until go active
to enable them.
Remove legacy PAP and PDP-X healtchecks as it was basically
testing reachability. There are conflicts with maintaining
2 different sets of PAPs and PDPs, trying to avoid it.
Alternative healtchecks are being placed on the robot test
framework. What to healtcheck should be considered more
carefully in the near future.
Change-Id: I574f30bb5899faf521123c79046793d16b4a46e0
Issue-ID: POLICY-1748
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 | 24 |
1 files changed, 24 insertions, 0 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 a9ab212b..140d6769 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 @@ -920,6 +920,30 @@ public class MavenDroolsController implements DroolsController { } @Override + public <T> boolean delete(@NonNull String sessionName, @NonNull Class<T> fact) { + PolicySession session = getSession(sessionName); + KieSession kieSession = session.getKieSession(); + + boolean success = true; + Collection<FactHandle> factHandles = kieSession.getFactHandles(new ClassObjectFilter(fact)); + for (FactHandle factHandle : factHandles) { + try { + kieSession.delete(factHandle); + } catch (Exception e) { + logger.warn("Object cannot be retrieved from fact {}", factHandle, e); + success = false; + } + } + return success; + } + + @Override + public <T> boolean delete(@NonNull Class<T> fact) { + return this.getSessionNames().stream().map((ss) -> delete(ss, fact)).reduce(false, Boolean::logicalOr); + } + + + @Override public Class<?> fetchModelClass(String className) { return ReflectionUtil.fetchClass(this.policyContainer.getClassLoader(), className); } |