* ============LICENSE_START=======================================================
* ONAP-PAP-REST
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* Modified Copyright (C) 2018 Samsung Electronics Co., Ltd.
+ * Modified Copyright (C) 2019 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.pap.xacml.rest.components;
+import com.att.research.xacml.api.pap.PAPException;
+import com.att.research.xacml.std.IdentifierImpl;
+
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.HashMap;
import java.util.Map;
-import org.apache.commons.io.FilenameUtils;
-import org.onap.policy.common.logging.eelf.MessageCodes;
-import org.onap.policy.common.logging.eelf.PolicyLogger;
-import org.onap.policy.common.logging.flexlogger.FlexLogger;
-import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.policy.rest.adapter.PolicyRestAdapter;
-import org.onap.policy.utils.PolicyUtils;
-
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.std.IdentifierImpl;
-
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
+import org.apache.commons.io.FilenameUtils;
+import org.onap.policy.common.logging.eelf.MessageCodes;
+import org.onap.policy.common.logging.eelf.PolicyLogger;
+import org.onap.policy.common.logging.flexlogger.FlexLogger;
+import org.onap.policy.common.logging.flexlogger.Logger;
+import org.onap.policy.rest.adapter.PolicyRestAdapter;
+import org.onap.policy.utils.PolicyUtils;
+
public class ConfigPolicy extends Policy {
/**
}
}
-
// Here we are adding the extension for the configurations file based on the
// config type selection for saving.
private String getConfigFile(String filename) {
+ filename = removeExtentsion(filename);
+ String id = policyAdapter.getConfigType();
+
+ if (id == null) {
+ return filename;
+ }
+ switch (id.toUpperCase()) {
+ case JSON_CONFIG:
+ return filename + ".json";
+ case XML_CONFIG:
+ return filename + ".xml";
+ case PROPERTIES_CONFIG:
+ return filename + ".properties";
+ case OTHER_CONFIG:
+ return filename + ".txt";
+ default:
+ return filename;
+
+ }
+ }
+
+ private String removeExtentsion(String filename) {
filename = FilenameUtils.removeExtension(filename);
if (filename.endsWith(".xml")) {
filename = filename.substring(0, filename.length() - 4);
}
- String id = policyAdapter.getConfigType();
-
- if (id != null) {
- if (id.equalsIgnoreCase(JSON_CONFIG)) {
- filename = filename + ".json";
- }
- if (id.equalsIgnoreCase(XML_CONFIG)) {
- filename = filename + ".xml";
- }
- if (id.equalsIgnoreCase(PROPERTIES_CONFIG)) {
- filename = filename + ".properties";
- }
- if (id.equalsIgnoreCase(OTHER_CONFIG)) {
- filename = filename + ".txt";
- }
- }
return filename;
}
-
// Validations for Config form
/*
* FORM VALIDATION WILL BE DONE BY THE PAP-ADMIN before creating JSON object...
*/
configBodyData = policyAdapter.getConfigBodyData();
String id = policyAdapter.getConfigType();
- if (id != null) {
- if (id.equals(JSON_CONFIG)) {
+ if (id == null) {
+ return isValidForm;
+ }
+ switch (id) {
+ case JSON_CONFIG:
if (!PolicyUtils.isJSONValid(configBodyData)) {
isValidForm = false;
}
- } else if (id.equals(XML_CONFIG)) {
+ break;
+ case XML_CONFIG:
if (!PolicyUtils.isXMLValid(configBodyData)) {
isValidForm = false;
}
- } else if (id.equals(PROPERTIES_CONFIG)) {
+ break;
+ case PROPERTIES_CONFIG:
if (!PolicyUtils.isPropValid(configBodyData) || configBodyData.equals("")) {
isValidForm = false;
}
- } else if (id.equals(OTHER_CONFIG)) {
+ break;
+ case OTHER_CONFIG:
if (configBodyData.equals("")) {
isValidForm = false;
}
- }
+ break;
}
return isValidForm;
}
if (!isPreparedToSave()) {
- //Prep and configure the policy for saving
+ // Prep and configure the policy for saving
prepareToSave();
}
return successMap;
}
- //This is the method for preparing the policy for saving. We have broken it out
- //separately because the fully configured policy is used for multiple things
+ // This is the method for preparing the policy for saving. We have broken it out
+ // separately because the fully configured policy is used for multiple things
@Override
public boolean prepareToSave() throws PAPException {
}
}
- //Risk Attributes
+ // Risk Attributes
AttributeAssignmentExpressionType assignment8 = new AttributeAssignmentExpressionType();
assignment8.setAttributeId("RiskType");
assignment8.setCategory(CATEGORY_RESOURCE);