/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.pieShare.pieTools.pieUtilities.service.propertiesReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import org.pieShare.pieTools.pieUtilities.service.pieLogger.PieLogger;
import org.pieShare.pieTools.pieUtilities.service.propertiesReader.api.IPropertiesReader;
import org.pieShare.pieTools.pieUtilities.service.propertiesReader.exception.NoConfigFoundException;
/**
*
* @author richy
*/
public class PropertiesReader implements IPropertiesReader {
@Override
public void saveConfig(Properties props, File configFile) {
try {
if (!configFile.exists()) {
configFile.createNewFile();
}
FileOutputStream outStr = new FileOutputStream(configFile);
props.store(outStr, "");
outStr.close();
}
catch (IOException ex) {
//ToDo: handle
PieLogger.error(this.getClass(), "Error!", ex);
}
}
@Override
public Properties getConfig(File configFile) throws NoConfigFoundException {
if (!configFile.exists()) {
throw new NoConfigFoundException(String.format("Configuration: %s does not exists.", configFile.getAbsolutePath()));
}
Properties prop = new Properties();
try {
//load a properties file from class path, inside static method
FileInputStream inputStr = new FileInputStream(configFile);
prop.load(inputStr);
inputStr.close();
}
catch (IOException ex) {
throw new NoConfigFoundException(ex);
}
return prop;
}
}