package org.jstryker.database.connection; import org.jstryker.exception.JStrykerException; import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.Properties; // TODO javadoc public class ConnectionPropertiesReaderFactory { private final List<ConnectionPropertiesReader> propertiesReader; public ConnectionPropertiesReaderFactory(List<ConnectionPropertiesReader> propertiesReader) { this.propertiesReader = propertiesReader; } public ConnectionPropertiesReader getConnectionPropertiesReader() throws JStrykerException { try { for (ConnectionPropertiesReader reader : propertiesReader) { InputStream stream = getClass().getResourceAsStream("/" + reader.getPropertiesFileName()); if (stream != null) { Properties properties = new Properties(); properties.load(stream); reader.read(properties); stream.close(); return reader; } } } catch (IOException e) { throw new JStrykerException(e.getMessage(), e); } throw new JStrykerException("jstryker.properties or hibernate.properties not found in classpath."); } }