X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-actors%2Factor.appc%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontrolloop%2Factor%2Fappc%2FModifyConfigOperation.java;h=0cf004935a126d397544de35d49b6b4ef49a0720;hb=865100d2bbaafac77f1d9e637bca81adc03c4c44;hp=5839df58e2381228b4c839c73f16e42e16767402;hpb=70887052f434c3cb91c2cf782c11a68aed76f9ba;p=policy%2Fmodels.git diff --git a/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/ModifyConfigOperation.java b/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/ModifyConfigOperation.java index 5839df58e..0cf004935 100644 --- a/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/ModifyConfigOperation.java +++ b/models-interactions/model-actors/actor.appc/src/main/java/org/onap/policy/controlloop/actor/appc/ModifyConfigOperation.java @@ -3,6 +3,7 @@ * ONAP * ================================================================================ * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,56 +21,29 @@ package org.onap.policy.controlloop.actor.appc; -import java.util.concurrent.CompletableFuture; -import org.onap.aai.domain.yang.GenericVnf; -import org.onap.policy.aai.AaiConstants; -import org.onap.policy.aai.AaiCqResponse; +import java.util.List; import org.onap.policy.appc.Request; -import org.onap.policy.controlloop.actor.aai.AaiCustomQueryOperation; -import org.onap.policy.controlloop.actorserviceprovider.OperationOutcome; -import org.onap.policy.controlloop.actorserviceprovider.impl.BidirectionalTopicOperator; +import org.onap.policy.controlloop.actorserviceprovider.OperationProperties; +import org.onap.policy.controlloop.actorserviceprovider.parameters.BidirectionalTopicConfig; import org.onap.policy.controlloop.actorserviceprovider.parameters.ControlLoopOperationParams; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class ModifyConfigOperation extends AppcOperation { - private static final Logger logger = LoggerFactory.getLogger(ModifyConfigOperation.class); - public static final String NAME = "ModifyConfig"; + private static final List PROPERTY_NAMES = List.of(OperationProperties.AAI_RESOURCE_VNF); + /** * Constructs the object. * * @param params operation parameters - * @param operator operator that created this operation - */ - public ModifyConfigOperation(ControlLoopOperationParams params, BidirectionalTopicOperator operator) { - super(params, operator); - } - - /** - * Ensures that A&AI customer query has been performed, and then runs the guard query. + * @param config configuration for this operation */ - @Override - @SuppressWarnings("unchecked") - protected CompletableFuture startPreprocessorAsync() { - ControlLoopOperationParams cqParams = params.toBuilder().actor(AaiConstants.ACTOR_NAME) - .operation(AaiCustomQueryOperation.NAME).payload(null).retry(null).timeoutSec(null).build(); - - // run Custom Query and Guard, in parallel - return allOf(() -> params.getContext().obtain(AaiCqResponse.CONTEXT_KEY, cqParams), this::startGuardAsync); + public ModifyConfigOperation(ControlLoopOperationParams params, BidirectionalTopicConfig config) { + super(params, config, PROPERTY_NAMES); } @Override protected Request makeRequest(int attempt) { - AaiCqResponse cq = params.getContext().getProperty(AaiCqResponse.CONTEXT_KEY); - - GenericVnf genvnf = cq.getGenericVnfByModelInvariantId(params.getTarget().getResourceID()); - if (genvnf == null) { - logger.info("{}: target entity could not be found for {}", getFullName(), params.getRequestId()); - throw new IllegalArgumentException("target vnf-id could not be found"); - } - - return makeRequest(attempt, genvnf.getVnfId()); + return makeRequest(getRequiredProperty(OperationProperties.AAI_RESOURCE_VNF, "resource VNF")); } }