From e6efe6e610cfea2dbb293b701a28c2781a391934 Mon Sep 17 00:00:00 2001 From: Jeremy Long Date: Sat, 25 May 2013 10:56:41 -0400 Subject: [PATCH] Applied patch from Steve to change the loading of the H2 db Former-commit-id: cfce611fadbd2a39880f01d61054dbb8f72f81dc --- .../java/org/owasp/dependencycheck/data/nvdcve/CveDB.java | 3 ++- .../org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java | 2 +- .../dependencycheck/data/nvdcve/xml/DatabaseUpdater.java | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java b/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java index f9e60b659..c7c064da5 100644 --- a/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java +++ b/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java @@ -182,13 +182,14 @@ public class CveDB { * @throws SQLException thrown if there is a SQL Exception * @throws DatabaseException thrown if there is an error initializing a new database */ - public void open() throws IOException, SQLException, DatabaseException { + public void open() throws IOException, SQLException, DatabaseException, ClassNotFoundException { final String fileName = CveDB.getDataDirectory().getCanonicalPath() + File.separator + "cve"; final File f = new File(fileName); final boolean createTables = !f.exists(); final String connStr = "jdbc:h2:file:" + fileName; + Class.forName("org.h2.Driver"); conn = DriverManager.getConnection(connStr, "sa", ""); if (createTables) { createTables(); diff --git a/src/main/java/org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java b/src/main/java/org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java index 30cfb6180..964ed751e 100644 --- a/src/main/java/org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java +++ b/src/main/java/org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java @@ -54,7 +54,7 @@ public class NvdCveAnalyzer implements Analyzer { * @throws IOException thrown when there is an IO Exception * @throws DatabaseException thrown when there is a database exceptions */ - public void open() throws SQLException, IOException, DatabaseException { + public void open() throws SQLException, IOException, DatabaseException, ClassNotFoundException { cveDB = new CveDB(); cveDB.open(); } diff --git a/src/main/java/org/owasp/dependencycheck/data/nvdcve/xml/DatabaseUpdater.java b/src/main/java/org/owasp/dependencycheck/data/nvdcve/xml/DatabaseUpdater.java index bc5abcbf4..d74c0f614 100644 --- a/src/main/java/org/owasp/dependencycheck/data/nvdcve/xml/DatabaseUpdater.java +++ b/src/main/java/org/owasp/dependencycheck/data/nvdcve/xml/DatabaseUpdater.java @@ -137,6 +137,8 @@ public class DatabaseUpdater implements CachedWebDataSource { throw new UpdateException(ex); } catch (DatabaseException ex) { throw new UpdateException(ex); + } catch (ClassNotFoundException ex) { + throw new UpdateException(ex); } finally { try { if (outputPath != null && outputPath.exists()) { @@ -181,7 +183,7 @@ public class DatabaseUpdater implements CachedWebDataSource { * @throws DatabaseException is thrown if there is a database exception */ private void importXML(File file, File oldVersion) - throws ParserConfigurationException, SAXException, IOException, SQLException, DatabaseException { + throws ParserConfigurationException, SAXException, IOException, SQLException, DatabaseException, ClassNotFoundException { CveDB cveDB = null; Index cpeIndex = null;