Author: bfoster
Date: Wed Apr 30 16:16:09 2014
New Revision: 1591383

URL: http://svn.apache.org/r1591383
Log:
- JDBC driver must be loaded

Modified:
    
oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/DataSourceMetExtractor.java

Modified: 
oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/DataSourceMetExtractor.java
URL: 
http://svn.apache.org/viewvc/oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/DataSourceMetExtractor.java?rev=1591383&r1=1591382&r2=1591383&view=diff
==============================================================================
--- 
oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/DataSourceMetExtractor.java
 (original)
+++ 
oodt/trunk/metadata/src/main/java/org/apache/oodt/cas/metadata/extractors/DataSourceMetExtractor.java
 Wed Apr 30 16:16:09 2014
@@ -23,15 +23,18 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 
+
 // JAVAX imports
 import javax.sql.DataSource;
 
+
 // OODT imports
 import org.apache.oodt.cas.metadata.AbstractMetExtractor;
 import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.cas.metadata.exceptions.MetExtractionException;
 import org.apache.oodt.commons.database.DatabaseConnectionBuilder;
 
+
 // Google imports
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Splitter;
@@ -51,6 +54,7 @@ public class DataSourceMetExtractor exte
   protected Metadata extrMetadata(File file) throws MetExtractionException {
     String key = getKey(file);
     DataSourceMetExtractorConfig dsConfig = (DataSourceMetExtractorConfig) 
config;
+    insureLoadDriver(dsConfig.getDriver());
     DataSource dataSource = 
DatabaseConnectionBuilder.buildDataSource(dsConfig.getUserName(),
         dsConfig.getPassword(), dsConfig.getDriver(), 
dsConfig.getDatabaseUrl());
 
@@ -96,4 +100,12 @@ public class DataSourceMetExtractor exte
     }
     return metadata;
   }
+  
+  private void insureLoadDriver(String driver) throws MetExtractionException {
+    try {
+      Class.forName(driver);
+    } catch (ClassNotFoundException e) {
+      throw new MetExtractionException("Failed to load driver: " + driver, e);
+    }
+  }
 }


Reply via email to