Remove actor and recipe checks from ControlLoopCompiler.java 64/96764/3
authordg5762 <dg5762@att.com>
Tue, 8 Oct 2019 21:04:55 +0000 (16:04 -0500)
committerdg5762 <dg5762@att.com>
Tue, 15 Oct 2019 15:56:22 +0000 (10:56 -0500)
Remove actor and recipe checks from ControlLoopCompiler.java
and adjusted associated JUNIT tests for the changes that were
implented. Removed some redundant variables, replaced null check
in actor/recipe with blank string, which checks for null as
well as empty/blank strings. drools-applications still builds
correctly.

Issue-ID: POLICY-2128
Change-Id: I83d9e3b1152d87c9c8d2c90586300aebdd53b8e2
Signed-off-by: dg5762 <dg5762@att.com>
models-interactions/model-yaml/src/main/java/org/onap/policy/controlloop/compiler/ControlLoopCompiler.java
models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/compiler/ControlLoopCompilerTest.java
models-interactions/model-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java

index c1543d0..e680969 100644 (file)
@@ -395,55 +395,23 @@ public class ControlLoopCompiler implements Serializable {
     }
 
     private static boolean isActorOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
-        if (operPolicy.getActor() == null) {
+        if (StringUtils.isBlank(operPolicy.getActor())) {
             if (callback != null) {
                 callback.onError("Policy actor is null");
             }
-            isOk = false;
-        }
-        //
-        // Construct a list for all valid actors
-        //
-        ImmutableList<String> actors = ImmutableList.of("APPC", "SDNC", "SDNR", "SO", "VFC");
-        //
-        if (operPolicy.getActor() != null && (!actors.contains(operPolicy.getActor())) ) {
-            if (callback != null) {
-                callback.onError("Policy actor is invalid");
-            }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isRecipeOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
-        if (operPolicy.getRecipe() == null) {
+        if (StringUtils.isBlank(operPolicy.getRecipe())) {
             if (callback != null) {
                 callback.onError("Policy recipe is null");
             }
-            isOk = false;
-        }
-        //
-        // NOTE: We need a way to find the acceptable recipe values (either Enum or a database that has these)
-        //
-        ImmutableMap<String, List<String>> recipes = new ImmutableMap.Builder<String, List<String>>()
-                .put("APPC", ImmutableList.of("Restart", "Rebuild", "Migrate", "ModifyConfig"))
-                .put("SDNC", ImmutableList.of("Reroute"))
-                .put("SDNR", ImmutableList.of("ModifyConfig"))
-                .put("SO", ImmutableList.of("VF Module Create", "VF Module Delete"))
-                .put("VFC", ImmutableList.of("Restart"))
-                .build();
-        //
-        if (operPolicy.getRecipe() != null
-                        && (!recipes.getOrDefault(operPolicy.getActor(),
-                                        Collections.emptyList()).contains(operPolicy.getRecipe()))) {
-            if (callback != null) {
-                callback.onError("Policy recipe is invalid");
-            }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isTargetOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
@@ -490,75 +458,69 @@ public class ControlLoopCompiler implements Serializable {
     }
 
     private static boolean isSuccessPolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getSuccess()) != null
                         && !operPolicy.getSuccess().equals(FinalResult.FINAL_SUCCESS.toString())) {
             if (callback != null) {
                 callback.onError("Policy success is neither another policy nor FINAL_SUCCESS");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isFailurePolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getFailure()) != null
                         && !operPolicy.getFailure().equals(FinalResult.FINAL_FAILURE.toString())) {
             if (callback != null) {
                 callback.onError("Policy failure is neither another policy nor FINAL_FAILURE");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isFailureRetriesPolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getFailure_retries()) != null
                         && !operPolicy.getFailure_retries().equals(FinalResult.FINAL_FAILURE_RETRIES.toString())) {
             if (callback != null) {
                 callback.onError("Policy failure retries is neither another policy nor FINAL_FAILURE_RETRIES");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isFailureTimeoutPolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getFailure_timeout()) != null
                         && !operPolicy.getFailure_timeout().equals(FinalResult.FINAL_FAILURE_TIMEOUT.toString())) {
             if (callback != null) {
                 callback.onError("Policy failure timeout is neither another policy nor FINAL_FAILURE_TIMEOUT");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isFailureExceptionPolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getFailure_exception()) != null
                         && !operPolicy.getFailure_exception().equals(FinalResult.FINAL_FAILURE_EXCEPTION.toString())) {
             if (callback != null) {
                 callback.onError("Policy failure exception is neither another policy nor FINAL_FAILURE_EXCEPTION");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static boolean isFailureGuardPolicyResultOk(Policy operPolicy, ControlLoopCompilerCallback callback) {
-        boolean isOk = true;
         if (FinalResult.toResult(operPolicy.getFailure_guard()) != null
                         && !operPolicy.getFailure_guard().equals(FinalResult.FINAL_FAILURE_GUARD.toString())) {
             if (callback != null) {
                 callback.onError("Policy failure guard is neither another policy nor FINAL_FAILURE_GUARD");
             }
-            isOk = false;
+            return false;
         }
-        return isOk;
+        return true;
     }
 
     private static PolicyNodeWrapper findPolicyNode(Map<Policy, PolicyNodeWrapper> mapNodes, String id) {
index 6603dcb..f68b9d3 100644 (file)
@@ -51,11 +51,7 @@ public class ControlLoopCompilerTest {
         expectedOnErrorMessages.add("Policy id is set to a PolicyResult SUCCESS");
         expectedOnErrorMessages.add("Policy id is set to a FinalResult FINAL_SUCCESS");
         expectedOnErrorMessages.add("Policy actor is null");
-        expectedOnErrorMessages.add("Policy actor is invalid");
         expectedOnErrorMessages.add("Policy recipe is null");
-        expectedOnErrorMessages.add(POLICY_RECIPE_IS_INVALID);
-        expectedOnErrorMessages.add(POLICY_RECIPE_IS_INVALID);
-        expectedOnErrorMessages.add(POLICY_RECIPE_IS_INVALID);
         expectedOnErrorMessages.add("Policy target is null");
         expectedOnErrorMessages.add("Policy target is invalid");
         expectedOnErrorMessages.add("Policy success is neither another policy nor FINAL_SUCCESS");
index 602e12d..5182da5 100644 (file)
@@ -697,7 +697,7 @@ public class ControlLoopPolicyBuilderTest {
                 .description(TRIGGER_RESTART)
                 .actor(null)
                 .target(null)
-                .recipe("Instantiate")
+                .recipe(null)
                 .payload(null)
                 .retries(2)
                 .timeout(300).build());
@@ -712,7 +712,7 @@ public class ControlLoopPolicyBuilderTest {
             if ("Policy actor is null".equals(m.getMessage()) && m.getLevel() == MessageLevel.ERROR) {
                 invalidActor = true;
             }
-            if ("Policy recipe is invalid".equals(m.getMessage()) && m.getLevel() == MessageLevel.ERROR) {
+            if ("Policy recipe is null".equals(m.getMessage()) && m.getLevel() == MessageLevel.ERROR) {
                 invalidRecipe = true;
             }
             if ("Policy target is null".equals(m.getMessage()) && m.getLevel() == MessageLevel.ERROR) {