From 27c0d0c0a925e4fa0fed41fd7cf794b02be15595 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Tue, 20 Jul 2021 17:34:22 -0400 Subject: Use new xacml actor in drools-apps Modified drools-apps to use actor.xacml instead of actor.guard. This included updating property files. Issue-ID: POLICY-3503 Change-Id: I25c5586c59a2adaae9f4f0f5ca66e14b12b0c18a Signed-off-by: Jim Hahn --- controlloop/common/controller-usecases/pom.xml | 4 ++-- .../drools/apps/controller/usecases/step/GuardStep2.java | 6 +++--- .../controller-usecases/src/main/resources/usecases.drl | 16 +++++++--------- .../java/org/onap/policy/controlloop/UsecasesTest.java | 4 ++-- .../apps/controller/usecases/step/GuardStep2Test.java | 8 ++++---- .../src/test/resources/config/event-manager.properties | 12 ++++++------ .../resources/config/usecases-http-client.properties | 16 ++++++++-------- 7 files changed, 32 insertions(+), 34 deletions(-) (limited to 'controlloop/common/controller-usecases') diff --git a/controlloop/common/controller-usecases/pom.xml b/controlloop/common/controller-usecases/pom.xml index 236a95a22..46e2626d8 100644 --- a/controlloop/common/controller-usecases/pom.xml +++ b/controlloop/common/controller-usecases/pom.xml @@ -3,7 +3,7 @@ ============LICENSE_START======================================================= ONAP ================================================================================ - Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -136,7 +136,7 @@ org.onap.policy.models.policy-models-interactions.model-actors - actor.guard + actor.xacml ${policy.models.version} provided diff --git a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2.java b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2.java index abc9ff2b2..840d1417d 100644 --- a/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2.java +++ b/controlloop/common/controller-usecases/src/main/java/org/onap/policy/drools/apps/controller/usecases/step/GuardStep2.java @@ -29,9 +29,9 @@ import org.onap.aai.domain.yang.RelatedToProperty; import org.onap.aai.domain.yang.Relationship; import org.onap.aai.domain.yang.RelationshipData; import org.onap.policy.aai.AaiCqResponse; -import org.onap.policy.controlloop.actor.guard.DecisionOperation; -import org.onap.policy.controlloop.actor.guard.GuardActor; import org.onap.policy.controlloop.actor.so.VfModuleCreate; +import org.onap.policy.controlloop.actor.xacml.GuardOperation; +import org.onap.policy.controlloop.actor.xacml.XacmlActor; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; import org.onap.policy.controlloop.actorserviceprovider.TargetType; @@ -64,7 +64,7 @@ public class GuardStep2 extends Step2 { * @param otherStep step whose information should be used */ public GuardStep2(Step2 otherStep, String closedLoopControlName) { - super(otherStep, GuardActor.NAME, DecisionOperation.NAME); + super(otherStep, XacmlActor.NAME, GuardOperation.NAME); if (!otherStep.isInitialized()) { throw new IllegalStateException("policy operation must be initialized before the guard operation"); diff --git a/controlloop/common/controller-usecases/src/main/resources/usecases.drl b/controlloop/common/controller-usecases/src/main/resources/usecases.drl index 5074215bb..932b08cf6 100644 --- a/controlloop/common/controller-usecases/src/main/resources/usecases.drl +++ b/controlloop/common/controller-usecases/src/main/resources/usecases.drl @@ -27,11 +27,7 @@ import org.onap.policy.controlloop.CanonicalOnset; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.VirtualControlLoopNotification; import org.onap.policy.controlloop.ControlLoopNotificationType; -import org.onap.policy.controlloop.actor.aai.AaiActor; -import org.onap.policy.controlloop.actor.aai.AaiGetPnfOperation; -import org.onap.policy.controlloop.actor.aai.AaiGetTenantOperation; -import org.onap.policy.controlloop.actor.guard.GuardActor; -import org.onap.policy.controlloop.actor.guard.DecisionOperation; +import org.onap.policy.controlloop.actor.xacml.XacmlActor; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; import org.onap.policy.controlloop.actorserviceprovider.OperationFinalResult; @@ -45,6 +41,7 @@ import org.onap.policy.drools.apps.controller.usecases.UsecasesEventManager; import org.onap.policy.controlloop.eventmanager.ClEventManagerWithSteps.State; import org.onap.policy.controlloop.eventmanager.ClEventManagerWithOutcome.OperationOutcome2; import org.onap.policy.controlloop.eventmanager.ClEventManagerWithEvent.NewEventStatus; +import org.onap.policy.controlloop.eventmanager.ControlLoopEventManager; import org.onap.policy.controlloop.eventmanager.EventManagerServices; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; @@ -415,9 +412,10 @@ rule "EVENT.MANAGER.EXECUTE.STEP" $step.setProperties(); boolean guardDisabled = "true".equalsIgnoreCase( - PolicyEngineConstants.getManager().getEnvironmentProperty("guard.disabled")); + PolicyEngineConstants.getManager().getEnvironmentProperty( + ControlLoopEventManager.GUARD_DISABLED_PROPERTY)); - if (guardDisabled && "GUARD".equals($step.getActorName())) { + if (guardDisabled && XacmlActor.NAME.equals($step.getActorName())) { // guard is disabled - just enqueue a "SUCCESS" (i.e., "Permit") OperationOutcome outcome = $step.getParams().makeOutcome(); outcome.setStart(Instant.now()); @@ -498,8 +496,8 @@ rule "EVENT.MANAGER.PROCESS.GUARD.OUTCOME" $outcome != null, !isAbort($outcome), $step : getSteps().peek(), - "GUARD".equals($step.getActorName()), - $outcome.isFor("GUARD", $step.getOperationName()) ) + XacmlActor.NAME.equals($step.getActorName()), + $outcome.isFor($step.getActorName(), $step.getOperationName()) ) then Logger logger = LoggerFactory.getLogger(drools.getRule().getPackage()); diff --git a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java index 8b0403df3..ef40d302e 100644 --- a/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java +++ b/controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,7 +55,7 @@ public class UsecasesTest extends DroolsRuleTest { rules.configure("src/main/resources"); httpClients.addClients("usecases"); - simulators.start(Util::buildAaiSim, Util::buildSoSim, Util::buildVfcSim, Util::buildGuardSim, + simulators.start(Util::buildAaiSim, Util::buildSoSim, Util::buildVfcSim, Util::buildXacmlSim, Util::buildSdncSim); rules.start(); 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 d5945a30c..ffd88d54d 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 @@ -45,9 +45,9 @@ import org.onap.aai.domain.yang.RelationshipList; import org.onap.aai.domain.yang.Vserver; import org.onap.policy.aai.AaiCqResponse; import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.controlloop.actor.guard.DecisionOperation; -import org.onap.policy.controlloop.actor.guard.GuardActor; import org.onap.policy.controlloop.actor.so.VfModuleCreate; +import org.onap.policy.controlloop.actor.xacml.GuardOperation; +import org.onap.policy.controlloop.actor.xacml.XacmlActor; import org.onap.policy.controlloop.actorserviceprovider.Operation; import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; import org.onap.policy.controlloop.actorserviceprovider.TargetType; @@ -182,8 +182,8 @@ public class GuardStep2Test { @Test public void testConstructor() { - assertEquals(GuardActor.NAME, step.getActorName()); - assertEquals(DecisionOperation.NAME, step.getOperationName()); + assertEquals(XacmlActor.NAME, step.getActorName()); + assertEquals(GuardOperation.NAME, step.getOperationName()); assertSame(stepContext, step.stepContext); assertSame(event, step.event); diff --git a/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties b/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties index 23e310623..10917f409 100644 --- a/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties +++ b/controlloop/common/controller-usecases/src/test/resources/config/event-manager.properties @@ -29,12 +29,12 @@ operation.history.password= # configured and started. Thus some of them have a "placeholder" property. # -#actor.service.GUARD.disabled=true -actor.service.GUARD.clientName=GUARD -actor.service.GUARD.onapName=my-onap-name -actor.service.GUARD.onapComponent=my-onap-component -actor.service.GUARD.onapInstance=my-onap-instance -actor.service.GUARD.operations.Decision.path=decision +#actor.service.XACML.disabled=true +actor.service.XACML.clientName=XACML +actor.service.XACML.onapName=my-onap-name +actor.service.XACML.onapComponent=my-onap-component +actor.service.XACML.onapInstance=my-onap-instance +actor.service.XACML.operations.Guard.path=decision actor.service.AAI.clientName=AAI actor.service.AAI.operations.CustomQuery.path=aai/v21/query diff --git a/controlloop/common/controller-usecases/src/test/resources/config/usecases-http-client.properties b/controlloop/common/controller-usecases/src/test/resources/config/usecases-http-client.properties index 1e3e88cec..72764bccc 100644 --- a/controlloop/common/controller-usecases/src/test/resources/config/usecases-http-client.properties +++ b/controlloop/common/controller-usecases/src/test/resources/config/usecases-http-client.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # ONAP # ================================================================================ -# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,14 +18,14 @@ # ============LICENSE_END========================================================= # -http.client.services=GUARD,AAI,SDNC,SO,VFC +http.client.services=XACML,AAI,SDNC,SO,VFC -http.client.services.GUARD.managed=true -http.client.services.GUARD.host=localhost -http.client.services.GUARD.port=6669 -http.client.services.GUARD.userName=pdpx -http.client.services.GUARD.password=pdpx -http.client.services.GUARD.contextUriPath=policy/pdpx/v1/ +http.client.services.XACML.managed=true +http.client.services.XACML.host=localhost +http.client.services.XACML.port=6669 +http.client.services.XACML.userName=pdpx +http.client.services.XACML.password=pdpx +http.client.services.XACML.contextUriPath=policy/pdpx/v1/ http.client.services.AAI.managed=true http.client.services.AAI.host=localhost -- cgit 1.2.3-korg