From 536144fa5d21ea121b0557fad267e3a910fb0432 Mon Sep 17 00:00:00 2001 From: "a.babadshanjan" Date: Fri, 19 Jun 2009 09:41:33 +0000 Subject: [PATCH] Taraxacum Import: Update sec_id of Taraxacum taxa (merged from 2.0 & improved) --- .../cdm/database/CdmDataSourceBase.java | 73 +++++++++++++++++-- 1 file changed, 66 insertions(+), 7 deletions(-) diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/CdmDataSourceBase.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/CdmDataSourceBase.java index 01c007929f..09f1f37f2b 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/CdmDataSourceBase.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/CdmDataSourceBase.java @@ -11,6 +11,9 @@ package eu.etaxonomy.cdm.database; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; import org.apache.log4j.Logger; @@ -23,20 +26,33 @@ import eu.etaxonomy.cdm.database.types.IDatabaseType; */ abstract class CdmDataSourceBase implements ICdmDataSource { private static final Logger logger = Logger.getLogger(CdmDataSourceBase.class); + - + private Connection getConnection() { - /* (non-Javadoc) - * @see eu.etaxonomy.cdm.database.ICdmDataSource#testConnection() - */ - public boolean testConnection() { + Connection mConn = null; try { IDatabaseType dbType = getDatabaseType().getDatabaseType(); String classString = dbType.getClassString(); Class.forName(classString); - String mUrl = dbType.getConnectionString(this); - Connection mConn = DriverManager.getConnection(mUrl, getUsername(), getPassword()); + mConn = DriverManager.getConnection(mUrl, getUsername(), getPassword()); + } catch (ClassNotFoundException e) { + logger.error("Database driver class could not be loaded\n" + "Exception: " + e.toString()); + } catch(SQLException e) { + logger.error("Problems with database connection\n" + "Exception: " + e.toString()); + } + return mConn; + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.database.ICdmDataSource#testConnection() + */ + public boolean testConnection() { + + try { + Connection mConn = getConnection(); if (mConn != null){ return true; }else{ @@ -47,4 +63,47 @@ abstract class CdmDataSourceBase implements ICdmDataSource { return false; } } + + + /** + * Executes a query and returns the ResultSet. + * @return ResultSet for the query. + */ + public ResultSet executeQuery (String query) { + + ResultSet rs; + try { + if (query == null){ + return null; + } + Connection mConn = getConnection(); + Statement mStmt = mConn.createStatement(); + rs = mStmt.executeQuery(query); + return rs; + } catch(SQLException e) { + logger.error("Problems when executing query \n " + query + " \n" + "Exception: " + e); + return null; + } + } + + /** + * Executes an update + * @return return code + */ + public int executeUpdate (String sqlUpdate) { + + int result; + try { + if (sqlUpdate == null){ + return 0; + } + Connection mConn = getConnection(); + Statement mStmt = mConn.createStatement(); + result = mStmt.executeUpdate(sqlUpdate); + return result; + } catch(SQLException e) { + logger.error("Problems when executing update\n " + sqlUpdate + " \n" + "Exception: " + e); + return 0; + } + } } -- 2.34.1