From 506267bf7e9d961f1a6b2a989ee8a23ca67b9d61 Mon Sep 17 00:00:00 2001 From: Charles Cole Date: Mon, 16 Oct 2017 12:05:08 -0500 Subject: Add support for AAI Named Query error handling Errors from AAI after a Named query now throw an AAIEXception. This is caught in the template to allow the resources to be removed from memory and a final failure to be thrown. Issue-ID: POLICY-314 Change-Id: I319d29ef537b2d01ca288622aac1d9dbbe05f5eb Signed-off-by: Charles Cole --- .../policy/controlloop/actor/appc/APPCActorServiceProvider.java | 9 ++++++++- .../policy/controlloop/actor/appc/AppcServiceProviderTest.java | 9 ++++++++- controlloop/common/actors/actor.test/pom.xml | 6 ++++++ 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'controlloop/common/actors') diff --git a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java index 75810c01e..6ae62bbcd 100644 --- a/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java +++ b/controlloop/common/actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/APPCActorServiceProvider.java @@ -25,6 +25,7 @@ import java.util.List; import org.onap.policy.controlloop.VirtualControlLoopEvent; import org.onap.policy.controlloop.actor.appclcm.AppcLcmActorServiceProvider; +import org.onap.policy.aai.util.AAIException; import org.onap.policy.appc.CommonHeader; import org.onap.policy.appc.Request; import org.onap.policy.controlloop.ControlLoopOperation; @@ -33,6 +34,7 @@ import org.onap.policy.vnf.trafficgenerator.PGRequest; import org.onap.policy.vnf.trafficgenerator.PGStream; import org.onap.policy.vnf.trafficgenerator.PGStreams; import org.onap.policy.controlloop.actorServiceProvider.spi.Actor; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -85,8 +87,9 @@ public class APPCActorServiceProvider implements Actor { * the policy the was specified from the yaml generated * by CLAMP or through the Policy GUI/API * @return an APPC request conforming to the legacy API + * @throws AAIException */ - public static Request constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) { + public static Request constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) throws AAIException { /* * Construct an APPC request */ @@ -111,6 +114,10 @@ public class APPCActorServiceProvider implements Actor { policy.getTarget().getResourceID(), onset.AAI.get("generic-vnf.vnf-id")); } + if (vnfId == null) { + throw new AAIException("No vnf id found"); + } + /* * For now Policy generates the PG Streams as a demo, in the * future the payload can be provided by CLAMP diff --git a/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java b/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java index 9d7e46320..7ab368f6f 100644 --- a/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java +++ b/controlloop/common/actors/actor.appc/src/test/java/org/onap/policy/controlloop/actor/appc/AppcServiceProviderTest.java @@ -29,6 +29,7 @@ import java.util.UUID; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import org.onap.policy.aai.util.AAIException; import org.onap.policy.appc.Request; import org.onap.policy.appc.Response; import org.onap.policy.appc.ResponseCode; @@ -115,7 +116,13 @@ public class AppcServiceProviderTest { @Test public void constructModifyConfigRequestTest() { - Request appcRequest = APPCActorServiceProvider.constructRequest(onsetEvent, operation, policy); + Request appcRequest = null; + try { + appcRequest = APPCActorServiceProvider.constructRequest(onsetEvent, operation, policy); + } catch (AAIException e) { + logger.warn(e.toString()); + fail("no vnfid found"); + } /* The service provider must return a non null APPC request */ assertNotNull(appcRequest); diff --git a/controlloop/common/actors/actor.test/pom.xml b/controlloop/common/actors/actor.test/pom.xml index c7e240ceb..79d6b6601 100644 --- a/controlloop/common/actors/actor.test/pom.xml +++ b/controlloop/common/actors/actor.test/pom.xml @@ -30,6 +30,12 @@ 1.1.0-SNAPSHOT provided + + org.onap.policy.drools-applications + aai + 1.1.0-SNAPSHOT + provided + junit junit -- cgit 1.2.3-korg