@Override
public void stage(String name, int version) throws IOException {
Connection conn = null;
try {
conn = dbConnectionPool.getConnection(false);
try {
if (slateVersion(conn, name, version) > 0) {
unslateResource(conn, name, version);
}
conn.commit();
} finally {
conn.close();
}
} catch (SQLException e) {
if (conn != null) {
LOG.error("Exception activating version {} of {}. Rolling back...", version, name, e);
try {
conn.rollback();
} catch (SQLException se) {
LOG.error("Exception rolling back.", se);
}
}
throw new IOException(e);
}
}