Actor updates to support SO 25/101925/1
authorJim Hahn <jrh3@att.com>
Tue, 18 Feb 2020 13:13:45 +0000 (08:13 -0500)
committerJim Hahn <jrh3@att.com>
Tue, 18 Feb 2020 17:51:37 +0000 (12:51 -0500)
Used SuperBuilder in operation Params classes.
Added rawResponse to http setOutcome().
Made HttpOperation.operator private.

Issue-ID: POLICY-2371
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ie894f2e6ae4a31b69a700e425f9e94c5e8a15daa

models-interactions/model-actors/actor.aai/src/main/java/org/onap/policy/controlloop/actor/aai/AaiCustomQueryOperation.java
models-interactions/model-actors/actor.aai/src/main/java/org/onap/policy/controlloop/actor/aai/AaiGetOperation.java
models-interactions/model-actors/actor.sdnc/src/main/java/org/onap/policy/controlloop/actor/sdnc/SdncOperation.java
models-interactions/model-actors/actor.so/src/main/java/org/onap/policy/controlloop/actor/so/SoActorServiceProvider.java
models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/HttpOperation.java
models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicParams.java
models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpParams.java
models-interactions/model-actors/actorServiceProvider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/parameters/BidirectionalTopicParamsTest.java
models-interactions/model-actors/actorServiceProvider/src/test/java/org/onap/policy/controlloop/actorserviceprovider/parameters/HttpParamsTest.java

index e32734b..4277015 100644 (file)
@@ -91,7 +91,7 @@ public class AaiCustomQueryOperation extends HttpOperation<String> {
 
         // @formatter:off
         return handleResponse(outcome, url,
-            callback -> operator.getClient().put(callback, makePath(), entity, headers));
+            callback -> getOperator().getClient().put(callback, makePath(), entity, headers));
         // @formatter:on
     }
 
index ee1c461..dd3a4d6 100644 (file)
@@ -98,7 +98,7 @@ public class AaiGetOperation extends HttpOperation<StandardCoderObject> {
 
         // @formatter:off
         return handleResponse(outcome, url,
-            callback -> operator.getClient().get(callback, makePath(), headers));
+            callback -> getOperator().getClient().get(callback, makePath(), headers));
         // @formatter:on
     }
 
