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);
+ }
+ }
}