This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository nuiton-config. See https://gitlab.nuiton.org/nuiton/nuiton-config.git commit 139ecee625ccfc40799440cbced6f7ee4334d2c7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 7 12:04:58 2016 +0200 Add default properties io implementation --- .../config/io/ApplicationConfigIOProperties.java | 47 ++++++++++++++++++++++ .../org.nuiton.config.io.ApplicationConfigIO | 1 + 2 files changed, 48 insertions(+) diff --git a/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java b/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java new file mode 100644 index 0000000..c07f871 --- /dev/null +++ b/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java @@ -0,0 +1,47 @@ +package org.nuiton.config.io; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.Writer; +import java.net.URL; +import java.util.Properties; + +/** + * Created on 07/10/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.1 + */ +public class ApplicationConfigIOProperties implements ApplicationConfigIO { + + @Override + public boolean accept(ApplicationConfigReadFormat readFormat) { + return ApplicationConfigReadFormat.properties.equals(readFormat); + } + + @Override + public Properties readProperties(URL url, String encoding) throws ApplicationConfigReadPropertiesException { + Properties properties = new Properties(); + try (Reader reader = new BufferedReader(new InputStreamReader(url.openStream(), encoding))) { + properties.load(reader); + } catch (Exception e) { + throw new ApplicationConfigReadPropertiesException("Can't read properties file: " + url, e); + } + return properties; + } + + @Override + public void writeProperties(Properties properties, File file, String encoding, String comment) throws ApplicationConfigWritePropertiesException { + try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), encoding))) { + properties.store(writer, comment); + } catch (Exception e) { + throw new ApplicationConfigWritePropertiesException("Can't store properties file: " + file, e); + } + } + +} diff --git a/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO b/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO new file mode 100644 index 0000000..258636d --- /dev/null +++ b/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO @@ -0,0 +1 @@ +org.nuiton.config.io.ApplicationConfigIOProperties \ No newline at end of file -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.