use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class PgSQLDatabaseService method getColumns.
@Override
public ArrayList<DatabaseColumn> getColumns(DatabaseConfiguration dbConfig, String query) throws DatabaseServiceException {
try {
Connection connection = PgSQLConnectionManager.getInstance().getConnection(dbConfig, true);
Statement statement = connection.createStatement();
ResultSet queryResult = statement.executeQuery(query);
PgResultSetMetaData metadata = (PgResultSetMetaData) queryResult.getMetaData();
int columnCount = metadata.getColumnCount();
ArrayList<DatabaseColumn> columns = new ArrayList<DatabaseColumn>(columnCount);
for (int i = 1; i <= columnCount; i++) {
DatabaseColumn dc = new DatabaseColumn(metadata.getColumnName(i), metadata.getColumnLabel(i), DatabaseUtils.getDbColumnType(metadata.getColumnType(i)), metadata.getColumnDisplaySize(i));
columns.add(dc);
}
return columns;
} catch (SQLException e) {
logger.error("SQLException::", e);
throw new DatabaseServiceException(true, e.getSQLState(), e.getErrorCode(), e.getMessage());
}
}
use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class MySQLConnectionManager method testConnection.
/**
* testConnection
* @param databaseConfiguration
* @return
*/
public boolean testConnection(DatabaseConfiguration databaseConfiguration) throws DatabaseServiceException {
try {
boolean connResult = false;
Connection conn = getConnection(databaseConfiguration, true);
if (conn != null) {
connResult = true;
conn.close();
}
return connResult;
} catch (SQLException e) {
logger.error("Test connection Failed!", e);
throw new DatabaseServiceException(true, e.getSQLState(), e.getErrorCode(), e.getMessage());
}
}
use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class MySQLConnectionManager method getConnection.
/**
* Get a connection form the connection pool.
*
* @return connection from the pool
*/
public Connection getConnection(DatabaseConfiguration databaseConfiguration, boolean forceNewConnection) throws DatabaseServiceException {
try {
if (connection != null && !forceNewConnection) {
// logger.info("connection closed::{}", connection.isClosed());
if (!connection.isClosed()) {
if (logger.isDebugEnabled()) {
logger.debug("Returning existing connection::{}", connection);
}
return connection;
}
}
String dbURL = getDatabaseUrl(databaseConfiguration);
Class.forName(type.getClassPath());
// logger.info("*** type.getClassPath() ::{}, {}**** ", type.getClassPath());
DriverManager.setLoginTimeout(10);
connection = DriverManager.getConnection(dbURL, databaseConfiguration.getDatabaseUser(), databaseConfiguration.getDatabasePassword());
if (logger.isDebugEnabled()) {
logger.debug("*** Acquired New connection for ::{} **** ", dbURL);
}
return connection;
} catch (ClassNotFoundException e) {
logger.error("Jdbc Driver not found", e);
throw new DatabaseServiceException(e.getMessage());
} catch (SQLException e) {
logger.error("SQLException::Couldn't get a Connection!", e);
throw new DatabaseServiceException(true, e.getSQLState(), e.getErrorCode(), e.getMessage());
}
}
use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class PgSQLConnectionManager method getConnection.
/**
* Get a connection form the connection pool.
*
* @return connection from the pool
*/
public Connection getConnection(DatabaseConfiguration databaseConfiguration, boolean forceNewConnection) throws DatabaseServiceException {
try {
if (connection != null && !forceNewConnection) {
// logger.info("connection closed::{}", connection.isClosed());
if (!connection.isClosed()) {
if (logger.isDebugEnabled()) {
logger.debug("Returning existing connection::{}", connection);
}
return connection;
}
}
Class.forName(type.getClassPath());
DriverManager.setLoginTimeout(10);
String dbURL = getDatabaseUrl(databaseConfiguration);
connection = DriverManager.getConnection(dbURL, databaseConfiguration.getDatabaseUser(), databaseConfiguration.getDatabasePassword());
logger.debug("*** Acquired New connection for ::{} **** ", dbURL);
return connection;
} catch (ClassNotFoundException e) {
logger.error("Jdbc Driver not found", e);
throw new DatabaseServiceException(e.getMessage());
} catch (SQLException e) {
logger.error("SQLException::Couldn't get a Connection!", e);
throw new DatabaseServiceException(true, e.getSQLState(), e.getErrorCode(), e.getMessage());
}
}
use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class PgSQLConnectionManager method testConnection.
/**
* testConnection
* @param databaseConfiguration
* @return
*/
public boolean testConnection(DatabaseConfiguration databaseConfiguration) throws DatabaseServiceException {
try {
boolean connResult = false;
Connection conn = getConnection(databaseConfiguration, true);
if (conn != null) {
connResult = true;
conn.close();
}
return connResult;
} catch (SQLException e) {
logger.error("Test connection Failed!", e);
throw new DatabaseServiceException(true, e.getSQLState(), e.getErrorCode(), e.getMessage());
}
}
Aggregations