mirror of
https://github.com/apache/struts.git
synced 2026-08-11 09:36:57 +00:00
5b67f4ac48
git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@432886 13f79535-47bb-0310-9956-ffa450edef68
100 lines
2.5 KiB
Java
100 lines
2.5 KiB
Java
package mailreader2.service;
|
|
|
|
import com.ibatis.common.resources.Resources;
|
|
import com.ibatis.common.jdbc.ScriptRunner;
|
|
import com.ibatis.sqlmap.client.SqlMapClient;
|
|
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
|
|
|
|
import javax.sql.DataSource;
|
|
import java.sql.Connection;
|
|
import java.io.Reader;
|
|
import java.util.Properties;
|
|
|
|
public class SqlMapAppConfig {
|
|
|
|
// ---- TEST MODE SETUP ----
|
|
|
|
protected void runScript(String script) throws Exception {
|
|
DataSource ds = getSqlMap().getDataSource();
|
|
|
|
Connection conn = ds.getConnection();
|
|
|
|
Reader reader = Resources.getResourceAsReader(script);
|
|
|
|
ScriptRunner runner = new ScriptRunner(conn, false, false);
|
|
runner.setLogWriter(null);
|
|
runner.setErrorLogWriter(null);
|
|
|
|
runner.runScript(reader);
|
|
conn.commit();
|
|
conn.close();
|
|
reader.close();
|
|
}
|
|
|
|
final static String[] CONFIG_SCRIPTS =
|
|
{"sql/mailreader-schema.sql","sql/mailreader-sample.sql"};
|
|
|
|
private boolean testMode = true;
|
|
|
|
public boolean isTestMode() {
|
|
return testMode;
|
|
}
|
|
|
|
public void setTestMode(boolean testMode) {
|
|
this.testMode = testMode;
|
|
}
|
|
|
|
// ---- SQL MAP SETUP ----
|
|
|
|
final static String CONFIG_FILE = "sql-map-config.xml";
|
|
|
|
protected String configFile;
|
|
|
|
public String getConfigFile() {
|
|
if (configFile==null) return CONFIG_FILE;
|
|
return configFile;
|
|
}
|
|
|
|
public void setConfigFile(String configFile) {
|
|
this.configFile = configFile;
|
|
}
|
|
|
|
protected Properties configProps;
|
|
|
|
public Properties getConfigProps() {
|
|
return configProps;
|
|
}
|
|
|
|
public void setConfigProps(Properties configProps) {
|
|
this.configProps = configProps;
|
|
}
|
|
|
|
private SqlMapClient sqlMap;
|
|
|
|
public SqlMapClient getSqlMap() {
|
|
return sqlMap;
|
|
}
|
|
|
|
public void setSqlMap(SqlMapClient sqlMap) {
|
|
this.sqlMap = sqlMap;
|
|
}
|
|
|
|
public SqlMapAppConfig() {
|
|
try {
|
|
Reader reader =
|
|
Resources.getResourceAsReader(getConfigFile());
|
|
setSqlMap(SqlMapClientBuilder.buildSqlMapClient(reader,
|
|
getConfigProps()));
|
|
reader.close();
|
|
|
|
if (isTestMode())
|
|
for (String script : CONFIG_SCRIPTS) {
|
|
runScript(script);
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
}
|