Use builder for trigger policy 29/72429/1
authorkrishnajinka <kris.jinka@samsung.com>
Mon, 12 Nov 2018 14:40:08 +0000 (23:40 +0900)
committerkrishnajinka <kris.jinka@samsung.com>
Mon, 12 Nov 2018 14:40:29 +0000 (23:40 +0900)
Fix an issue reported by sonar for using more than
7 parameters in the method.

Issue-ID: POLICY-1251
Change-Id: I07d668b706a27dcc03e862d08262f2c0269ad4b7
Signed-off-by: Krishnajinka <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 8ea33d5..123fe2f 100644 (file)
@@ -26,6 +26,7 @@ import org.onap.policy.aai.Pnf;
 import org.onap.policy.controlloop.policy.ControlLoop;
 import org.onap.policy.controlloop.policy.OperationsAccumulateParams;
 import org.onap.policy.controlloop.policy.Policy;
+import org.onap.policy.controlloop.policy.PolicyParam;
 import org.onap.policy.controlloop.policy.PolicyResult;
 import org.onap.policy.controlloop.policy.Target;
 import org.onap.policy.controlloop.policy.builder.impl.ControlLoopPolicyBuilderImpl;
@@ -135,18 +136,11 @@ public interface ControlLoopPolicyBuilder {
      * Platform.
      * 
      * 
-     * @param name name
-     * @param description description
-     * @param actor actor
-     * @param target target
-     * @param recipe recipe
-     * @param retries retries
-     * @param timeout timeout
+     * @param policy Policy parameters object
      * @return Policy object
      * @throws BuilderException builder exception
      */
-    public Policy setTriggerPolicy(String name, String description, String actor, Target target, String recipe,
-            Map<String, String> payload, Integer retries, Integer timeout) throws BuilderException;
+    public Policy setTriggerPolicy(PolicyParam policy) throws BuilderException;
 
     /**
      * Changes the trigger policy to point to another existing Policy.
@@ -155,7 +149,7 @@ public interface ControlLoopPolicyBuilder {
      * @return ControlLoop object
      * @throws BuilderException build exception
      */
-    public ControlLoop setTriggerPolicy(String id) throws BuilderException;
+    public ControlLoop setExistingTriggerPolicy(String id) throws BuilderException;
 
     /**
      * Is an open loop.
index 48f9291..6950523 100644 (file)
@@ -199,21 +199,10 @@ public class ControlLoopPolicyBuilderImpl implements ControlLoopPolicyBuilder {
     }
 
     @Override
-    public Policy setTriggerPolicy(String name, String description, String actor, Target target,
-                                   String recipe, Map<String, String> payload, Integer retries, Integer timeout)
+    public Policy setTriggerPolicy(PolicyParam policyParam)
             throws BuilderException {
 
-        Policy trigger = new Policy(PolicyParam.builder()
-                .id(UUID.randomUUID().toString())
-                .name(name)
-                .description(description)
-                .actor(actor)
-                .payload(payload)
-                .target(target)
-                .recipe(recipe)
-                .retries(retries)
-                .timeout(timeout)
-                .build());
+        Policy trigger = new Policy(policyParam);
 
         controlLoopPolicy.getControlLoop().setTrigger_policy(trigger.getId());
 
@@ -225,7 +214,7 @@ public class ControlLoopPolicyBuilderImpl implements ControlLoopPolicyBuilder {
     }
 
     @Override
-    public ControlLoop setTriggerPolicy(String id) throws BuilderException {
+    public ControlLoop setExistingTriggerPolicy(String id) throws BuilderException {
         if (id == null) {
             throw new BuilderException("Id must not be null");
         }
index 90ce96b..ac36603 100644 (file)
@@ -329,8 +329,15 @@ public class ControlLoopPolicyBuilderTest {
             // Test calculateTimeout
             //
             Policy trigger =
-                    builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                            new Target(TargetType.VM), "Restart", null, 2, 300);
+                    builder.setTriggerPolicy(PolicyParam.builder().id(UUID.randomUUID().toString())
+                            .name("Restart the VM")
+                            .description("Upon getting the trigger event, restart the VM")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Restart")
+                            .payload(null)
+                            .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,
@@ -355,8 +362,16 @@ public class ControlLoopPolicyBuilderTest {
             // Test set initial trigger policy
             //
             Policy triggerPolicy1 =
-                    builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                            new Target(TargetType.VM), "Restart", null, 2, 300);
+                    builder.setTriggerPolicy(
+                            PolicyParam.builder().id(UUID.randomUUID().toString())
+                            .name("Restart the VM")
+                            .description("Upon getting the trigger event, restart the VM")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Restart")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(300).build());
             assertTrue(builder.isOpenLoop() == false);
             assertTrue(builder.getControlLoop().getTrigger_policy().equals(triggerPolicy1.getId()));
             //
@@ -364,13 +379,22 @@ public class ControlLoopPolicyBuilderTest {
             //
             @SuppressWarnings("unused")
             Policy triggerPolicy2 =
-                    builder.setTriggerPolicy("Rebuild the VM", "Upon getting the trigger event, rebuild the VM", "APPC",
-                            new Target(TargetType.VM), "Rebuild", null, 2, 300);
+                    builder.setTriggerPolicy(
+                            PolicyParam.builder()
+                            .id(UUID.randomUUID().toString())
+                            .name("Rebuild the VM")
+                            .description("Upon getting the trigger event, rebuild the VM")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Rebuild")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(300).build());
             //
             // Test set trigger policy to another existing policy
             //
             @SuppressWarnings("unused")
-            ControlLoop cl = builder.setTriggerPolicy(triggerPolicy1.getId());
+            ControlLoop cl = builder.setExistingTriggerPolicy(triggerPolicy1.getId());
             assertTrue(builder.getControlLoop().getTrigger_policy().equals(triggerPolicy1.getId()));
             //
             // Test get trigger policy
@@ -388,7 +412,7 @@ public class ControlLoopPolicyBuilderTest {
                 ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
         expectedException.expect(BuilderException.class);
         expectedException.expectMessage("Id must not be null");
-        builder.setTriggerPolicy(null);
+        builder.setExistingTriggerPolicy(null);
     }
 
     @Test
@@ -398,19 +422,28 @@ public class ControlLoopPolicyBuilderTest {
         final String unknownPolicyId = "100";
         expectedException.expect(BuilderException.class);
         expectedException.expectMessage("Unknown policy " + unknownPolicyId);
-        builder.setTriggerPolicy(unknownPolicyId);
+        builder.setExistingTriggerPolicy(unknownPolicyId);
     }
 
     @Test
     public void testSetTriggerPolicyUnknownPolicy() throws BuilderException {
         ControlLoopPolicyBuilder builder =
                 ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
-        builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                new Target(TargetType.VM), "Restart", null, 2, 300);
+        builder.setTriggerPolicy(
+                PolicyParam.builder()
+                .id(UUID.randomUUID().toString())
+                .name("Restart the VM")
+                .description("Upon getting the trigger event, restart the VM")
+                .actor("APPC")
+                .target(new Target(TargetType.VM))
+                .recipe("Restart")
+                .payload(null)
+                .retries(2)
+                .timeout(300).build());
         final String unknownPolicyId = "100";
         expectedException.expect(BuilderException.class);
         expectedException.expectMessage("Unknown policy " + unknownPolicyId);
-        builder.setTriggerPolicy(unknownPolicyId);
+        builder.setExistingTriggerPolicy(unknownPolicyId);
     }
 
     @Test
@@ -419,8 +452,17 @@ public class ControlLoopPolicyBuilderTest {
             ControlLoopPolicyBuilder builder =
                     ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
             Policy triggerPolicy =
-                    builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                            new Target(TargetType.VM), "Restart", null, 2, 300);
+                    builder.setTriggerPolicy(
+                            PolicyParam.builder()
+                            .id(UUID.randomUUID().toString())
+                            .name("Restart the VM")
+                            .description("Upon getting the trigger event, restart the VM")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Restart")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(300).build());
             //
             // Test create a policy and chain it to the results of trigger policy
             //
@@ -524,8 +566,17 @@ public class ControlLoopPolicyBuilderTest {
         ControlLoopPolicyBuilder builder =
                 ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
         Policy triggerPolicy =
-                builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                        new Target(TargetType.VM), "Restart", null, 2, 300);
+                builder.setTriggerPolicy(
+                        PolicyParam.builder()
+                        .id(UUID.randomUUID().toString())
+                        .name("Restart the VM")
+                        .description("Upon getting the trigger event, restart the VM")
+                        .actor("APPC")
+                        .target(new Target(TargetType.VM))
+                        .recipe("Restart")
+                        .payload(null)
+                        .retries(2)
+                        .timeout(300).build());
 
 
         Policy onRestartFailurePolicy = builder.setPolicyForPolicyResult("Rebuild VM",
@@ -544,8 +595,17 @@ public class ControlLoopPolicyBuilderTest {
         ControlLoopPolicyBuilder builder =
                 ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
         Policy triggerPolicy =
-                builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                        new Target(TargetType.VM), "Restart", null, 2, 300);
+                builder.setTriggerPolicy(
+                        PolicyParam.builder()
+                        .id(UUID.randomUUID().toString())
+                        .name("Restart the VM")
+                        .description("Upon getting the trigger event, restart the VM")
+                        .actor("APPC")
+                        .target(new Target(TargetType.VM))
+                        .recipe("Restart")
+                        .payload(null)
+                        .retries(2)
+                        .timeout(300).build());
 
         final String unknownPolicyId = "100";
         expectedException.expect(BuilderException.class);
@@ -560,8 +620,17 @@ public class ControlLoopPolicyBuilderTest {
             ControlLoopPolicyBuilder builder =
                     ControlLoopPolicyBuilder.Factory.buildControlLoop(UUID.randomUUID().toString(), 2400);
             Policy triggerPolicy =
-                    builder.setTriggerPolicy("Restart the eNodeB", "Upon getting the trigger event, restart the eNodeB",
-                            "RANController", new Target(TargetType.PNF), "Restart", null, 2, 300);
+                    builder.setTriggerPolicy(
+                            PolicyParam.builder()
+                            .id(UUID.randomUUID().toString())
+                            .name("Restart the eNodeB")
+                            .description("Upon getting the trigger event, restart the eNodeB")
+                            .actor("RANController")
+                            .target(new Target(TargetType.PNF))
+                            .recipe("Restart")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(300).build());
             //
             // Add the operationsAccumulateParams
             //
@@ -588,8 +657,17 @@ public class ControlLoopPolicyBuilderTest {
             //
             // Set the first invalid trigger policy
             //
-            final Policy policy1 = builder.setTriggerPolicy("Restart the VM",
-                    "Upon getting the trigger event, restart the VM", null, null, "Instantiate", null, 2, 300);
+            final Policy policy1 = builder.setTriggerPolicy(
+                    PolicyParam.builder()
+                    .id(UUID.randomUUID().toString())
+                    .name("Restart the VM")
+                    .description("Upon getting the trigger event, restart the VM")
+                    .actor(null)
+                    .target(null)
+                    .recipe("Instantiate")
+                    .payload(null)
+                    .retries(2)
+                    .timeout(300).build());
             Results results = builder.buildSpecification();
             //
             // Check that ERRORs are in results for invalid policy arguments
@@ -622,14 +700,32 @@ public class ControlLoopPolicyBuilderTest {
             //
             // Set a valid trigger policy
             //
-            Policy policy1a = builder.setTriggerPolicy("Rebuild VM", "If the restart fails, rebuild it.", "APPC",
-                    new Target(TargetType.VM), "Rebuild", null, 1, 600);
+            Policy policy1a = builder.setTriggerPolicy(
+                    PolicyParam.builder()
+                    .id(UUID.randomUUID().toString())
+                    .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).build());
             //
             // Set a second valid trigger policy
             //
             final Policy policy2 =
-                    builder.setTriggerPolicy("Restart the VM", "Upon getting the trigger event, restart the VM", "APPC",
-                            new Target(TargetType.VM), "Restart", null, 2, 300);
+                    builder.setTriggerPolicy(
+                            PolicyParam.builder()
+                            .id(UUID.randomUUID().toString())
+                            .name("Restart the VM")
+                            .description("Upon getting the trigger event, restart the VM")
+                            .actor("APPC")
+                            .target(new Target(TargetType.VM))
+                            .recipe("Restart")
+                            .payload(null)
+                            .retries(2)
+                            .timeout(300).build());
             //
             // Now, we have policy1 unreachable
             //
@@ -753,8 +849,17 @@ public class ControlLoopPolicyBuilderTest {
             if (policyTobuild.getPolicies() != null) {
                 for (Policy policy : policyTobuild.getPolicies()) {
                     if (policy.getId() == policyTobuild.getControlLoop().getTrigger_policy()) {
-                        builder.setTriggerPolicy(policy.getName(), policy.getDescription(), policy.getActor(),
-                                policy.getTarget(), policy.getRecipe(), null, policy.getRetry(), policy.getTimeout());
+                        builder.setTriggerPolicy(
+                                PolicyParam.builder()
+                                .id(UUID.randomUUID().toString())
+                                .name(policy.getName())
+                                .description(policy.getDescription())
+                                .actor(policy.getActor())
+                                .target(policy.getTarget())
+                                .recipe(policy.getRecipe())
+                                .payload(null)
+                                .retries(policy.getRetry())
+                                .timeout(policy.getTimeout()).build());
                     }
                 }
             }