@@ -109,7 +109,7 @@ public class AaiGetOperation extends HttpOperation<StandardCoderObject> {
 
     @Override
     public String makePath() {
-        return (operator.getPath() + "/" + params.getTargetEntity());
+        return (getOperator().getPath() + "/" + params.getTargetEntity());
     }
 
     /**
index 406722e..f6cacd9 100644 (file)
@@ -73,7 +73,7 @@ public abstract class SdncOperation extends HttpOperation<SdncResponse> {
 
         // @formatter:off
         return handleResponse(outcome, url,
-            callback -> operator.getClient().post(callback, makePath(), entity, headers));
+            callback -> getOperator().getClient().post(callback, makePath(), entity, headers));
         // @formatter:on
     }
 
index a743f49..51d14a2 100644 (file)
@@ -54,12 +54,13 @@ import org.slf4j.LoggerFactory;
 public class SoActorServiceProvider extends ActorImpl {
     private static final Logger logger = LoggerFactory.getLogger(SoActorServiceProvider.class);
 
+    public static final String NAME = "SO";
+
+    // TODO old code: remove lines down to **HERE**
+
     private static final String TENANT_NOT_FOUND = "Tenant Item not found in AAI response {}";
     private static final String CONSTRUCTED_SO_MSG = "Constructed SO request: {}";
 
-    // Strings for SO Actor
-    private static final String SO_ACTOR = "SO";
-
     // Strings for targets
     private static final String TARGET_VFC = "VFC";
 
@@ -89,13 +90,17 @@ public class SoActorServiceProvider extends ActorImpl {
     private static String lastServiceItemServiceInstanceId;
     private static String lastVfModuleItemVfModuleInstanceId;
 
+    // **HERE**
+
     public SoActorServiceProvider() {
-        super(SO_ACTOR);
+        super(NAME);
     }
 
+    // TODO old code: remove lines down to **HERE**
+
     @Override
     public String actor() {
-        return SO_ACTOR;
+        return NAME;
     }
 
     @Override
@@ -237,7 +242,7 @@ public class SoActorServiceProvider extends ActorImpl {
      */
     public SoRequest constructRequestCq(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy,
             AaiCqResponse aaiCqResponse) {
-        if (!SO_ACTOR.equals(policy.getActor()) || !recipes().contains(policy.getRecipe())) {
+        if (!NAME.equals(policy.getActor()) || !recipes().contains(policy.getRecipe())) {
             return null;
         }
 
@@ -444,4 +449,6 @@ public class SoActorServiceProvider extends ActorImpl {
         return cloudConfiguration;
     }
 
+    // **HERE**
+
 }
index c3c0f6d..da4887e 100644 (file)
@@ -54,7 +54,7 @@ public abstract class HttpOperation<T> extends OperationPartial {
     /**
      * Operator that created this operation.
      */
-    protected final HttpOperator operator;
+    private final HttpOperator operator;
 
     /**
      * Response class.
@@ -188,11 +188,11 @@ public abstract class HttpOperation<T> extends OperationPartial {
         if (!isSuccess(rawResponse, response)) {
             logger.info("{}.{} request failed with http error code {} for {}", params.getActor(), params.getOperation(),
                             rawResponse.getStatus(), params.getRequestId());
-            return CompletableFuture.completedFuture(setOutcome(outcome, PolicyResult.FAILURE, response));
+            return CompletableFuture.completedFuture(setOutcome(outcome, PolicyResult.FAILURE, rawResponse, response));
         }
 
         logger.info("{}.{} request succeeded for {}", params.getActor(), params.getOperation(), params.getRequestId());
-        setOutcome(outcome, PolicyResult.SUCCESS, response);
+        setOutcome(outcome, PolicyResult.SUCCESS, rawResponse, response);
         return postProcessResponse(outcome, url, rawResponse, response);
     }
 
@@ -201,10 +201,13 @@ public abstract class HttpOperation<T> extends OperationPartial {
      *
      * @param outcome operation to be updated
      * @param result result of the operation
-     * @param response response used to populate the outcome
+     * @param rawResponse raw response
+     * @param response decoded response
      * @return the updated operation
      */
-    public OperationOutcome setOutcome(OperationOutcome outcome, PolicyResult result, T response) {
+    public OperationOutcome setOutcome(OperationOutcome outcome, PolicyResult result, Response rawResponse,
+                    T response) {
+
         return setOutcome(outcome, result);
     }
 
index cafca1f..d1d3faf 100644 (file)
@@ -20,8 +20,8 @@
 
 package org.onap.policy.controlloop.actorserviceprovider.parameters;
 
-import lombok.Builder;
 import lombok.Data;
+import lombok.experimental.SuperBuilder;
 import org.onap.policy.common.parameters.BeanValidator;
 import org.onap.policy.common.parameters.ValidationResult;
 import org.onap.policy.common.parameters.annotations.Min;
@@ -34,7 +34,7 @@ import org.onap.policy.common.parameters.annotations.NotNull;
 @NotNull
 @NotBlank
 @Data
-@Builder(toBuilder = true)
+@SuperBuilder(toBuilder = true)
 public class BidirectionalTopicParams {
 
     /**
index 2d3ab8b..57270ac 100644 (file)
@@ -20,8 +20,8 @@
 
 package org.onap.policy.controlloop.actorserviceprovider.parameters;
 
-import lombok.Builder;
 import lombok.Data;
+import lombok.experimental.SuperBuilder;
 import org.onap.policy.common.parameters.BeanValidator;
 import org.onap.policy.common.parameters.ValidationResult;
 import org.onap.policy.common.parameters.annotations.Min;
@@ -34,7 +34,7 @@ import org.onap.policy.common.parameters.annotations.NotNull;
 @NotNull
 @NotBlank
 @Data
-@Builder(toBuilder = true)
+@SuperBuilder(toBuilder = true)
 public class HttpParams {
 
     /**
index 7e44fa2..0ec0bb5 100644 (file)
@@ -67,8 +67,11 @@ public class BidirectionalTopicParamsTest {
         assertEquals(params, params.toBuilder().build());
     }
 
+    // @formatter:off
     private void testValidateField(String fieldName, String expected,
-                    Function<BidirectionalTopicParamsBuilder, BidirectionalTopicParamsBuilder> makeInvalid) {
+            @SuppressWarnings("rawtypes") Function<BidirectionalTopicParamsBuilder, BidirectionalTopicParamsBuilder>
+                makeInvalid) {
+        // @formatter:on
 
         // original params should be valid
         ValidationResult result = params.validate(CONTAINER);
index fdfb4b4..8d4d446 100644 (file)
@@ -68,7 +68,7 @@ public class HttpParamsTest {
     }
 
     private void testValidateField(String fieldName, String expected,
-                    Function<HttpParamsBuilder, HttpParamsBuilder> makeInvalid) {
+                    @SuppressWarnings("rawtypes") Function<HttpParamsBuilder, HttpParamsBuilder> makeInvalid) {
 
         // original params should be valid
         ValidationResult result = params.validate(CONTAINER);