@PostConstruct
public void init(){
Properties prop = new Properties();
-
- try(InputStream input = new FileInputStream("xacml.pap.properties")) {
+ InputStream input = null;
+ try {
+ input = new FileInputStream("xacml.pap.properties");
// load a properties file
prop.load(input);
setDbDriver(prop.getProperty("javax.persistence.jdbc.driver"));
setDbPassword( CryptoUtils.decryptTxtNoExStr(prop.getProperty("javax.persistence.jdbc.password", "")));
}catch(Exception e){
LOGGER.error("Exception Occured while loading properties file"+e);
+ }finally{
+ if(input != null){
+ try {
+ input.close();
+ } catch (IOException e) {
+ LOGGER.error("Exception Occured while clsoing the stream"+e);
+ }
+ }
}
}
// 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))) {
+ BufferedWriter bw = null;
+ try {
+ String fileName = getConfigFile(policyName);
+ 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);
+ } finally {
+ if(bw != null){
+ try {
+ bw.close();
+ } catch (Exception e) {
+ LOGGER.error("Exception Occured while closing the BufferedWriter"+e);
+ }
+ }
}
}
int BUFFER = 2048;
File file = new File(zipFile);
-
- try(ZipFile zip = new ZipFile("ExtractDir" + File.separator +file)) {
+ ZipFile zip = null;
+ try {
+ zip = new ZipFile("ExtractDir" + File.separator +file);
String newPath = zipFile.substring(0, zipFile.length() - 4);
new File(newPath).mkdir();
Enumeration zipFileEntries = zip.entries();
}
} catch (IOException e) {
logger.error("Failed to unzip model file " + zipFile + e);
+ }finally{
+ if(zip != null){
+ try {
+ zip.close();
+ } catch (Exception e) {
+ logger.error("Exception Occured while closing the zip file"+e);
+ }
+ }
}
}
private String readConfigFile(String configPath){
String configDataString = null;
-
- try(InputStream configContentStream = new FileInputStream(configPath)) {
+ InputStream configContentStream = null;
+ try {
+ configContentStream = new FileInputStream(configPath);
configDataString = IOUtils.toString(configContentStream);
} catch (FileNotFoundException e) {
logger.error("Caught FileNotFoundException on new FileInputStream("+configPath+")",e);
throw new IllegalArgumentException("The config file path does not exist");
} catch(IOException e2){
- logger.error("Caught IOException on newIOUtils.toString(configContentStream)",e2);
+ logger.error("Caught IOException on newIOUtils.toString("+configContentStream+")",e2);
throw new IllegalArgumentException("The config file path cannot be read");
+ } finally {
+ IOUtils.closeQuietly(configContentStream);
}
if(configDataString == null){
throw new IllegalArgumentException("The config file path cannot be read");
if(pdpConfigLocation.contains("/")){
pdpConfigLocation = pdpConfigLocation.replace("/", File.separator);
}
-
+ InputStream inputStream = null;
JsonReader jsonReader = null;
- try(InputStream inputStream = new FileInputStream(new File(pdpConfigLocation))) {
+ try {
+ inputStream = new FileInputStream(new File(pdpConfigLocation));
try {
if (pdpConfigLocation.endsWith("json")) {
pdpResponse.setType(PolicyType.JSON);
} catch (FileNotFoundException e) {
LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e);
throw new PDPException(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error in ConfigURL", e);
+ }finally{
+ if(inputStream != null){
+ inputStream.close();
+ }
}
}
// get the response content into a String
String responseJson = null;
// read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
- try(java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream())) {
- scanner.useDelimiter("\\A");
- responseJson = scanner.hasNext() ? scanner.next() : "";
- } catch (Exception e) {
- //Reason for rethrowing the exception is if any exception occurs during reading of inputsteam
- //then the exception handling is done by the outer block without returning the response immediately
- //Also finally block is existing only in outer block and not here so all exception handling is
- //done in only one place
- policyLogger.error("Exception Occured"+e);
- throw e;
- }
+ java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream());
+ scanner.useDelimiter("\\A");
+ responseJson = scanner.hasNext() ? scanner.next() : "";
+ scanner.close();
policyLogger.info("JSON response from PAP: " + responseJson);
return responseJson;
}
// get the response content into a String
String json = null;
// read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
- try(java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream())) {
- scanner.useDelimiter("\\A");
- json = scanner.hasNext() ? scanner.next() : "";
- }catch(Exception e) {
- LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to read inputStream from connection: " + e, e);
- throw e;
- }
+ java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream());
+ scanner.useDelimiter("\\A");
+ json = scanner.hasNext() ? scanner.next() : "";
+ scanner.close();
LOGGER.info("JSON response from PAP: " + json);
// convert Object sent as JSON into local object