package edu.umd.rhsmith.diads.meater.core.config.sql; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import edu.umd.rhsmith.diads.meater.core.app.MEaterConfigurationException; import edu.umd.rhsmith.diads.meater.core.app.sql.SqlInfo; import edu.umd.rhsmith.diads.meater.core.app.sql.SqlInfoSource; import edu.umd.rhsmith.diads.meater.core.app.sql.SqlLoadException; public class XmlSqlInfoSource implements SqlInfoSource { @Override public SqlInfo getSqlInfo(String name) throws SqlLoadException { SqlConfig sql = new SqlConfig(); try { XMLConfiguration xml = new XMLConfiguration(name + ".xml"); sql.loadConfigurationFrom(xml); } catch (ConfigurationException e) { throw new SqlLoadException(String .format(MSG_ERR_BAD_FILE_FMT, name), e); } catch (MEaterConfigurationException e) { throw new SqlLoadException(String .format(MSG_ERR_BAD_FILE_FMT, name), e); } return sql; } private static final String MSG_ERR_BAD_FILE_FMT = "Invalid SQL configuration file %s"; }