use of com.google.refine.extension.database.DatabaseServiceException in project OpenRefine by OpenRefine.
the class SQLiteConnectionManager method testConnection.
/**
* testConnection
*
* @param dbConfig
* @return boolean
*/
public boolean testConnection(DatabaseConfiguration dbConfig) throws DatabaseServiceException {
try {
boolean connResult = false;
Connection conn = getConnection(dbConfig);
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 TestConnectCommand method doPost.
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (!hasValidCSRFToken(request)) {
respondCSRFError(response);
return;
}
DatabaseConfiguration databaseConfiguration = getJdbcConfiguration(request);
if (logger.isDebugEnabled()) {
logger.debug("TestConnectCommand::Post::{}", databaseConfiguration);
}
// ProjectManager.singleton.setBusy(true);
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type", "application/json");
Writer w = response.getWriter();
JsonGenerator writer = ParsingUtilities.mapper.getFactory().createGenerator(w);
try {
boolean connectionTestResult = DatabaseService.get(databaseConfiguration.getDatabaseType()).testConnection(databaseConfiguration);
response.setStatus(HttpStatus.SC_OK);
writer.writeStartObject();
writer.writeBooleanField("connectionResult", connectionTestResult);
writer.writeStringField("code", "ok");
writer.writeEndObject();
} catch (DatabaseServiceException e) {
logger.error("TestConnectCommand::Post::DatabaseServiceException::{}", e);
sendError(HttpStatus.SC_UNAUTHORIZED, response, e);
} finally {
writer.flush();
writer.close();
w.close();
}
} catch (Exception e) {
logger.error("TestConnectCommand::Post::Exception::{}", e);
throw new ServletException(e);
} finally {
// ProjectManager.singleton.setBusy(false);
}
}
Aggregations