* ================================================================================
* Copyright (C) 2017 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.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
super();
}
- public ConfigPolicy(PolicyRestAdapter policyAdapter){
+ public ConfigPolicy(PolicyRestAdapter policyAdapter) {
this.policyAdapter = policyAdapter;
}
// Saving the Configurations file at server location for config policy.
protected void saveConfigurations(String policyName) {
String fileName = getConfigFile(policyName);
- try(BufferedWriter bw = new BufferedWriter(new FileWriter(CONFIG_HOME + File.separator + fileName))) {
+ try (BufferedWriter bw = new BufferedWriter(new FileWriter(CONFIG_HOME + File.separator + fileName))) {
bw.write(configBodyData);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Configuration is succesfully saved");
}
} catch (IOException e) {
- LOGGER.error("Exception Occured while writing Configuration Data"+e);
+ LOGGER.error("Exception Occured while writing Configuration Data" + e);
}
}
// 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;
}
*/
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)) {
- if (!PolicyUtils.isPropValid(configBodyData)||configBodyData.equals("")) {
+ 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;
public Map<String, String> savePolicies() throws PAPException {
Map<String, String> successMap = new HashMap<>();
- if(isPolicyExists()){
+ if (isPolicyExists()) {
successMap.put("EXISTS", "This Policy already exist on the PAP");
return successMap;
}
- if(!isPreparedToSave()){
+ if (!isPreparedToSave()) {
//Prep and configure the policy for saving
prepareToSave();
}
// Until here we prepared the data and here calling the method to create xml.
Path newPolicyPath = null;
newPolicyPath = Paths.get(policyAdapter.getNewFileName());
- successMap = createPolicy(newPolicyPath,getCorrectPolicyDataObject());
+ successMap = createPolicy(newPolicyPath, getCorrectPolicyDataObject());
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
@Override
- public boolean prepareToSave() throws PAPException{
+ public boolean prepareToSave() throws PAPException {
- if(isPreparedToSave()){
+ if (isPreparedToSave()) {
return true;
}
AllOfType allOfOne = new AllOfType();
String fileName = policyAdapter.getNewFileName();
- String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+ String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
if ((name == null) || (name.equals(""))) {
- name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+ name = fileName.substring(fileName.lastIndexOf("/") + 1);
}
allOfOne.getMatch().add(createMatch("PolicyName", name));
AllOfType allOf = new AllOfType();
accessMatch.setAttributeValue(accessAttributeValue);
AttributeDesignatorType accessAttributeDesignator = new AttributeDesignatorType();
URI accessURI = null;
- try{
+ try {
accessURI = new URI(ACTION_ID);
- }catch(URISyntaxException e){
+ } catch (URISyntaxException e) {
PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "ConfigPolicy", "Exception creating ACCESS URI");
}
accessAttributeDesignator.setCategory(CATEGORY_ACTION);
configMatch.setAttributeValue(configAttributeValue);
AttributeDesignatorType configAttributeDesignator = new AttributeDesignatorType();
URI configURI = null;
- try{
+ try {
configURI = new URI(RESOURCE_ID);
- }catch(URISyntaxException e){
+ } catch (URISyntaxException e) {
PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "ConfigPolicy", "Exception creating Config URI");
}
configAttributeDesignator.setCategory(CATEGORY_RESOURCE);
fileName = FilenameUtils.removeExtension(fileName);
fileName = fileName + ".xml";
- String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+ String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
if ((name == null) || (name.equals(""))) {
- name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+ name = fileName.substring(fileName.lastIndexOf("/") + 1);
}
attributeValue3.getContent().add(name);
assignment3.setExpression(new ObjectFactory().createAttributeValue(attributeValue3));