import org.onap.policy.rest.jpa.TermList;
import org.onap.policy.rest.jpa.UserInfo;
+import com.att.research.xacml.api.pap.PAPException;
import com.att.research.xacml.std.IdentifierImpl;
import com.fasterxml.jackson.databind.JsonNode;
import com.github.fge.jackson.JsonLoader;
// Saving the Configurations file at server location for config policy.
protected void saveConfigurations(String policyName, String jsonBody) {
String configurationName = policyName;
- FileWriter fw = null;
- try{
- if(configurationName.endsWith(".xml")){
- configurationName = configurationName.replace(".xml", "");
- }
- fw = new FileWriter(CONFIG_HOME + File.separator + configurationName + ".json");
- BufferedWriter bw = new BufferedWriter(fw);
- bw.write(jsonBody);
- bw.close();
+ if(configurationName.endsWith(".xml")){
+ configurationName = configurationName.replace(".xml", "");
+ }
+ String fileName = CONFIG_HOME + File.separator + configurationName + ".json";
+ try(BufferedWriter bw = new BufferedWriter(new FileWriter(fileName))){
+ bw.write(jsonBody);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Configuration is succesfully saved");
}
} catch (IOException e) {
- LOGGER.error("Exception Occured"+e);
- }finally{
- try{
- if(fw != null){
- fw.close();
- }
- }catch(Exception e){
- LOGGER.error("Exception Occured"+e);
- }
+ LOGGER.error("Save of configuration to file" +fileName+ "failed",e);
}
}
-
- //Utility to read json data from the existing file to a string
+
+ //Utility to read json data from the existing file to a string
static String readFile(String path, Charset encoding) throws IOException {
byte[] encoded = Files.readAllBytes(Paths.get(path));
return new String(encoded, encoding);
}
@Override
- public Map<String, String> savePolicies() throws Exception {
+ public Map<String, String> savePolicies() throws PAPException {
Map<String, String> successMap = new HashMap<>();
if(isPolicyExists()){
successMap.put("EXISTS", "This Policy already exist on the PAP");
if (policyAdapter.isEditPolicy()) {
dbIsUpdated = updateFirewallDictionaryData(policyAdapter.getJsonBody(), policyAdapter.getPrevJsonBody());
} else {
- dbIsUpdated = insertFirewallDicionaryData(policyAdapter.getJsonBody());
+ try {
+ dbIsUpdated = insertFirewallDicionaryData(policyAdapter.getJsonBody());
+ } catch (SQLException e) {
+ throw new PAPException(e);
+ }
}
} else {
dbIsUpdated = true;
//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 Exception{
+ public boolean prepareToSave() throws PAPException{
if(isPreparedToSave()){
//we have already done this
}
private JsonObject stringToJson(String jsonString) {
- JsonObject json = null;
- if (jsonString != null) {
- //Read jsonBody to JsonObject
- StringReader in = null;
- in = new StringReader(jsonString);
-
- JsonReader jsonReader = Json.createReader(in);
- json = jsonReader.readObject();
- jsonReader.close();
- }
+ //Read jsonBody to JsonObject
+ StringReader in = new StringReader(jsonString);
+ JsonReader jsonReader = Json.createReader(in);
+ JsonObject json = jsonReader.readObject();
+ jsonReader.close();
return json;
}