mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-05-05 06:34:36 +02:00
documentation version 1.4.5
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<div class="separator"> </div>
|
||||
<table class="report">
|
||||
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
|
||||
<tr><td><a href="org.owasp.dependencycheck.data.update.EngineVersionCheck.html">EngineVersionCheck</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">43%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:43px"><span class="text">35/81</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">42%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:42px"><span class="text">12/28</span></div></div></td></tr></table></td><td class="value"><span class="hidden">4.714285714285714;</span>4.714</td></tr>
|
||||
<tr><td><a href="org.owasp.dependencycheck.data.update.EngineVersionCheck.html">EngineVersionCheck</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">41%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:41px"><span class="text">35/85</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">35%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:35px"><span class="text">12/34</span></div></div></td></tr></table></td><td class="value"><span class="hidden">5.142857142857143;</span>5.143</td></tr>
|
||||
|
||||
</table>
|
||||
<div class="separator"> </div>
|
||||
@@ -213,201 +213,215 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> update() <span class="keyword">throws</span> UpdateException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 101</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 102</td> <td class="nbHitsUncovered"><a title="Line 102: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 102: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (Settings.getBoolean(Settings.KEYS.AUTO_UPDATE)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 103</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> openDatabase();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 104</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Begin Engine Version Check"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 105</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> DatabaseProperties properties = cveDB.getDatabaseProperties();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 106</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">long</span> lastChecked = Long.parseLong(properties.getProperty(ENGINE_VERSION_CHECKED_ON, <span class="string">"0"</span>));</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 107</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">long</span> now = System.currentTimeMillis();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 108</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> updateToVersion = properties.getProperty(CURRENT_ENGINE_RELEASE, <span class="string">""</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 109</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String currentVersion = Settings.getString(Settings.KEYS.APPLICATION_VERSION, <span class="string">"0.0.0"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 110</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Last checked: {}"</span>, lastChecked);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 111</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Now: {}"</span>, now);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 112</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Current version: {}"</span>, currentVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 113</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">boolean</span> updateNeeded = shouldUpdate(lastChecked, now, properties, currentVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 114</td> <td class="nbHitsUncovered"><a title="Line 114: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 114: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (updateNeeded) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 115</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.warn(<span class="string">"A new version of dependency-check is available. Consider updating to version {}."</span>,</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 116</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 102</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">boolean</span> autoupdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE, <span class="keyword">true</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 103</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">boolean</span> enabled = Settings.getBoolean(Settings.KEYS.UPDATE_VERSION_CHECK_ENABLED, <span class="keyword">true</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 104</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String original = Settings.getString(Settings.KEYS.CVE_ORIGINAL_MODIFIED_20_URL);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 105</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String current = Settings.getString(Settings.KEYS.CVE_MODIFIED_20_URL);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 106</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 107</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Only update if auto-update is enabled, the engine check is</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 108</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * enabled, and the NVD CVE URLs have not been modified (i.e. the</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 109</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * user has not configured them to point to an internal source).</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 111</td> <td class="nbHitsUncovered"><a title="Line 111: Conditional coverage 0% (0/8) [each condition: 0%, 0%, 0%, 0%]."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 111: Conditional coverage 0% (0/8) [each condition: 0%, 0%, 0%, 0%]."> <span class="keyword">if</span> (enabled && autoupdate && original != <span class="keyword">null</span> && original.equals(current)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 112</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> openDatabase();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 113</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Begin Engine Version Check"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 114</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> DatabaseProperties properties = cveDB.getDatabaseProperties();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 115</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">long</span> lastChecked = Long.parseLong(properties.getProperty(ENGINE_VERSION_CHECKED_ON, <span class="string">"0"</span>));</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 116</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">long</span> now = System.currentTimeMillis();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 117</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> updateToVersion = properties.getProperty(CURRENT_ENGINE_RELEASE, <span class="string">""</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 118</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String currentVersion = Settings.getString(Settings.KEYS.APPLICATION_VERSION, <span class="string">"0.0.0"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 119</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Last checked: {}"</span>, lastChecked);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 120</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Now: {}"</span>, now);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 121</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Current version: {}"</span>, currentVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 122</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> <span class="keyword">boolean</span> updateNeeded = shouldUpdate(lastChecked, now, properties, currentVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 123</td> <td class="nbHitsUncovered"><a title="Line 123: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 123: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (updateNeeded) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 124</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.warn(<span class="string">"A new version of dependency-check is available. Consider updating to version {}."</span>,</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> updateToVersion);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 126</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 118</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 119</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (DatabaseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 120</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Database Exception opening databases to retrieve properties"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 121</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> UpdateException(<span class="string">"Error occurred updating database properties."</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 122</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (InvalidSettingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 123</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to determine if autoupdate is enabled"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 125</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> closeDatabase();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 126</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 127</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 130</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Determines if a new version of the dependency-check engine has been</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * released.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 128</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (DatabaseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 129</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Database Exception opening databases to retrieve properties"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 130</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> UpdateException(<span class="string">"Error occurred updating database properties."</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 131</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (InvalidSettingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 132</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to determine if autoupdate is enabled"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 133</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param lastChecked the epoch time of the last version check</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param now the current epoch time</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 135</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param properties the database properties object</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param currentVersion the current version of dependency-check</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return <code>true</code> if a newer version of the database has been</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * released; otherwise <code>false</code></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws UpdateException thrown if there is an error connecting to the</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * github documentation site or accessing the local database.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">boolean</span> shouldUpdate(<span class="keyword">final</span> <span class="keyword">long</span> lastChecked, <span class="keyword">final</span> <span class="keyword">long</span> now, <span class="keyword">final</span> DatabaseProperties properties,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String currentVersion) <span class="keyword">throws</span> UpdateException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//check every 30 days if we know there is an update, otherwise check every 7 days</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> checkRange = 30;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"><a title="Line 146: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 146: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!DateUtil.withinDateRange(lastChecked, now, checkRange)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Checking web for new version."</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 148</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String currentRelease = getCurrentReleaseVersion();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 149</td> <td class="nbHitsUncovered"><a title="Line 149: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 149: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (currentRelease != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = <span class="keyword">new</span> DependencyVersion(currentRelease);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 151</td> <td class="nbHitsUncovered"><a title="Line 151: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 151: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (v.getVersionParts() != <span class="keyword">null</span> && v.getVersionParts().size() >= 3) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 152</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> updateToVersion = v.toString();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 153</td> <td class="nbHitsUncovered"><a title="Line 153: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 153: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!currentRelease.equals(updateToVersion)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 154</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> properties.save(CURRENT_ENGINE_RELEASE, updateToVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> properties.save(ENGINE_VERSION_CHECKED_ON, Long.toString(now));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Current Release: {}"</span>, updateToVersion);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 161</td> <td class="nbHitsUncovered"><a title="Line 161: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 161: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (updateToVersion == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 162</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to obtain current release"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 163</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion running = <span class="keyword">new</span> DependencyVersion(currentVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion released = <span class="keyword">new</span> DependencyVersion(updateToVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"><a title="Line 167: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 167: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (running.compareTo(released) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Upgrade recommended"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 169</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Upgrade not needed"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 172</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Opens the CVE and CPE data stores.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws DatabaseException thrown if a data store cannot be opened</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> <span class="keyword">void</span> openDatabase() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsUncovered"><a title="Line 181: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 181: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cveDB != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 182</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 183</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB = <span class="keyword">new</span> CveDB();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 185</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB.open();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 186</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Closes the CVE and CPE data stores.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> closeDatabase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 192: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cveDB != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 194</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB.close();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (Throwable ignore) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 197</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.trace(<span class="string">"Error closing the cveDB"</span>, ignore);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 198</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 200</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Retrieves the current released version number from the github</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * documentation site.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return the current released version number</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String getCurrentReleaseVersion() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> HttpURLConnection conn = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String str = Settings.getString(Settings.KEYS.ENGINE_VERSION_CHECK_URL, <span class="string">"http://jeremylong.github.io/DependencyCheck/current.txt"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> URL url = <span class="keyword">new</span> URL(str);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn = URLConnectionFactory.createHttpURLConnection(url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn.connect();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 215</td> <td class="nbHitsUncovered"><a title="Line 215: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 215: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (conn.getResponseCode() != 200) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 216</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String releaseVersion = IOUtils.toString(conn.getInputStream(), <span class="string">"UTF-8"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 219</td> <td class="nbHitsUncovered"><a title="Line 219: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 219: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (releaseVersion != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> releaseVersion.trim();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (MalformedURLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 223</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - malformed url?"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (URLConnectionFailureException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - connection failed"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 226</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 227</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - i/o exception"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsUncovered"><a title="Line 229: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 229: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn.disconnect();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 134</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> closeDatabase();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 135</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 136</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Determines if a new version of the dependency-check engine has been</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * released.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param lastChecked the epoch time of the last version check</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param now the current epoch time</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param properties the database properties object</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param currentVersion the current version of dependency-check</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return <code>true</code> if a newer version of the database has been</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 147</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * released; otherwise <code>false</code></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws UpdateException thrown if there is an error connecting to the</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 149</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * github documentation site or accessing the local database.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">boolean</span> shouldUpdate(<span class="keyword">final</span> <span class="keyword">long</span> lastChecked, <span class="keyword">final</span> <span class="keyword">long</span> now, <span class="keyword">final</span> DatabaseProperties properties,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String currentVersion) <span class="keyword">throws</span> UpdateException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 153</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//check every 30 days if we know there is an update, otherwise check every 7 days</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 154</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> checkRange = 30;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"><a title="Line 155: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 155: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!DateUtil.withinDateRange(lastChecked, now, checkRange)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Checking web for new version."</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 157</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String currentRelease = getCurrentReleaseVersion();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 158</td> <td class="nbHitsUncovered"><a title="Line 158: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 158: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (currentRelease != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = <span class="keyword">new</span> DependencyVersion(currentRelease);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 160</td> <td class="nbHitsUncovered"><a title="Line 160: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 160: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (v.getVersionParts() != <span class="keyword">null</span> && v.getVersionParts().size() >= 3) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 161</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> updateToVersion = v.toString();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 162</td> <td class="nbHitsUncovered"><a title="Line 162: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 162: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!currentRelease.equals(updateToVersion)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 163</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> properties.save(CURRENT_ENGINE_RELEASE, updateToVersion);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> properties.save(ENGINE_VERSION_CHECKED_ON, Long.toString(now));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Current Release: {}"</span>, updateToVersion);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 170</td> <td class="nbHitsUncovered"><a title="Line 170: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 170: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (updateToVersion == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 171</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to obtain current release"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 172</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 174</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion running = <span class="keyword">new</span> DependencyVersion(currentVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion released = <span class="keyword">new</span> DependencyVersion(updateToVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"><a title="Line 176: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 176: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (running.compareTo(released) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Upgrade recommended"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Upgrade not needed"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 183</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Opens the CVE and CPE data stores.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws DatabaseException thrown if a data store cannot be opened</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> <span class="keyword">void</span> openDatabase() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsUncovered"><a title="Line 190: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 190: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cveDB != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 191</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB = <span class="keyword">new</span> CveDB();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 194</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB.open();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Closes the CVE and CPE data stores.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> closeDatabase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 201</td> <td class="nbHitsUncovered"><a title="Line 201: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 201: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cveDB != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 203</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB.close();</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 204</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cveDB = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (Throwable ignore) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 206</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.trace(<span class="string">"Error closing the cveDB"</span>, ignore);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Retrieves the current released version number from the github</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * documentation site.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return the current released version number</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String getCurrentReleaseVersion() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> HttpURLConnection conn = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String str = Settings.getString(Settings.KEYS.ENGINE_VERSION_CHECK_URL, <span class="string">"http://jeremylong.github.io/DependencyCheck/current.txt"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> URL url = <span class="keyword">new</span> URL(str);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn = URLConnectionFactory.createHttpURLConnection(url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 223</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn.connect();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsUncovered"><a title="Line 224: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 224: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (conn.getResponseCode() != 200) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String releaseVersion = IOUtils.toString(conn.getInputStream(), <span class="string">"UTF-8"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 228</td> <td class="nbHitsUncovered"><a title="Line 228: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 228: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (releaseVersion != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> releaseVersion.trim();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 231</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (MalformedURLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - malformed url?"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (URLConnectionFailureException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 234</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - connection failed"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 235</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 236</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">"Unable to retrieve current release version of dependency-check - i/o exception"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsUncovered"><a title="Line 238: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 238: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> conn.disconnect();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 11/5/16 7:41 AM.</div>
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 1/22/17 4:19 PM.</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user