mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-05-01 20:54:44 +02:00
documentation update v1.4.4
This commit is contained in:
@@ -220,7 +220,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 111</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> Connection getConnection() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 45</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conn;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conn;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 113</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
|
||||
@@ -240,7 +240,7 @@
|
||||
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 122</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">void</span> open() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> open() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 123</td> <td class="nbHitsCovered"><a title="Line 123: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 123: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!isOpen()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 124</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> conn = ConnectionFactory.getConnection();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
|
||||
@@ -257,8 +257,8 @@
|
||||
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> close() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"><a title="Line 133: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 133: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> close() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"><a title="Line 133: Conditional coverage 100% (2/2)."> 22</a></td> <td class="src"><pre class="src"> <a title="Line 133: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conn != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> conn.close();</pre></td></tr>
|
||||
@@ -272,7 +272,7 @@
|
||||
<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> conn = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 147</td> <td class="nbHits"> </td>
|
||||
@@ -286,7 +286,7 @@
|
||||
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> isOpen() {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">boolean</span> isOpen() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 153</td> <td class="nbHitsCovered"><a title="Line 153: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 153: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> conn != <span class="keyword">null</span>;</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
@@ -303,7 +303,7 @@
|
||||
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> commit() <span class="keyword">throws</span> SQLException {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> commit() <span class="keyword">throws</span> SQLException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//temporary remove this as autocommit is on.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
|
||||
@@ -331,10 +331,10 @@
|
||||
<td class="src"><pre class="src"> @SuppressWarnings(<span class="string">"FinalizeDeclaration"</span>)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> finalize() <span class="keyword">throws</span> Throwable {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Entering finalize"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.finalize();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> LOGGER.debug(<span class="string">"Entering finalize"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.finalize();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
|
||||
@@ -385,32 +385,32 @@
|
||||
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Set<VulnerableSoftware> getCPEs(String vendor, String product) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 206</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpe = <span class="keyword">new</span> HashSet<VulnerableSoftware>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> Set<VulnerableSoftware> getCPEs(String vendor, String product) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 206</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpe = <span class="keyword">new</span> HashSet<VulnerableSoftware>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps = getConnection().prepareStatement(statementBundle.getString(<span class="string">"SELECT_CPE_ENTRIES"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps.setString(1, vendor);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps.setString(2, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps = getConnection().prepareStatement(statementBundle.getString(<span class="string">"SELECT_CPE_ENTRIES"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps.setString(1, vendor);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps.setString(2, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"><a title="Line 215: Conditional coverage 100% (2/2)."> 112</a></td> <td class="src"><pre class="src"> <a title="Line 215: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 109</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware vs = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 109</td> <td class="src"><pre class="src"> vs.setCpe(rs.getString(1));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 109</td> <td class="src"><pre class="src"> cpe.add(vs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 109</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"><a title="Line 215: Conditional coverage 100% (2/2)."> 134</a></td> <td class="src"><pre class="src"> <a title="Line 215: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 130</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware vs = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 130</td> <td class="src"><pre class="src"> vs.setCpe(rs.getString(1));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 130</td> <td class="src"><pre class="src"> cpe.add(vs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 130</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 220</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 221</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.error(<span class="string">"An unexpected SQL Exception occurred; please see the verbose log for more details."</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.debug(<span class="string">""</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> DBUtils.closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> DBUtils.closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 226</td> <td class="nbHitsCovered"> 3</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">return</span> cpe;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> DBUtils.closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> DBUtils.closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 226</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpe;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
|
||||
@@ -430,7 +430,7 @@
|
||||
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Set<Pair<String, String>> getVendorProductList() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> Set<Pair<String, String>> getVendorProductList() <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<Pair<String, String>> data = <span class="keyword">new</span> HashSet<Pair<String, String>>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
@@ -438,8 +438,8 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 242</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> ps = getConnection().prepareStatement(statementBundle.getString(<span class="string">"SELECT_VENDOR_PRODUCT_LIST"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 243</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"><a title="Line 244: Conditional coverage 100% (2/2)."> 52336</a></td> <td class="src"><pre class="src"> <a title="Line 244: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 245</td> <td class="nbHitsCovered"> 52334</td> <td class="src"><pre class="src"> data.add(<span class="keyword">new</span> Pair<String, String>(rs.getString(1), rs.getString(2)));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"><a title="Line 244: Conditional coverage 100% (2/2)."> 52776</a></td> <td class="src"><pre class="src"> <a title="Line 244: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 245</td> <td class="nbHitsCovered"> 52774</td> <td class="src"><pre class="src"> data.add(<span class="keyword">new</span> Pair<String, String>(rs.getString(1), rs.getString(2)));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 247</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (SQLException ex) {</span></pre></td></tr>
|
||||
@@ -466,7 +466,7 @@
|
||||
<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Properties getProperties() {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">synchronized</span> Properties getProperties() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 263</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Properties prop = <span class="keyword">new</span> Properties();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 264</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
@@ -504,7 +504,7 @@
|
||||
<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">void</span> saveProperty(String key, String value) {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">synchronized</span> <span class="keyword">void</span> saveProperty(String key, String value) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 290</td> <td class="nbHits"> </td>
|
||||
@@ -564,55 +564,55 @@
|
||||
<tr> <td class="numLine"> 330</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> List<Vulnerability> getVulnerabilities(String cpeStr) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> List<Vulnerability> getVulnerabilities(String cpeStr) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 336</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.trace(<span class="string">""</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion detectedVersion = parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<Vulnerability> vulnerabilities = <span class="keyword">new</span> ArrayList<Vulnerability>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion detectedVersion = parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<Vulnerability> vulnerabilities = <span class="keyword">new</span> ArrayList<Vulnerability>();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 340</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> PreparedStatement ps = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps = getConnection().prepareStatement(statementBundle.getString(<span class="string">"SELECT_CVE_FROM_SOFTWARE"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps.setString(1, cpe.getVendor());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> ps.setString(2, cpe.getProduct());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> String currentCVE = <span class="string">""</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps = getConnection().prepareStatement(statementBundle.getString(<span class="string">"SELECT_CVE_FROM_SOFTWARE"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps.setString(1, cpe.getVendor());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ps.setString(2, cpe.getProduct());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> rs = ps.executeQuery();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> String currentCVE = <span class="string">""</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 349</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<String, Boolean> vulnSoftware = <span class="keyword">new</span> HashMap<String, Boolean>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"><a title="Line 351: Conditional coverage 100% (2/2)."> 282</a></td> <td class="src"><pre class="src"> <a title="Line 351: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cveId = rs.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"><a title="Line 353: Conditional coverage 100% (2/2)."> 279</a></td> <td class="src"><pre class="src"> <a title="Line 353: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!currentCVE.equals(cveId)) { <span class="comment">//check for match and add</span></a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Entry<String, Boolean> matchedCPE = getMatchingSoftware(vulnSoftware, cpe.getVendor(), cpe.getProduct(), detectedVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"><a title="Line 355: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 355: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matchedCPE != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<String, Boolean> vulnSoftware = <span class="keyword">new</span> HashMap<String, Boolean>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"><a title="Line 351: Conditional coverage 100% (2/2)."> 309</a></td> <td class="src"><pre class="src"> <a title="Line 351: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (rs.next()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cveId = rs.getString(1);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"><a title="Line 353: Conditional coverage 100% (2/2)."> 305</a></td> <td class="src"><pre class="src"> <a title="Line 353: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!currentCVE.equals(cveId)) { <span class="comment">//check for match and add</span></a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Entry<String, Boolean> matchedCPE = getMatchingSoftware(vulnSoftware, cpe.getVendor(), cpe.getProduct(), detectedVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"><a title="Line 355: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 355: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matchedCPE != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Vulnerability v = getVulnerability(currentCVE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 357</td> <td class="nbHitsUncovered"><a title="Line 357: Conditional coverage 50% (1/2)."> 6</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 357: Conditional coverage 50% (1/2)."> v.setMatchedCPE(matchedCPE.getKey(), matchedCPE.getValue() ? <span class="string">"Y"</span> : <span class="keyword">null</span>);</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> vulnerabilities.add(v);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> vulnSoftware.clear();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> currentCVE = cveId;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> vulnSoftware.clear();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> currentCVE = cveId;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 362</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeId = rs.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String previous = rs.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsUncovered"><a title="Line 366: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 279</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 366: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">final</span> Boolean p = previous != <span class="keyword">null</span> && !previous.isEmpty();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> vulnSoftware.put(cpeId, p);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeId = rs.getString(2);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String previous = rs.getString(3);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsUncovered"><a title="Line 366: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 305</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 366: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">final</span> Boolean p = previous != <span class="keyword">null</span> && !previous.isEmpty();</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> vulnSoftware.put(cpeId, p);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//remember to process the last set of CVE/CPE entries</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Entry<String, Boolean> matchedCPE = getMatchingSoftware(vulnSoftware, cpe.getVendor(), cpe.getProduct(), detectedVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"><a title="Line 371: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 371: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matchedCPE != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Entry<String, Boolean> matchedCPE = getMatchingSoftware(vulnSoftware, cpe.getVendor(), cpe.getProduct(), detectedVersion);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"><a title="Line 371: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 371: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matchedCPE != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 372</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Vulnerability v = getVulnerability(currentCVE);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 373</td> <td class="nbHitsUncovered"><a title="Line 373: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 373: Conditional coverage 50% (1/2)."> v.setMatchedCPE(matchedCPE.getKey(), matchedCPE.getValue() ? <span class="string">"Y"</span> : <span class="keyword">null</span>);</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 374</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> vulnerabilities.add(v);</pre></td></tr>
|
||||
@@ -622,10 +622,10 @@
|
||||
<tr> <td class="numLineCover"> 377</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> DatabaseException(<span class="string">"Exception retrieving vulnerability for "</span> + cpeStr, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 378</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> DBUtils.closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> DBUtils.closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 381</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vulnerabilities;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> DBUtils.closeResultSet(rs);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> DBUtils.closeStatement(ps);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 381</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> vulnerabilities;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 383</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 384</td> <td class="nbHits"> </td>
|
||||
@@ -645,7 +645,7 @@
|
||||
<tr> <td class="numLine"> 391</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Vulnerability getVulnerability(String cve) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> Vulnerability getVulnerability(String cve) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> PreparedStatement psV = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 394</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> PreparedStatement psR = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 395</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> PreparedStatement psS = <span class="keyword">null</span>;</pre></td></tr>
|
||||
@@ -738,7 +738,7 @@
|
||||
<tr> <td class="numLine"> 464</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 465</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> updateVulnerability(Vulnerability vuln) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> updateVulnerability(Vulnerability vuln) <span class="keyword">throws</span> DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 466</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement selectVulnerabilityId = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 467</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement deleteVulnerability = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 468</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement deleteReferences = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
@@ -959,7 +959,7 @@
|
||||
<tr> <td class="numLine"> 640</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 641</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> dataExists() {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">boolean</span> dataExists() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 642</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> Statement cs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 643</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> ResultSet rs = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 644</td> <td class="nbHits"> </td>
|
||||
@@ -1012,7 +1012,7 @@
|
||||
<tr> <td class="numLine"> 676</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 677</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> cleanupDatabase() {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> cleanupDatabase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 678</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement ps = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 679</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
@@ -1065,19 +1065,19 @@
|
||||
<td class="src"><pre class="src"> DependencyVersion identifiedVersion) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 708</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 709</td> <td class="nbHitsUncovered"><a title="Line 709: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 13</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 709: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> isVersionTwoADifferentProduct = <span class="string">"apache"</span>.equals(vendor) && <span class="string">"struts"</span>.equals(product);</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 709</td> <td class="nbHitsUncovered"><a title="Line 709: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 709: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> isVersionTwoADifferentProduct = <span class="string">"apache"</span>.equals(vendor) && <span class="string">"struts"</span>.equals(product);</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 710</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 711</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<String> majorVersionsAffectingAllPrevious = <span class="keyword">new</span> HashSet<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 712</td> <td class="nbHitsUncovered"><a title="Line 712: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 13</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 712: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> matchesAnyPrevious = identifiedVersion == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(identifiedVersion.toString());</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 713</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> String majorVersionMatch = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 714</td> <td class="nbHitsCovered"><a title="Line 714: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 714: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 715</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(entry.getKey());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 716</td> <td class="nbHitsUncovered"><a title="Line 716: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 279</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 716: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (v == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(v.toString())) { <span class="comment">//all versions</span></a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 711</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<String> majorVersionsAffectingAllPrevious = <span class="keyword">new</span> HashSet<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 712</td> <td class="nbHitsUncovered"><a title="Line 712: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 712: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> matchesAnyPrevious = identifiedVersion == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(identifiedVersion.toString());</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 713</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> String majorVersionMatch = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 714</td> <td class="nbHitsCovered"><a title="Line 714: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 714: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 715</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(entry.getKey());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 716</td> <td class="nbHitsUncovered"><a title="Line 716: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 305</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 716: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (v == <span class="keyword">null</span> || <span class="string">"-"</span>.equals(v.toString())) { <span class="comment">//all versions</span></a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 717</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> entry;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 718</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 719</td> <td class="nbHitsCovered"><a title="Line 719: Conditional coverage 100% (2/2)."> 279</a></td> <td class="src"><pre class="src"> <a title="Line 719: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.getValue()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 719</td> <td class="nbHitsCovered"><a title="Line 719: Conditional coverage 100% (2/2)."> 305</a></td> <td class="src"><pre class="src"> <a title="Line 719: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.getValue()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 720</td> <td class="nbHitsUncovered"><a title="Line 720: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 720: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (matchesAnyPrevious) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 721</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> entry;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 722</td> <td class="nbHits"> </td>
|
||||
@@ -1089,24 +1089,24 @@
|
||||
<tr> <td class="numLineCover"> 726</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> majorVersionsAffectingAllPrevious.add(v.getVersionParts().get(0));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 727</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 728</td> <td class="nbHitsCovered"> 279</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 729</td> <td class="nbHitsUncovered"><a title="Line 729: Conditional coverage 50% (1/2)."> 13</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 729: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (matchesAnyPrevious) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 728</td> <td class="nbHitsCovered"> 305</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 729</td> <td class="nbHitsUncovered"><a title="Line 729: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 729: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (matchesAnyPrevious) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 730</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"> 731</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 732</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 733</td> <td class="nbHitsCovered"><a title="Line 733: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 733: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> canSkipVersions = majorVersionMatch != <span class="keyword">null</span> && majorVersionsAffectingAllPrevious.size() > 1;</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 733</td> <td class="nbHitsCovered"><a title="Line 733: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 733: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> canSkipVersions = majorVersionMatch != <span class="keyword">null</span> && majorVersionsAffectingAllPrevious.size() > 1;</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 734</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//yes, we are iterating over this twice. The first time we are skipping versions those that affect all versions</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 735</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//then later we process those that affect all versions. This could be done with sorting...</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 736</td> <td class="nbHitsCovered"><a title="Line 736: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 736: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 737</td> <td class="nbHitsCovered"><a title="Line 737: Conditional coverage 100% (2/2)."> 237</a></td> <td class="src"><pre class="src"> <a title="Line 737: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!entry.getValue()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 738</td> <td class="nbHitsCovered"> 229</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(entry.getKey());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 736</td> <td class="nbHitsCovered"><a title="Line 736: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 736: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 737</td> <td class="nbHitsCovered"><a title="Line 737: Conditional coverage 100% (2/2)."> 263</a></td> <td class="src"><pre class="src"> <a title="Line 737: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!entry.getValue()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 738</td> <td class="nbHitsCovered"> 255</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(entry.getKey());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 739</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//this can't dereference a null 'majorVersionMatch' as canSkipVersions accounts for this.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 740</td> <td class="nbHitsCovered"><a title="Line 740: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 229</a></td> <td class="src"><pre class="src"> <a title="Line 740: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (canSkipVersions && !majorVersionMatch.equals(v.getVersionParts().get(0))) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 740</td> <td class="nbHitsCovered"><a title="Line 740: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 255</a></td> <td class="src"><pre class="src"> <a title="Line 740: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (canSkipVersions && !majorVersionMatch.equals(v.getVersionParts().get(0))) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 741</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">continue</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 742</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
@@ -1114,15 +1114,15 @@
|
||||
<td class="src"><pre class="src"> <span class="comment">//this can't dereference a null 'identifiedVersion' because if it was null we would have exited</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 744</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//in the above loop or just after loop (if matchesAnyPrevious return null).</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 745</td> <td class="nbHitsCovered"><a title="Line 745: Conditional coverage 100% (2/2)."> 221</a></td> <td class="src"><pre class="src"> <a title="Line 745: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifiedVersion.equals(v)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 745</td> <td class="nbHitsCovered"><a title="Line 745: Conditional coverage 100% (2/2)."> 247</a></td> <td class="src"><pre class="src"> <a title="Line 745: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifiedVersion.equals(v)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 746</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> entry;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 747</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 748</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 749</td> <td class="nbHitsCovered"> 221</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 750</td> <td class="nbHitsCovered"><a title="Line 750: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 750: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 751</td> <td class="nbHitsUncovered"><a title="Line 751: Conditional coverage 50% (1/2)."> 56</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 751: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.getValue()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 749</td> <td class="nbHitsCovered"> 247</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 750</td> <td class="nbHitsCovered"><a title="Line 750: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 750: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Entry<String, Boolean> entry : vulnerableSoftware.entrySet()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 751</td> <td class="nbHitsUncovered"><a title="Line 751: Conditional coverage 50% (1/2)."> 82</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 751: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.getValue()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 752</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> DependencyVersion v = parseDependencyVersion(entry.getKey());</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 753</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//this can't dereference a null 'majorVersionMatch' as canSkipVersions accounts for this.</span></pre></td></tr>
|
||||
@@ -1143,8 +1143,8 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 764</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 765</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 766</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 765</td> <td class="nbHitsCovered"> 82</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 766</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 767</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 768</td> <td class="nbHits"> </td>
|
||||
@@ -1165,16 +1165,16 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 776</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> DependencyVersion parseDependencyVersion(String cpeStr) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 777</td> <td class="nbHitsCovered"> 508</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 777</td> <td class="nbHitsCovered"> 560</td> <td class="src"><pre class="src"> <span class="keyword">final</span> VulnerableSoftware cpe = <span class="keyword">new</span> VulnerableSoftware();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 778</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 779</td> <td class="nbHitsCovered"> 508</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 779</td> <td class="nbHitsCovered"> 560</td> <td class="src"><pre class="src"> cpe.parseName(cpeStr);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 780</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 781</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//never going to happen.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 782</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.trace(<span class="string">""</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 783</td> <td class="nbHitsCovered"> 508</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 784</td> <td class="nbHitsCovered"> 508</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 783</td> <td class="nbHitsCovered"> 560</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 784</td> <td class="nbHitsCovered"> 560</td> <td class="src"><pre class="src"> <span class="keyword">return</span> parseDependencyVersion(cpe);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 785</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 786</td> <td class="nbHits"> </td>
|
||||
@@ -1197,22 +1197,22 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 795</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 796</td> <td class="nbHitsUncovered"><a title="Line 796: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 511</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 796: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (cpe.getVersion() != <span class="keyword">null</span> && !cpe.getVersion().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 796</td> <td class="nbHitsUncovered"><a title="Line 796: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 564</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 796: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (cpe.getVersion() != <span class="keyword">null</span> && !cpe.getVersion().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 797</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">final</span> String versionText;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 798</td> <td class="nbHitsUncovered"><a title="Line 798: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 511</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 798: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getUpdate() != <span class="keyword">null</span> && !cpe.getUpdate().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 798</td> <td class="nbHitsUncovered"><a title="Line 798: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 564</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 798: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cpe.getUpdate() != <span class="keyword">null</span> && !cpe.getUpdate().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 799</td> <td class="nbHitsCovered"> 113</td> <td class="src"><pre class="src"> versionText = String.format(<span class="string">"%s.%s"</span>, cpe.getVersion(), cpe.getUpdate());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 800</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 801</td> <td class="nbHitsCovered"> 398</td> <td class="src"><pre class="src"> versionText = cpe.getVersion();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 801</td> <td class="nbHitsCovered"> 451</td> <td class="src"><pre class="src"> versionText = cpe.getVersion();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 802</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 803</td> <td class="nbHitsCovered"> 511</td> <td class="src"><pre class="src"> cpeVersion = DependencyVersionUtil.parseVersion(versionText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 804</td> <td class="nbHitsCovered"> 511</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 803</td> <td class="nbHitsCovered"> 564</td> <td class="src"><pre class="src"> cpeVersion = DependencyVersionUtil.parseVersion(versionText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 804</td> <td class="nbHitsCovered"> 564</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 805</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cpeVersion = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 806</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 807</td> <td class="nbHitsCovered"> 511</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 807</td> <td class="nbHitsCovered"> 564</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cpeVersion;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 808</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 809</td> <td class="nbHits"> </td>
|
||||
@@ -1228,7 +1228,7 @@
|
||||
<tr> <td class="numLine"> 814</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 815</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> deleteUnusedCpe() {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> deleteUnusedCpe() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 816</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement ps = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 817</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
@@ -1264,7 +1264,7 @@
|
||||
<tr> <td class="numLine"> 836</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 837</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> addCpe(String cpe, String vendor, String product) {</pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> addCpe(String cpe, String vendor, String product) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 838</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> PreparedStatement ps = <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 839</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
@@ -1284,6 +1284,6 @@
|
||||
<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 9/6/16 6:49 AM.</div>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user