From ab4b19dbab4a5cae0655e2372658f16b4dfcbb87 Mon Sep 17 00:00:00 2001 From: Jeremy Long Date: Tue, 25 Nov 2014 05:55:01 -0500 Subject: [PATCH] added a database check to ensure data exists - this replaces an older method and reduces startup time to help resolve issue #168 Former-commit-id: 4a8b2db9adf91cef2d89148f0c9b9c2327240221 --- .../dependencycheck/data/nvdcve/CveDB.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java index 461f1a030..f629aa879 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/nvdcve/CveDB.java @@ -700,6 +700,31 @@ public class CveDB { } } + /** + * Checks to see if data exists so that analysis can be performed. + * + * @return truefalse + */ + public boolean dataExists() { + Statement cs = null; + ResultSet rs = null; + try { + cs = conn.createStatement(); + rs = cs.executeQuery("SELECT COUNT(*) records FROM cpeEntry"); + if (rs.next()) { + if (rs.getInt(1) > 0) { + return true; + } + } + } catch (SQLException ex) { + Logger.getLogger(CveDB.class.getName()).log(Level.SEVERE, null, ex); + } finally { + DBUtils.closeResultSet(rs); + DBUtils.closeStatement(cs); + } + return false; + } + /** * It is possible that orphaned rows may be generated during database updates. This should be called after all * updates have been completed to ensure orphan entries are removed.