From dc272e0912390292fa09e84d56380ac3697250cd Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Wed, 8 Apr 2020 14:40:37 -0400 Subject: Add SDNR notifications to frankfurt rules Issue-ID: POLICY-2468 Change-Id: Ibf4d3e5f62fa3106028dcf85050c270b8eab0a89 Signed-off-by: Jim Hahn --- .../controlloop/eventmanager/ControlLoopEventManager2.java | 6 ++++++ .../controlloop/eventmanager/ControlLoopOperationManager2.java | 10 ++++++++++ 2 files changed, 16 insertions(+) (limited to 'controlloop/common/eventmanager') diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager2.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager2.java index cc54b73be..c79737ae6 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager2.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopEventManager2.java @@ -49,6 +49,7 @@ import org.onap.policy.controlloop.ControlLoopEventStatus; import org.onap.policy.controlloop.ControlLoopException; import org.onap.policy.controlloop.ControlLoopNotificationType; import org.onap.policy.controlloop.ControlLoopOperation; +import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.controlloop.actorserviceprovider.ActorService; @@ -146,6 +147,8 @@ public class ControlLoopEventManager2 implements ManagerContext, Serializable { @Getter private VirtualControlLoopNotification notification; + @Getter + private ControlLoopResponse controlLoopResponse; @Getter private boolean updated = false; @@ -225,6 +228,7 @@ public class ControlLoopEventManager2 implements ManagerContext, Serializable { logger.info("final={} oper state={} for {}", finalResult, currentOperation.get().getState(), requestId); + controlLoopResponse = null; notification = makeNotification(); notification.setHistory(controlLoopHistory); @@ -268,6 +272,7 @@ public class ControlLoopEventManager2 implements ManagerContext, Serializable { // processor problem - this is fatal logger.warn("{}: cannot start next step for {}", closedLoopControlName, requestId, e); finalResult = FinalResult.FINAL_FAILURE_EXCEPTION; + controlLoopResponse = null; notification = makeNotification(); notification.setNotification(ControlLoopNotificationType.FINAL_FAILURE); notification.setMessage("Policy processing aborted due to policy error"); @@ -296,6 +301,7 @@ public class ControlLoopEventManager2 implements ManagerContext, Serializable { return; } + controlLoopResponse = operation.getControlLoopResponse(); notification = makeNotification(); VirtualControlLoopEvent event = context.getEvent(); diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2.java index a096522bc..9d7ca586c 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager2.java @@ -41,6 +41,7 @@ import lombok.ToString; import org.onap.policy.aai.AaiConstants; import org.onap.policy.aai.AaiCqResponse; import org.onap.policy.controlloop.ControlLoopOperation; +import org.onap.policy.controlloop.ControlLoopResponse; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; import org.onap.policy.controlloop.actorserviceprovider.controlloop.ControlLoopEventContext; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; @@ -137,6 +138,9 @@ public class ControlLoopOperationManager2 implements Serializable { private final transient ControlLoopOperationParams params; private final transient PipelineUtil taskUtil; + @Getter + private ControlLoopResponse controlLoopResponse; + /** * Time when the lock was first requested. */ @@ -195,6 +199,7 @@ public class ControlLoopOperationManager2 implements Serializable { private int attempt; private PolicyResult policyResult; private ControlLoopOperation clOperation; + private ControlLoopResponse clResponse; /** * Constructs the object. @@ -206,6 +211,7 @@ public class ControlLoopOperationManager2 implements Serializable { policyResult = outcome.getResult(); clOperation = outcome.toControlLoopOperation(); clOperation.setTarget(policy.getTarget().toString()); + clResponse = outcome.getControlLoopResponse(); } } @@ -437,6 +443,7 @@ public class ControlLoopOperationManager2 implements Serializable { } if (outcome.isFinalOutcome() && outcome.isFor(actor, operation)) { + controlLoopResponse = null; return false; } @@ -458,6 +465,8 @@ public class ControlLoopOperationManager2 implements Serializable { OperationOutcome outcome = outcomes.peek(); logger.debug("process outcome={} for {}", outcome, requestId); + controlLoopResponse = null; + switch (outcome.getActor()) { case CL_TIMEOUT_ACTOR: @@ -501,6 +510,7 @@ public class ControlLoopOperationManager2 implements Serializable { */ state = (outcome.getResult() == PolicyResult.SUCCESS ? State.OPERATION_SUCCESS : State.OPERATION_FAILURE); + controlLoopResponse = outcome.getControlLoopResponse(); if (!operationHistory.isEmpty() && operationHistory.peekLast().getClOperation().getEnd() == null) { operationHistory.removeLast(); } -- cgit 1.2.3-korg