decisionPolicy.setTarget(target);
Map<String, String> dynamicFieldDecisionSettings = policyAdapter.getDynamicSettingsMap();
- if(policyAdapter.getRuleProvider()!=null && policyAdapter.getRuleProvider().equals(AAFPROVIDER)){
+ if(policyAdapter.getRuleProvider()!=null && (policyAdapter.getRuleProvider().equals(AAFPROVIDER)||
+ policyAdapter.getRuleProvider().equals(RAINY_DAY))){
dynamicFieldDecisionSettings = new HashMap<>();
}
VariableDefinitionType dynamicVariable = createDynamicVariable(key, value, dataType);
decisionPolicy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().add(dynamicVariable);
}
- Map<String, String> dynamicFieldTreatmentAttributes = policyAdapter.getRainydayMap();
+ Map<String, String> dynamicFieldTreatmentAttributes = policyAdapter.getRainydayMap();
if(policyAdapter.getRuleProvider().equals(RAINY_DAY)){
for(String keyField : dynamicFieldTreatmentAttributes.keySet()) {
String errorcode = keyField;
@RequestMapping(value={"/get_RainyDayDictionaryData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getRainyDayDictionaryEntityData(HttpServletRequest request, HttpServletResponse response){
+ public void getRainyDayDictionaryEntityData(HttpServletResponse response){
try{
Map<String, Object> model = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
counter ++;
}
}
+ decisionRainyDay.setTreatments(userValue);
}
- decisionRainyDay.setTreatments(userValue);
if(decisionRainyDay.getId() == 0){
List<Object> duplicateData = commonClassDao.checkDuplicateEntry(decisionRainyDay.getBbid()+":"+decisionRainyDay.getWorkstep(), "bbid:workstep", RainyDayTreatments.class);
}
class TreatmentValues {
- private ArrayList<Object> userDataTypeValues;
+ private ArrayList<Object> userDataTypeValues = new ArrayList<>();
public ArrayList<Object> getUserDataTypeValues() {
return userDataTypeValues;
case "Settings":
dictionary.getSettingsDictionary(response);
break;
+ case "RainyDayTreatments":
+ dictionary.getRainyDayDictionary(response);
+ break;
case "DescriptiveScope":
dictionary.getDescriptiveDictionary(response);
break;
case "Settings":
result = dictionary.saveSettingsDictionary(request, response);
break;
+ case "RainyDayTreatments":
+ result = dictionary.saveRainyDayDictionary(request, response);
+ break;
case "DescriptiveScope":
result = dictionary.saveDescriptiveDictionary(request, response);
break;
policyAdapter.setRuleProvider(policy.getProviderComboBox());
policyAdapter.setDomainDir(policyAdapter.getPolicyScope());
policyAdapter.setDomain(policyAdapter.getPolicyScope());
+ policyAdapter.setRainydayMap(policy.getTreatments());
+
return policyAdapter;
}
return result.getViewName();
}
+ public String saveRainyDayDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{
+
+ DecisionPolicyDictionaryController dictionary = new DecisionPolicyDictionaryController();
+ ModelAndView result = dictionary.saveRainyDayDictionary(request, response);
+ return result.getViewName();
+ }
+
public String saveDescriptiveDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{
DescriptiveDictionaryController dictionary = new DescriptiveDictionaryController();
dictionary.getSettingsDictionaryEntityData(response);
}
+ public void getRainyDayDictionary(HttpServletResponse response){
+ DecisionPolicyDictionaryController dictionary = new DecisionPolicyDictionaryController();
+ dictionary.getRainyDayDictionaryEntityData(response);
+ }
+
public void getDescriptiveDictionary(HttpServletResponse response){
DescriptiveDictionaryController dictionary = new DescriptiveDictionaryController();
dictionary.getDescriptiveDictionaryEntityData(response);
Mockito.when(httpServletRequest.getParameter("operation")).thenReturn("create");
Mockito.when(httpServletRequest.getParameter("policyType")).thenReturn("Decision");
StdPAPPolicy newPAPPolicy = new StdPAPPolicy("test", "test rule", "ONAP", "AAF", null, null, null,
- null, null, null, null, null, null, false, "test", 0);
+ null, null, null, null, null, null, null, false, "test", 0);
MockServletInputStream mockInput = new MockServletInputStream(PolicyUtils.objectToJsonString(newPAPPolicy).getBytes());
Mockito.when(httpServletRequest.getInputStream()).thenReturn(mockInput);
matchingAttributes.put("guardActiveStart","05:00");
matchingAttributes.put("guardActiveEnd","10:00");
StdPAPPolicy newPAPPolicy = new StdPAPPolicy("testGuard", "test rule", "PDPD", "GUARD_YAML", matchingAttributes , null, null,
- null, null, null, null, null, null, false, "test", 0);
+ null, null, null, null, null, null, null, false, "test", 0);
MockServletInputStream mockInput = new MockServletInputStream(PolicyUtils.objectToJsonString(newPAPPolicy).getBytes());
Mockito.when(httpServletRequest.getInputStream()).thenReturn(mockInput);
matchingAttributes.put("guardActiveEnd","10:00");
matchingAttributes.put("blackList","bl1,bl2");
StdPAPPolicy newPAPPolicy = new StdPAPPolicy("testblGuard", "test rule", "PDPD", "GUARD_BL_YAML", matchingAttributes , null, null,
- null, null, null, null, null, null, false, "test", 0);
+ null, null, null, null, null, null, null, false, "test", 0);
MockServletInputStream mockInput = new MockServletInputStream(PolicyUtils.objectToJsonString(newPAPPolicy).getBytes());
Mockito.when(httpServletRequest.getInputStream()).thenReturn(mockInput);
MockHttpServletResponse response = new MockHttpServletResponse();
- controller.getRainyDayDictionaryEntityData(request, response);
+ controller.getRainyDayDictionaryEntityData(response);
try {
assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("rainyDayDictionaryDatas"));
}
Map<String,String> matchingAttributes = null;
Map<String,String> settingsAttributes = null;
+
+ //Get the MATCHING and/or SETTINGS attributes
if (policyParameters.getAttributes()!=null && policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)) {
matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING);
settingsAttributes = policyParameters.getAttributes().get(AttributeType.SETTINGS);
}else if(policyParameters.getAttributes()!=null && policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && !policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)){
matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING);
}
- // Create Policy.
- StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyName, policyParameters.getPolicyDescription(), onapName, ruleProvider.toString(), matchingAttributes, settingsAttributes, policyParameters.getDynamicRuleAlgorithmLabels(),
- policyParameters.getDynamicRuleAlgorithmFunctions(), policyParameters.getDynamicRuleAlgorithmField1(), policyParameters.getDynamicRuleAlgorithmField2(), null, null, null, updateFlag, policyScope, 0);
+ // Create StdPAPPolicy object used to send policy data to PAP-REST.
+ StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyName, policyParameters.getPolicyDescription(), onapName, ruleProvider.toString(), matchingAttributes, settingsAttributes,
+ policyParameters.getTreatments(), policyParameters.getDynamicRuleAlgorithmLabels(), policyParameters.getDynamicRuleAlgorithmFunctions(),
+ policyParameters.getDynamicRuleAlgorithmField1(), policyParameters.getDynamicRuleAlgorithmField2(), null, null, null, updateFlag, policyScope, 0);
// Send JSON to PAP.
response = (String) papServices.callPAP(newPAPPolicy, new String[] {"operation="+operation, "apiflag=api", "policyType=Decision"}, policyParameters.getRequestID(), "Decision");
LOGGER.info(message);
case "Settings":
jsonString = jsonString.replace("settingsDictionaryDatas", "DictionaryDatas");
break;
+ case "RainyDayTreatments":
+ jsonString = jsonString.replace("rainyDayDictionaryDatas", "DictionaryDatas");
+ break;
case "DescriptiveScope":
jsonString = jsonString.replace("descriptiveScopeDictionaryDatas", "DictionaryDatas");
break;
public String getOnapName();
public String getConfigName();
public Map<String, String> getDynamicFieldConfigAttributes();
+ public Map<String, String> getTreatments();
public Map<String, String> getDynamicSettingsMap();
public List<String> getDynamicRuleAlgorithmLabels();
public List<String> getDynamicRuleAlgorithmCombo();
public String getDictionaryType();
public String getDictionary();
public String getDictionaryFields();
-
public String getRiskLevel();
public String getGuard();
public String getRiskType();
private String onapName = null;
private String configName = null;
private Map<String, String> dyanamicFieldConfigAttributes = new HashMap<>();
+ private Map<String, String> treatments = new HashMap<>();
private Map<String, String> dropDownMap = new HashMap<>();
private Map<String, String> dynamicSettingsMap = new HashMap<>();
private List<String> dynamicRuleAlgorithmLabels;
}
- //Constructor for Create/Update Decision Policies from Admin Console
- public StdPAPPolicy(String policyName, String description, String onapName, String providerComboBox, Map<String, String> attributes, Map<String, String> settings,
+ //Constructor for Create/Update Decision Policies
+ public StdPAPPolicy(String policyName, String description, String onapName, String providerComboBox,
+ Map<String, String> attributes, Map<String, String> settings, Map<String, String> treatments,
List<String> dynamicRuleAlgorithmLabels, List<String> dynamicRuleAlgorithmCombo, List<String> dynamicRuleAlgorithmField1,
List<String> dynamicRuleAlgorithmField2, Map<String, String> dropDownMap, List<Object> dynamicVariableList,
List<String> dataTypeList, Boolean editPolicy, String domain, int highestVersion) {
this.editPolicy = editPolicy;
this.domain = domain;
this.highestVersion = highestVersion;
+ this.treatments = treatments;
}
-
//Constructor for Create Config Policies from API and Admin Console
//Constructor for Updating Config Policies from the API
public StdPAPPolicy(String configPolicyType, String policyName, String description, String onapName, String configName, Map<String, String> attributes, String configType,
return guard;
}
+ @Override
+ public Map<String, String> getTreatments() {
+ return treatments;
+ }
+
@Override
public String toString() {
return "StdPAPPolicy [policyName=" + policyName + ", policyDescription=" + policyDescription + ", onapName="
+ ",dataTypeList=" + dataTypeList + ",draft=" + ",oldPolicyFileName=" + oldPolicyFileName + ",serviceType=" + serviceType
+ ",uuid=" + uuid + ",msLocation=" + msLocation + ",priority=" + priority + ",deleteCondition=" + deleteCondition + ",dictionaryType=" + dictionaryType
+ ",dictionary=" + dictionary + ",dictionaryFields=" + dictionaryFields + ",uuid=" + uuid + ",msLocation=" + msLocation + ",priority="
- + priority + ",deleteCondition=" + deleteCondition + ",riskType="+riskType + ",riskLevel="+riskLevel + ",guard="+ guard + ",ttlDate="+ ttlDate + "]";
+ + priority + ",deleteCondition=" + deleteCondition + ",riskType="+riskType + ",riskLevel="+riskLevel + ",guard="+ guard + ",ttlDate="+ ttlDate
+ + ",treatments=" + treatments + "]";
}
-
+
// Methods needed for JSON Deserialization
public void setPolicyName(String policyName) {
this.policyName = policyName;
public void setBrmsDependency(ArrayList<String> brmsDependency) {
this.brmsDependency = brmsDependency;
}
+
+ public void setTreatments(Map<String, String> treatments) {
+ this.treatments = treatments;
+ }
}
\ No newline at end of file
private String onapName;
private String configName;
private Map<AttributeType, Map<String,String>> attributes;
+ private Map<String, String> treatments;
private String configBody;
private PolicyType configBodyType;
private String actionPerformer;
this.extendedOption = extendedOption;
}
+ /**
+ * Gets Allowed Treatments Map for Rainy Day Decision Policy
+ *
+ * @return Map of String format for treatments per errorcode
+ */
+ public Map<String, String> getTreatments() {
+ return treatments;
+ }
+
+ /**
+ * Sets Allowed Treatments Map for Rainy Day Decision Policy
+ *
+ * @param treatments Map that contains the treatment per errorcode
+ */
+ public void setTreatments(Map<String, String> treatments) {
+ this.treatments = treatments;
+ }
+
@Override
public String toString() {
return "PolicyParameters [ policyName=" + policyName + ", policyDescription=" + policyDescription + ", onapName="+ onapName
+ ",dynamicRuleAlgorithmField1=" + dynamicRuleAlgorithmField1 + ",dynamicRuleAlgorithmField2=" + dynamicRuleAlgorithmField2
+ ", actionPerformer=" + actionPerformer + ", actionAttribute=" + actionAttribute + ", priority=" + priority
+ ", ruleProvider= " + ruleProvider + ", riskLevel= " + riskLevel + ", riskType= " + riskType + ", extendedOption= " + extendedOption
- + "]";
+ + ", treatments= " + treatments + "]";
}
}
/**
* Indicates Guard BLACKLIST YAML
*/
- GUARD_BL_YAML("GUARD_BL_YAML")
+ GUARD_BL_YAML("GUARD_BL_YAML"),
+ /**
+ * Indicates Guard BLACKLIST YAML
+ */
+ RAINY_DAY("Rainy_Day")
;
private String name;