Use parameter obj for policy results 88/72488/1
authorkris.jinka <kris.jinka@samsung.com>
Tue, 13 Nov 2018 00:10:52 +0000 (09:10 +0900)
committerkris.jinka <kris.jinka@samsung.com>
Tue, 13 Nov 2018 00:11:41 +0000 (09:11 +0900)
Policy result method uses more params than allowed
Use parameter object for setting params instead

Issue-ID: POLICY-1251
Change-Id: I6bf1f20896dc5176811bc363a390c682faa06ca4
Signed-off-by: kris.jinka <kris.jinka@samsung.com>
controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/ControlLoopPolicyBuilder.java
controlloop/common/policy-yaml/src/main/java/org/onap/policy/controlloop/policy/builder/impl/ControlLoopPolicyBuilderImpl.java
controlloop/common/policy-yaml/src/test/java/org/onap/policy/controlloop/policy/ControlLoopPolicyBuilderTest.java

index 123fe2f..3c43756 100644 (file)
@@ -177,20 +177,12 @@ public interface ControlLoopPolicyBuilder {
     /**
      * Creates a policy that is chained to the result of another Policy.
      * 
-     * @param name name
-     * @param description description
-     * @param actor actor
-     * @param target target
-     * @param recipe recipe
-     * @param retries retries
-     * @param timeout timeout
-     * @param policyId id
+     * @param policyParam policy parameters object
      * @param results results
      * @return Policy that was set
      * @throws BuilderException builder exception
      */
-    public Policy setPolicyForPolicyResult(String name, String description, String actor, Target target, String recipe,
-            Map<String, String> payload, Integer retries, Integer timeout, String policyId, PolicyResult... results)
+    public Policy setPolicyForPolicyResult(PolicyParam policyParam, PolicyResult... results)
             throws BuilderException;
 
 
index 6950523..bd39398 100644 (file)
@@ -228,30 +228,28 @@ public class ControlLoopPolicyBuilderImpl implements ControlLoopPolicyBuilder {
     }
 
     @Override
-    public Policy setPolicyForPolicyResult(String name, String description, String actor, Target target, String recipe,
-                                           Map<String, String> payload, Integer retries, Integer timeout,
-                                           String policyId, PolicyResult... results)
+    public Policy setPolicyForPolicyResult(PolicyParam policyParam, PolicyResult... results)
             throws BuilderException {
         //
         // Find the existing policy
         //
-        Policy existingPolicy = this.findPolicy(policyId);
+        Policy existingPolicy = this.findPolicy(policyParam.getId());
         if (existingPolicy == null) {
-            throw new BuilderException(UNKNOWN_POLICY + policyId);
+            throw new BuilderException(UNKNOWN_POLICY + policyParam.getId());
         }
         //
         // Create the new Policy
         //
         Policy newPolicy = new Policy(
                 PolicyParam.builder().id(UUID.randomUUID().toString())
-                .name(name)
-                .description(description)
-                .actor(actor)
-                .payload(payload)
-                .target(target)
-                .recipe(recipe)
-                .retries(retries)
-                .timeout(timeout)
+                .name(policyParam.getName())
+                .description(policyParam.getDescription())
+                .actor(policyParam.getActor())
+                .payload(policyParam.getPayload())
+                .target(policyParam.getTarget())
+                .recipe(policyParam.getRecipe())
+                .retries(policyParam.getRetries())
+                .timeout(policyParam.getTimeout())
                 .build());
         //
         // Connect the results
index ac36603..be5e488 100644 (file)
@@ -339,9 +339,20 @@ public class ControlLoopPolicyBuilderTest {
                             .retries(2)
                             .timeout(300).build());
             @SuppressWarnings("unused")
-            Policy onRestartFailurePolicy = builder.setPolicyForPolicyResult("Rebuild VM",
-                    "If the restart fails, rebuild it", "APPC", new Target(TargetType.VM), "Rebuild", null, 1, 600,
-                    trigger.getId(), PolicyResult.FAILURE, PolicyResult.FAILURE_RETRIES, PolicyResult.FAILURE_TIMEOUT);
+            Policy onRestartFailurePolicy = builder.setPolicyForPolicyResult(
+                    PolicyParam.builder()
+                            .name("Rebuild VM")
+                            .description("If the restart fails, rebuild it")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Rebuild")
+                            .payload(null)
+                            .retries(1)
+                            .timeout(600)
+                            .id(trigger.getId()).build(),
+                            PolicyResult.FAILURE,
+                            PolicyResult.FAILURE_RETRIES,
+                            PolicyResult.FAILURE_TIMEOUT);
             assertTrue(builder.calculateTimeout().equals(new Integer(300 + 600)));
             //
         } catch (BuilderException e) {
@@ -466,10 +477,22 @@ public class ControlLoopPolicyBuilderTest {
             //
             // Test create a policy and chain it to the results of trigger policy
             //
-            Policy onRestartFailurePolicy1 = builder.setPolicyForPolicyResult("Rebuild VM",
-                    "If the restart fails, rebuild it.", "APPC", new Target(TargetType.VM), "Rebuild", null, 1, 600,
-                    triggerPolicy.getId(), PolicyResult.FAILURE, PolicyResult.FAILURE_EXCEPTION,
-                    PolicyResult.FAILURE_RETRIES, PolicyResult.FAILURE_TIMEOUT, PolicyResult.FAILURE_GUARD);
+            Policy onRestartFailurePolicy1 = builder.setPolicyForPolicyResult(
+                    PolicyParam.builder()
+                    .name("Rebuild VM")
+                    .description("If the restart fails, rebuild it.")
+                    .actor("APPC")
+                    .target(new Target(TargetType.VM))
+                    .recipe("Rebuild")
+                    .payload(null)
+                    .retries(1)
+                    .timeout(600)
+                    .id(triggerPolicy.getId()).build(),
+                    PolicyResult.FAILURE,
+                    PolicyResult.FAILURE_EXCEPTION,
+                    PolicyResult.FAILURE_RETRIES,
+                    PolicyResult.FAILURE_TIMEOUT,
+                    PolicyResult.FAILURE_GUARD);
             //
             assertTrue(builder.getTriggerPolicy().getFailure().equals(onRestartFailurePolicy1.getId()));
             assertTrue(builder.getTriggerPolicy().getFailure_exception().equals(onRestartFailurePolicy1.getId()));
@@ -480,9 +503,18 @@ public class ControlLoopPolicyBuilderTest {
             //
             // Test create a policy and chain it to the results of trigger policy success
             //
-            Policy onSuccessPolicy1 = builder.setPolicyForPolicyResult("Do something",
-                    "If the restart succeeds, do something else.", "APPC", new Target(TargetType.VM), "SomethingElse",
-                    null, 1, 600, triggerPolicy.getId(), PolicyResult.SUCCESS);
+            Policy onSuccessPolicy1 = builder.setPolicyForPolicyResult(
+                    PolicyParam.builder()
+                    .name("Do something")
+                    .description("If the restart succeeds, do something else.")
+                    .actor("APPC")
+                    .target(new Target(TargetType.VM))
+                    .recipe("SomethingElse")
+                    .payload(null)
+                    .retries(1)
+                    .timeout(600)
+                    .id(triggerPolicy.getId()).build(),
+                    PolicyResult.SUCCESS);
             //
             assertTrue(builder.getTriggerPolicy().getSuccess().equals(onSuccessPolicy1.getId()));
 
@@ -502,9 +534,20 @@ public class ControlLoopPolicyBuilderTest {
             // Create another policy and chain it to the results of trigger policy
             //
             final Policy onRestartFailurePolicy2 =
-                    builder.setPolicyForPolicyResult("Rebuild VM", "If the restart fails, rebuild it.", "APPC",
-                            new Target(TargetType.VM), "Rebuild", null, 2, 600, triggerPolicy.getId(),
-                            PolicyResult.FAILURE, PolicyResult.FAILURE_RETRIES, PolicyResult.FAILURE_TIMEOUT);
+                    builder.setPolicyForPolicyResult(
+                            PolicyParam.builder()
+                            .name("Rebuild VM")
+                            .description("If the restart fails, rebuild it.")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Rebuild")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(600)
+                            .id(triggerPolicy.getId()).build(),
+                            PolicyResult.FAILURE,
+                            PolicyResult.FAILURE_RETRIES,
+                            PolicyResult.FAILURE_TIMEOUT);
             //
             // Test reset policy results
             //
@@ -556,9 +599,21 @@ public class ControlLoopPolicyBuilderTest {
         expectedException.expect(BuilderException.class);
         expectedException.expectMessage("Unknown policy " + policyId);
 
-        builder.setPolicyForPolicyResult("Rebuild VM", "If the restart fails, rebuild it.", "APPC",
-                new Target(TargetType.VM), "Rebuild", null, 1, 600, policyId, PolicyResult.FAILURE,
-                PolicyResult.FAILURE_RETRIES, PolicyResult.FAILURE_TIMEOUT, PolicyResult.FAILURE_GUARD);
+        builder.setPolicyForPolicyResult(
+                PolicyParam.builder()
+                .name("Rebuild VM")
+                .description("If the restart fails, rebuild it.")
+                .actor("APPC")
+                .target(new Target(TargetType.VM))
+                .recipe("Rebuild")
+                .payload(null)
+                .retries(1)
+                .timeout(600)
+                .id(policyId).build(),
+                PolicyResult.FAILURE,
+                PolicyResult.FAILURE_RETRIES,
+                PolicyResult.FAILURE_TIMEOUT,
+                PolicyResult.FAILURE_GUARD);
     }
 
     @Test
@@ -579,9 +634,18 @@ public class ControlLoopPolicyBuilderTest {
                         .timeout(300).build());
 
 
-        Policy onRestartFailurePolicy = builder.setPolicyForPolicyResult("Rebuild VM",
-                "If the restart fails, rebuild it.", "APPC", new Target(TargetType.VM), "Rebuild", null, 1, 600,
-                triggerPolicy.getId(), PolicyResult.FAILURE);
+        Policy onRestartFailurePolicy = builder.setPolicyForPolicyResult(
+                PolicyParam.builder()
+                .name("Rebuild VM")
+                .description("If the restart fails, rebuild it.")
+                .actor("APPC")
+                .target(new Target(TargetType.VM))
+                .recipe("Rebuild")
+                .payload(null)
+                .retries(1)
+                .timeout(600)
+                .id(triggerPolicy.getId()).build(),
+                PolicyResult.FAILURE);
 
         final String unknownPolicyId = "100";
         expectedException.expect(BuilderException.class);