package org.genedb.db.loading.auxiliary;
import org.apache.log4j.Logger;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ResourceBundle;
public class ClearOPIReferences {
private static final Logger logger = Logger.getLogger(OPIReferenceLoader.class);
private static final ResourceBundle config = ResourceBundle.getBundle("project");
public static void main(String[] args) throws ClassNotFoundException, SQLException {
new ClearOPIReferences().clear();
}
private Connection conn;
public ClearOPIReferences() throws ClassNotFoundException, SQLException {
String url = String.format("jdbc:postgresql://%s:%s/%s",
config.getString("dbhost"),
config.getString("dbport"),
config.getString("dbname"));
String username = config.getString("dbuser");
String password = config.getString("dbpassword");
Class.forName("org.postgresql.Driver");
logger.info(String.format("Connecting to database '%s' as user '%s'", url, username));
this.conn = DriverManager.getConnection(url, username, password);
}
private void clear() throws SQLException {
PreparedStatement st = conn.prepareStatement(
"delete from dbxref"
+" using db"
+" where dbxref.db_id = db.db_id"
+" and db.name = 'OPI'"
);
try {
int numDeleted = st.executeUpdate();
logger.info(String.format("Deleted %d OPI dbxref entries", numDeleted));
}
finally {
try {st.close();} catch (SQLException e) { logger.error(e); }
}
}
}