Refactored methods in VersionableDaoBase etc + added Query-By-Example for CdmEntityDa...
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / CdmDataSourceBase.java
index 24fb7a085acd7eb066da75379bab865afcdcd132..b05e3d2f35fd3820a2eeb70843552440523605af 100644 (file)
@@ -49,20 +49,23 @@ abstract class CdmDataSourceBase implements ICdmDataSource {
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.cdm.database.ICdmDataSource#testConnection()\r
         */\r
-       public boolean testConnection() throws Exception {\r
+       public boolean testConnection() throws DataSourceNotFoundException {\r
 \r
                IDatabaseType dbType = getDatabaseType().getDatabaseType();\r
                String classString = dbType.getClassString();\r
-               Class.forName(classString);\r
-               \r
-               String mUrl = dbType.getConnectionString(this);\r
-               Connection mConn = DriverManager.getConnection(mUrl, getUsername(), getPassword());\r
-               if (mConn != null){\r
-                       return true;\r
-               }else{\r
-                       return false;\r
+               try {\r
+                       Class.forName(classString);\r
+                       String mUrl = dbType.getConnectionString(this);\r
+                       Connection mConn = DriverManager.getConnection(mUrl, getUsername(), getPassword());\r
+                       if (mConn != null){\r
+                               return true;\r
+                       }\r
+               } catch (ClassNotFoundException e) {\r
+                       throw new DataSourceNotFoundException(e);\r
+               } catch (SQLException e) {\r
+                       throw new DataSourceNotFoundException(e);\r
                }\r
-\r
+               return false;\r
        }\r
 \r
        \r