Skip preprocessor step in Actors
[policy/models.git] / models-interactions / model-actors / actor.so / src / main / java / org / onap / policy / controlloop / actor / so / VfModuleDelete.java
index c67243f..7db76d2 100644 (file)
@@ -28,6 +28,7 @@ import java.net.http.HttpResponse;
 import java.net.http.HttpResponse.BodyHandlers;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.CompletableFuture;
@@ -46,6 +47,7 @@ import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
 import org.onap.policy.common.endpoints.http.client.HttpClient;
 import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;
 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.parameters.HttpPollingConfig;
 import org.onap.policy.controlloop.actorserviceprovider.pipeline.PipelineControllerFuture;
@@ -66,6 +68,15 @@ public class VfModuleDelete extends SoOperation {
 
     private static final String PATH_PREFIX = "/";
 
+    // @formatter:off
+    private static final List<String> PROPERTY_NAMES = List.of(
+                            OperationProperties.AAI_MODEL_SERVICE,
+                            OperationProperties.AAI_MODEL_VNF,
+                            OperationProperties.AAI_MODEL_CLOUD_REGION,
+                            OperationProperties.AAI_MODEL_TENANT,
+                            OperationProperties.DATA_VF_COUNT);
+    // @formatter:on
+
     /**
      * Constructs the object.
      *
@@ -73,7 +84,7 @@ public class VfModuleDelete extends SoOperation {
      * @param config configuration for this operation
      */
     public VfModuleDelete(ControlLoopOperationParams params, HttpPollingConfig config) {
-        super(params, config);
+        super(params, config, PROPERTY_NAMES);
 
         // ensure we have the necessary parameters
         validateTarget();
@@ -85,6 +96,9 @@ public class VfModuleDelete extends SoOperation {
     @Override
     @SuppressWarnings("unchecked")
     protected CompletableFuture<OperationOutcome> startPreprocessorAsync() {
+        if (params.isPreprocessed()) {
+            return null;
+        }
 
         // need the VF count
         ControlLoopOperationParams cqParams = params.toBuilder().actor(AaiConstants.ACTOR_NAME)
@@ -134,7 +148,6 @@ public class VfModuleDelete extends SoOperation {
      * HttpClient, as the JerseyClient does not support it. This will add the content-type
      * and authorization headers, so they should not be included within "headers".
      *
-     * @param <Q> request type
      * @param uri URI suffix, to be appended to the URI prefix
      * @param headers headers to be included
      * @param contentType content type of the request
@@ -143,7 +156,7 @@ public class VfModuleDelete extends SoOperation {
      * @return a future to await the response. Note: it's untested whether canceling this
      *         future will actually cancel the underlying HTTP request
      */
-    protected <Q> CompletableFuture<Response> delete(String uri, Map<String, Object> headers, String contentType,
+    protected CompletableFuture<Response> delete(String uri, Map<String, Object> headers, String contentType,
                     String request, InvocationCallback<Response> callback) {
         // TODO move to HttpOperation