From 3d776b9d24b73b366b2f1e70b6c536e4d2705202 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Wed, 18 Nov 2020 12:04:26 -0500 Subject: Delete preprocessed flag from actors Removed the "preprocessed" flag from the Actor parameters, now that the actors no longer have a startPreprocess() method. Also removed targetEntity from the parameters. Issue-ID: POLICY-2804 Change-Id: I13bc80e1b6bb22d8d21b176796ca062109ce6658 Signed-off-by: Jim Hahn --- .../apps/controller/usecases/UsecasesEventManager.java | 1 - .../controller-usecases/src/main/resources/usecases.drl | 2 +- .../apps/controller/usecases/step/AaiCqStep2Test.java | 3 +-- .../controller/usecases/step/AaiGetTenantStep2Test.java | 2 +- .../apps/controller/usecases/step/GuardStep2Test.java | 1 - .../apps/controller/usecases/step/LockStep2Test.java | 2 +- .../drools/apps/controller/usecases/step/Step2Test.java | 2 +- .../org/onap/policy/controlloop/eventmanager/Step.java | 15 +++++++++++++-- .../onap/policy/controlloop/eventmanager/StepTest.java | 11 +++++++++-- 9 files changed, 27 insertions(+), 12 deletions(-) (limited to 'controlloop') diff --git a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java index 091b26b2d..0649f1882 100644 --- a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java +++ b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/UsecasesEventManager.java @@ -338,7 +338,6 @@ public class UsecasesEventManager extends ControlLoopEventManager implements Ste .actor(actor.getActor()) .operation(actor.getOperation()) .requestId(event.getRequestId()) - .preprocessed(true) .executor(getExecutor()) .retry(policy.getRetries()) .timeoutSec(policy.getTimeout()) diff --git a/controlloop/common/controller-usecases/src/main/resources/usecases.drl b/controlloop/common/controller-usecases/src/main/resources/usecases.drl index 12c9849f9..578bd9ca4 100644 --- a/controlloop/common/controller-usecases/src/main/resources/usecases.drl +++ b/controlloop/common/controller-usecases/src/main/resources/usecases.drl @@ -395,7 +395,7 @@ rule "EVENT.MANAGER.EXECUTE.STEP" if (guardDisabled && "GUARD".equals($step.getActorName())) { // guard is disabled - just enqueue a "SUCCESS" (i.e., "Permit") - OperationOutcome outcome = $step.getParams().makeOutcome(); + OperationOutcome outcome = $step.getParams().makeOutcome(null); outcome.setStart(Instant.now()); outcome.setEnd(outcome.getStart()); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java index 9869c2182..d05aa604c 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiCqStep2Test.java @@ -48,7 +48,6 @@ import org.onap.policy.controlloop.actorserviceprovider.spi.Actor; import org.onap.policy.controlloop.eventmanager.StepContext; public class AaiCqStep2Test { - private static final String MY_TARGET = "my-target"; private static final UUID REQ_ID = UUID.randomUUID(); @Mock @@ -80,7 +79,7 @@ public class AaiCqStep2Test { future = new CompletableFuture<>(); when(params.toBuilder()).thenReturn(ControlLoopOperationParams.builder().actorService(actors) - .targetEntity(MY_TARGET).requestId(REQ_ID)); + .requestId(REQ_ID)); // configure policy operation when(actors.getActor(AaiActor.NAME)).thenReturn(policyActor); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java index 65c27b45f..7b1bae7d8 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/AaiGetTenantStep2Test.java @@ -84,7 +84,7 @@ public class AaiGetTenantStep2Test { future = new CompletableFuture<>(); when(params.toBuilder()).thenReturn(ControlLoopOperationParams.builder().actorService(actors) - .targetEntity("my-target").requestId(REQ_ID)); + .requestId(REQ_ID)); // configure policy operation when(actors.getActor(AaiActor.NAME)).thenReturn(policyActor); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java index ab9507221..2ab647aa4 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2Test.java @@ -168,7 +168,6 @@ public class GuardStep2Test { params = ControlLoopOperationParams.builder() .actor(MASTER_ACTOR) .operation(MASTER_OPERATION) - .targetEntity(MY_TARGET) .requestId(REQ_ID) .targetType(target) .build(); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java index 2afd39547..c68f1873f 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/LockStep2Test.java @@ -107,7 +107,7 @@ public class LockStep2Test { assertTrue(step.start(100)); // complete the operation's future - OperationOutcome outcome = params.makeOutcome(); + OperationOutcome outcome = step.makeOutcome(); outcome.setTarget(MY_TARGET); future.complete(outcome); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java index 7695d5b20..811901963 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/drools/apps/controller/usecases/step/Step2Test.java @@ -132,7 +132,7 @@ public class Step2Test { params = ControlLoopOperationParams.builder().actor(POLICY_ACTOR).actorService(actors) .completeCallback(completions::add).executor(ForkJoinPool.commonPool()) .operation(POLICY_OPERATION).payload(new TreeMap<>(payload)).startCallback(starts::add) - .targetType(TargetType.VM).targetEntityIds(entityIds).targetEntity(MY_TARGET) + .targetType(TargetType.VM).targetEntityIds(entityIds) .requestId(REQ_ID).build(); step = new Step2(stepContext, params, event); diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/Step.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/Step.java index 1cbdb53b2..d406e6efe 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/Step.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/Step.java @@ -30,6 +30,7 @@ import lombok.Getter; import lombok.NonNull; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; +import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; import org.onap.policy.controlloop.actorserviceprovider.pipeline.PipelineUtil; import org.slf4j.Logger; @@ -190,7 +191,7 @@ public class Step { logger.warn("{}.{}: exception starting operation for {}", params.getActor(), params.getOperation(), params.getRequestId(), thrown); - OperationOutcome outcome = new PipelineUtil(params).setOutcome(params.makeOutcome(), thrown); + OperationOutcome outcome = new PipelineUtil(params).setOutcome(makeOutcome(), thrown); outcome.setStart(startTime.get()); outcome.setEnd(Instant.now()); outcome.setFinalOutcome(true); @@ -210,7 +211,7 @@ public class Step { logger.warn("{}.{}: control loop timeout for {}", params.getActor(), params.getOperation(), params.getRequestId(), thrown); - OperationOutcome outcome = new PipelineUtil(params).setOutcome(params.makeOutcome(), thrown); + OperationOutcome outcome = new PipelineUtil(params).setOutcome(makeOutcome(), thrown); outcome.setActor(ActorConstants.CL_TIMEOUT_ACTOR); outcome.setOperation(null); outcome.setStart(startTime.get()); @@ -262,6 +263,16 @@ public class Step { return params.build(); } + /** + * Makes an operation outcome, populating the target entity from the operation's + * properties. + * + * @return a new operation outcome + */ + public OperationOutcome makeOutcome() { + return params.makeOutcome(operation.getProperty(OperationProperties.AAI_TARGET_ENTITY)); + } + @Override public String toString() { return "Step(actor=" + getActorName() + ", operation=" + getOperationName() + ")"; diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java index aec4693f8..cd22881b8 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/StepTest.java @@ -52,6 +52,7 @@ import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actorserviceprovider.ActorService; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; +import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; import org.onap.policy.controlloop.actorserviceprovider.OperationResult; import org.onap.policy.controlloop.actorserviceprovider.Operator; import org.onap.policy.controlloop.actorserviceprovider.TargetType; @@ -103,6 +104,7 @@ public class StepTest { when(policyActor.getOperator(POLICY_OPERATION)).thenReturn(policyOperator); when(policyOperator.buildOperation(any())).thenReturn(policyOperation); when(policyOperation.start()).thenReturn(future); + when(policyOperation.getProperty(OperationProperties.AAI_TARGET_ENTITY)).thenReturn(MY_TARGET); entityIds = Map.of("entity-name-A", "entity-value-A"); @@ -123,7 +125,7 @@ public class StepTest { .completeCallback(completions::add).executor(ForkJoinPool.commonPool()) .operation(POLICY_OPERATION).payload(new TreeMap<>(payload)).startCallback(starts::add) .targetType(TargetType.valueOf(target.getTargetType())).targetEntityIds(target.getEntityIds()) - .requestId(REQ_ID).targetEntity(MY_TARGET).build(); + .requestId(REQ_ID).build(); startTime = new AtomicReference<>(); @@ -160,7 +162,6 @@ public class StepTest { assertNull(params2.getTimeoutSec()); assertEquals(target.getTargetType().toString(), params2.getTargetType().toString()); assertSame(entityIds, params2.getTargetEntityIds()); - assertEquals(MY_TARGET, params2.getTargetEntity()); assertTrue(params2.getPayload().isEmpty()); when(actors.getActor(params2.getActor())).thenReturn(policyActor); @@ -363,6 +364,12 @@ public class StepTest { assertSame(policyOperation, step.buildOperation()); } + @Test + public void testMakeOutcome() { + step.init(); + assertEquals(MY_TARGET, step.makeOutcome().getTarget()); + } + @Test public void testToString() { assertNotNull(step.toString()); -- cgit 1.2.3-korg