From 84223fab05c1493df05db20016a83687bdaee975 Mon Sep 17 00:00:00 2001 From: Krishnajinka Date: Mon, 13 Aug 2018 15:44:55 +0900 Subject: Modify std pap policy to use builder in constr Fix sonar issue about constructor using more than 7 params. Use builder parameters object for setting the attributes of std pap policy.Rework2 Issue-ID: POLICY-1016 Change-Id: If26f7daa8d5b5d387238aad74daeddd49a8b95bb Signed-off-by: Krishnajinka --- .../onap/policy/xacml/std/pap/StdPAPPolicy.java | 75 ++++------- .../policy/xacml/std/pap/StdPAPPolicyParams.java | 142 ++++++++++++++++++++- .../xacml/test/std/pap/StdPAPPolicyTest.java | 41 ++++-- 3 files changed, 190 insertions(+), 68 deletions(-) (limited to 'ONAP-XACML') diff --git a/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicy.java b/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicy.java index 264b2b784..435e3c347 100644 --- a/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicy.java +++ b/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicy.java @@ -3,6 +3,7 @@ * ONAP-XACML * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -101,16 +102,23 @@ public class StdPAPPolicy implements OnapPAPPolicy, Serializable { this.configPolicyType = configPolicyType; } - //Constructor for Create Config Policies from API and Admin Console - //Constructor for Updating Config Policies from the API - //convenience constructor + /** + * Constructor for + * Create Config Policies from API and Admin Console + * Updating Config Policies from the API + * Create/Update Action Policies from API + * Create/Update Decision Policies + * @param stdPAPPolicyParams Input params object + */ public StdPAPPolicy(StdPAPPolicyParams stdPAPPolicyParams) { this.configPolicyType=stdPAPPolicyParams.getConfigPolicyType(); this.policyName = stdPAPPolicyParams.getPolicyName(); this.policyDescription = stdPAPPolicyParams.getDescription(); this.onapName = stdPAPPolicyParams.getOnapName(); + this.providerComboBox = stdPAPPolicyParams.getProviderComboBox(); this.configName = stdPAPPolicyParams.getConfigName(); - this.dyanamicFieldConfigAttributes = stdPAPPolicyParams.getAttributes(); + this.dyanamicFieldConfigAttributes = stdPAPPolicyParams.getDyanamicFieldConfigAttributes(); + this.dynamicSettingsMap = stdPAPPolicyParams.getDynamicSettingsMap(); this.configType = stdPAPPolicyParams.getConfigType(); this.configBodyData = stdPAPPolicyParams.getConfigBodyData(); this.editPolicy = stdPAPPolicyParams.getEditPolicy(); @@ -120,55 +128,16 @@ public class StdPAPPolicy implements OnapPAPPolicy, Serializable { this.riskType = stdPAPPolicyParams.getRiskType(); this.guard = stdPAPPolicyParams.getGuard(); this.ttlDate = stdPAPPolicyParams.getTtlDate(); - } - - //Constructor for Create/Update Action Policies from API - public StdPAPPolicy(String policyName, String description, Map attributes, - List dynamicRuleAlgorithmLabels, List dynamicRuleAlgorithmCombo, - List dynamicRuleAlgorithmField1, List dynamicRuleAlgorithmField2, - String actionPerformer, String actionAttribute, Boolean editPolicy, - String domain, int highestVersion) { - - this.policyName = policyName; - this.policyDescription = description; - this.dyanamicFieldConfigAttributes = attributes; - this.dynamicRuleAlgorithmLabels = dynamicRuleAlgorithmLabels; - this.dynamicRuleAlgorithmCombo = dynamicRuleAlgorithmCombo; - this.dynamicRuleAlgorithmField1 = dynamicRuleAlgorithmField1; - this.dynamicRuleAlgorithmField2 = dynamicRuleAlgorithmField2; - this.actionPerformer = actionPerformer; - this.actionAttribute = actionAttribute; - this.editPolicy = editPolicy; - this.domain = domain; - this.highestVersion = highestVersion; - - } - - //Constructor for Create/Update Decision Policies - public StdPAPPolicy(String policyName, String description, String onapName, String providerComboBox, - Map attributes, Map settings, Map treatments, - List dynamicRuleAlgorithmLabels, List dynamicRuleAlgorithmCombo, - List dynamicRuleAlgorithmField1, - List dynamicRuleAlgorithmField2, Map dropDownMap, - List dynamicVariableList, - List dataTypeList, Boolean editPolicy, String domain, int highestVersion) { - this.policyName = policyName; - this.policyDescription = description; - this.onapName = onapName; - this.setProviderComboBox(providerComboBox); - this.dyanamicFieldConfigAttributes = attributes; - this.dynamicSettingsMap = settings; - this.dynamicRuleAlgorithmLabels = dynamicRuleAlgorithmLabels; - this.dynamicRuleAlgorithmCombo = dynamicRuleAlgorithmCombo; - this.dynamicRuleAlgorithmField1 = dynamicRuleAlgorithmField1; - this.dynamicRuleAlgorithmField2 = dynamicRuleAlgorithmField2; - this.dynamicVariableList = dynamicVariableList; - this.dataTypeList = dataTypeList; - this.dropDownMap = dropDownMap; - this.editPolicy = editPolicy; - this.domain = domain; - this.highestVersion = highestVersion; - this.treatments = treatments; + this.dynamicRuleAlgorithmLabels = stdPAPPolicyParams.getDynamicRuleAlgorithmLabels(); + this.dynamicRuleAlgorithmCombo = stdPAPPolicyParams.getDynamicRuleAlgorithmCombo(); + this.dynamicRuleAlgorithmField1 = stdPAPPolicyParams.getDynamicRuleAlgorithmField1(); + this.dynamicRuleAlgorithmField2 = stdPAPPolicyParams.getDynamicRuleAlgorithmField2(); + this.dynamicVariableList = stdPAPPolicyParams.getDynamicVariableList(); + this.dataTypeList = stdPAPPolicyParams.getDataTypeList(); + this.dropDownMap = stdPAPPolicyParams.getDropDownMap(); + this.actionPerformer = stdPAPPolicyParams.getActionPerformer(); + this.actionAttribute = stdPAPPolicyParams.getActionAttribute(); + this.treatments = stdPAPPolicyParams.getTreatments(); } //convenience constructor diff --git a/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicyParams.java b/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicyParams.java index a9daa9e97..0e183e08a 100644 --- a/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicyParams.java +++ b/ONAP-XACML/src/main/java/org/onap/policy/xacml/std/pap/StdPAPPolicyParams.java @@ -20,15 +20,19 @@ package org.onap.policy.xacml.std.pap; +import java.util.List; import java.util.Map; +/** + * Std PAP Policy paramters class. + */ public class StdPAPPolicyParams { private String configPolicyType; private String policyName; private String description; private String onapName; private String configName; - private Map attributes; + private Map dyanamicFieldConfigAttributes; private String configType; private String configBodyData; private Boolean editPolicy; @@ -38,7 +42,22 @@ public class StdPAPPolicyParams { private String guard; private String ttlDate; private int highestVersion; - + private List dynamicRuleAlgorithmLabels; + private List dynamicRuleAlgorithmCombo; + private List dynamicRuleAlgorithmField1; + private List dynamicRuleAlgorithmField2; + private String actionPerformer; + private String actionAttribute; + private String providerComboBox; + private Map dynamicSettingsMap; + private List dynamicVariableList; + private List dataTypeList; + private Map dropDownMap; + private Map treatments; + + /** + * Default constructor + */ private StdPAPPolicyParams() { super(); } @@ -71,8 +90,8 @@ public class StdPAPPolicyParams { return configName; } - public Map getAttributes() { - return attributes; + public Map getDyanamicFieldConfigAttributes() { + return dyanamicFieldConfigAttributes; } public String getConfigType() { @@ -107,6 +126,57 @@ public class StdPAPPolicyParams { return ttlDate; } + public List getDynamicRuleAlgorithmLabels() { + return dynamicRuleAlgorithmLabels; + } + + public List getDynamicRuleAlgorithmCombo() { + return dynamicRuleAlgorithmCombo; + } + + public List getDynamicRuleAlgorithmField1() { + return dynamicRuleAlgorithmField1; + } + + public List getDynamicRuleAlgorithmField2() { + return dynamicRuleAlgorithmField2; + } + + public String getActionPerformer() { + return actionPerformer; + } + + public String getActionAttribute() { + return actionAttribute; + } + + public String getProviderComboBox() { + return providerComboBox; + } + + public Map getDynamicSettingsMap() { + return dynamicSettingsMap; + } + + public List getDynamicVariableList() { + return dynamicVariableList; + } + + public List getDataTypeList() { + return dataTypeList; + } + + public Map getDropDownMap() { + return dropDownMap; + } + + public Map getTreatments() { + return treatments; + } + + /** + * Builder class for the Policy parameters + */ public static class StdPAPPolicyParamsBuilder { StdPAPPolicyParams m = new StdPAPPolicyParams(); @@ -140,8 +210,8 @@ public class StdPAPPolicyParams { return this; } - public StdPAPPolicyParamsBuilder attributes(Map attributes) { - m.attributes = attributes; + public StdPAPPolicyParamsBuilder dyanamicFieldConfigAttributes(Map attributes) { + m.dyanamicFieldConfigAttributes = attributes; return this; } @@ -189,5 +259,65 @@ public class StdPAPPolicyParams { m.highestVersion = highVer; return this; } + + public StdPAPPolicyParamsBuilder dynamicRuleAlgorithmLabels(List dynamicRuleAlgorithmLabels) { + m.dynamicRuleAlgorithmLabels = dynamicRuleAlgorithmLabels; + return this; + } + + public StdPAPPolicyParamsBuilder dynamicRuleAlgorithmCombo(List dynamicRuleAlgorithmCombo) { + m.dynamicRuleAlgorithmCombo = dynamicRuleAlgorithmCombo; + return this; + } + + public StdPAPPolicyParamsBuilder dynamicRuleAlgorithmField1(List dynamicRuleAlgorithmField1) { + m.dynamicRuleAlgorithmField1 = dynamicRuleAlgorithmField1; + return this; + } + + public StdPAPPolicyParamsBuilder dynamicRuleAlgorithmField2(List dynamicRuleAlgorithmField2) { + m.dynamicRuleAlgorithmField2 = dynamicRuleAlgorithmField2; + return this; + } + + public StdPAPPolicyParamsBuilder actionPerformer(String actionPerformer) { + m.actionPerformer = actionPerformer; + return this; + } + + public StdPAPPolicyParamsBuilder actionAttribute(String actionAttribute) { + m.actionAttribute = actionAttribute; + return this; + } + + public StdPAPPolicyParamsBuilder providerComboBox(String providerComboBox) { + m.providerComboBox = providerComboBox; + return this; + } + + public StdPAPPolicyParamsBuilder dynamicVariableList(List dynamicVariableList) { + m.dynamicVariableList = dynamicVariableList; + return this; + } + + public StdPAPPolicyParamsBuilder dynamicSettingsMap(Map dynamicSettingsMap) { + m.dynamicSettingsMap = dynamicSettingsMap; + return this; + } + + public StdPAPPolicyParamsBuilder dataTypeList(List dataTypeList) { + m.dataTypeList = dataTypeList; + return this; + } + + public StdPAPPolicyParamsBuilder dropDownMap(Map dropDownMap){ + m.dropDownMap = dropDownMap; + return this; + } + + public StdPAPPolicyParamsBuilder treatments(Map treatments) { + m.treatments = treatments; + return this; + } } } diff --git a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdPAPPolicyTest.java b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdPAPPolicyTest.java index aa57c27f0..4a9370c41 100644 --- a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdPAPPolicyTest.java +++ b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/std/pap/StdPAPPolicyTest.java @@ -586,7 +586,7 @@ public class StdPAPPolicyTest { .description("description") .onapName("onapName") .configName("configName") - .attributes(attributes) + .dyanamicFieldConfigAttributes(attributes) .configType("configType") .configBodyData("body") .editPolicy(true) @@ -624,10 +624,18 @@ public class StdPAPPolicyTest { dynamicRuleAlgorithmField1.add("dynamicRuleAlgorithmField1"); List dynamicRuleAlgorithmField2 = new ArrayList<>(); dynamicRuleAlgorithmField2.add("dynamicRuleAlgorithmField2"); - StdPAPPolicy stdPAPPolicy = new StdPAPPolicy("policyName", "description", attributes, - dynamicRuleAlgorithmLabels, dynamicRuleAlgorithmCombo, dynamicRuleAlgorithmField1, - dynamicRuleAlgorithmField2, - "actionPerformer", "actionAttribute", true, "domain", 1); + StdPAPPolicy stdPAPPolicy = new StdPAPPolicy(StdPAPPolicyParams.builder().policyName("policyName").description("description") + .dyanamicFieldConfigAttributes(attributes) + .dynamicRuleAlgorithmLabels(dynamicRuleAlgorithmLabels) + .dynamicRuleAlgorithmCombo(dynamicRuleAlgorithmCombo) + .dynamicRuleAlgorithmField1(dynamicRuleAlgorithmField1) + .dynamicRuleAlgorithmField2(dynamicRuleAlgorithmField2) + .actionPerformer("actionPerformer") + .actionAttribute("actionAttribute") + .editPolicy(true) + .domain("domain") + .highestVersion(1) + .build()); assertEquals("policyName", stdPAPPolicy.getPolicyName()); assertEquals("description", stdPAPPolicy.getPolicyDescription()); assertEquals(attributes, stdPAPPolicy.getDynamicFieldConfigAttributes()); @@ -664,10 +672,25 @@ public class StdPAPPolicyTest { dynamicVariableList.add("dynamicVariableList"); List dataTypeList = new ArrayList<>(); dataTypeList.add("dataTypeList"); - StdPAPPolicy stdPAPPolicy = new StdPAPPolicy("policyName", "description", "onapName", "providerComboBox", - attributes, settings, treatments, dynamicRuleAlgorithmLabels, dynamicRuleAlgorithmCombo, - dynamicRuleAlgorithmField1, dynamicRuleAlgorithmField2, dropDownMap, dynamicVariableList, - dataTypeList, true, "domain", 1); + StdPAPPolicy stdPAPPolicy = new StdPAPPolicy(StdPAPPolicyParams.builder() + .policyName("policyName") + .description("description") + .onapName("onapName") + .providerComboBox("providerComboBox") + .dyanamicFieldConfigAttributes(attributes) + .dynamicSettingsMap(settings) + .treatments(treatments) + .dynamicRuleAlgorithmLabels(dynamicRuleAlgorithmLabels) + .dynamicRuleAlgorithmCombo(dynamicRuleAlgorithmCombo) + .dynamicRuleAlgorithmField1(dynamicRuleAlgorithmField1) + .dynamicRuleAlgorithmField2(dynamicRuleAlgorithmField2) + .dropDownMap(dropDownMap) + .dynamicVariableList(dynamicVariableList) + .dataTypeList(dataTypeList) + .editPolicy(true) + .domain("domain") + .highestVersion(1) + .build()); assertEquals("policyName", stdPAPPolicy.getPolicyName()); assertEquals("description", stdPAPPolicy.getPolicyDescription()); assertEquals("onapName", stdPAPPolicy.getOnapName()); -- cgit 1.2.3-korg