version 1.2.5 of the documentation

This commit is contained in:
Jeremy Long
2014-09-17 05:43:14 -04:00
parent c9a8bb3969
commit b31c4d94c4
988 changed files with 22559 additions and 19785 deletions

View File

@@ -12,7 +12,7 @@
<div class="separator">&nbsp;</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.suppression.SuppressionRule.html">SuppressionRule</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">70%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:70px"><span class="text">92/130</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">66%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:66px"><span class="text">72/108</span></div></div></td></tr></table></td><td class="value"><span class="hidden">3.0357142857142856;</span>3.036</td></tr>
<tr><td><a href="org.owasp.dependencycheck.suppression.SuppressionRule.html">SuppressionRule</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">71%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:71px"><span class="text">94/132</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">66%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:66px"><span class="text">75/112</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.966666666666667;</span>2.967</td></tr>
</table>
<div class="separator">&nbsp;</div>
@@ -77,7 +77,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long &lt;jeremy.long@owasp.org&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> SuppressionRule {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;31</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> SuppressionRule {</pre></td></tr>
<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
@@ -174,7 +174,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A list of CPEs to suppression</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;PropertyType&gt; cpe = <span class="keyword">new</span> ArrayList&lt;PropertyType&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;PropertyType&gt; cpe = <span class="keyword">new</span> ArrayList&lt;PropertyType&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
@@ -225,8 +225,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;105</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> addCpe(PropertyType cpe) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsCovered">&nbsp;140</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cpe.add(cpe);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;107</td> <td class="nbHitsCovered">&nbsp;140</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsCovered">&nbsp;50</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cpe.add(cpe);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;107</td> <td class="nbHitsCovered">&nbsp;50</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;108</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;109</td> <td class="nbHits">&nbsp;</td>
@@ -241,7 +241,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;114</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> hasCpe() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered"><a title="Line 115: Conditional coverage 100% (2/2).">&nbsp;44</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 115: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cpe.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsCovered"><a title="Line 115: Conditional coverage 100% (2/2).">&nbsp;15</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 115: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cpe.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;116</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
@@ -250,7 +250,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The list of cvssBelow scores.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;119</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;Float&gt; cvssBelow = <span class="keyword">new</span> ArrayList&lt;Float&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;Float&gt; cvssBelow = <span class="keyword">new</span> ArrayList&lt;Float&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;121</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;122</td> <td class="nbHits">&nbsp;</td>
@@ -301,8 +301,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;145</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> addCvssBelow(Float cvss) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;146</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cvssBelow.add(cvss);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;146</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cvssBelow.add(cvss);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;147</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;148</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;149</td> <td class="nbHits">&nbsp;</td>
@@ -317,7 +317,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;154</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> hasCvssBelow() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;155</td> <td class="nbHitsCovered"><a title="Line 155: Conditional coverage 100% (2/2).">&nbsp;32</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 155: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cvssBelow.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;155</td> <td class="nbHitsCovered"><a title="Line 155: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 155: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cvssBelow.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;156</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;157</td> <td class="nbHits">&nbsp;</td>
@@ -326,7 +326,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The list of cwe entries to suppress.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;159</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;160</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;String&gt; cwe = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;160</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;String&gt; cwe = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;161</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;162</td> <td class="nbHits">&nbsp;</td>
@@ -377,8 +377,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;185</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> addCwe(String cwe) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;186</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cwe.add(cwe);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;187</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;186</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cwe.add(cwe);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;187</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;188</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;189</td> <td class="nbHits">&nbsp;</td>
@@ -393,7 +393,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;194</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> hasCwe() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered"><a title="Line 195: Conditional coverage 100% (2/2).">&nbsp;36</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 195: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cwe.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered"><a title="Line 195: Conditional coverage 100% (2/2).">&nbsp;13</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 195: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cwe.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;196</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;197</td> <td class="nbHits">&nbsp;</td>
@@ -402,7 +402,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The list of cve entries to suppress.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;String&gt; cve = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;String&gt; cve = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;201</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;202</td> <td class="nbHits">&nbsp;</td>
@@ -453,8 +453,8 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;225</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> addCve(String cve) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;226</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cve.add(cve);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;227</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;226</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.cve.add(cve);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;227</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;228</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;229</td> <td class="nbHits">&nbsp;</td>
@@ -469,7 +469,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;234</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> hasCve() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;235</td> <td class="nbHitsCovered"><a title="Line 235: Conditional coverage 100% (2/2).">&nbsp;44</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 235: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cve.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;235</td> <td class="nbHitsCovered"><a title="Line 235: Conditional coverage 100% (2/2).">&nbsp;15</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 235: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> cve.size() &gt; 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;236</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;237</td> <td class="nbHits">&nbsp;</td>
@@ -478,7 +478,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A Maven GAV to suppression.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;239</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;240</td> <td class="nbHitsCovered">&nbsp;176</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> PropertyType gav = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;240</td> <td class="nbHitsCovered">&nbsp;61</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> PropertyType gav = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;241</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;242</td> <td class="nbHits">&nbsp;</td>
@@ -535,272 +535,318 @@
<tr> <td class="numLine">&nbsp;268</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;269</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> base;</pre></td></tr>
<tr> <td class="numLine">&nbsp;270</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Processes a given dependency to determine if any CPE, CVE, CWE, or CVSS scores should be suppressed. If any</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;271</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * should be, they are removed from the dependency.</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;272</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Get the value of base</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;273</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency a project dependency to analyze</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;274</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the value of base</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;275</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> process(Dependency dependency) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;276</td> <td class="nbHitsUncovered"><a title="Line 276: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;72</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 276: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (filePath != <span class="keyword">null</span> &amp;&amp; !filePath.matches(dependency.getFilePath())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;277</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span>;</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;276</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">boolean</span> isBase() {</pre></td></tr>
<tr> <td class="numLine">&nbsp;277</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> base;</pre></td></tr>
<tr> <td class="numLine">&nbsp;278</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsCovered"><a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;72</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 279: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (sha1 != <span class="keyword">null</span> &amp;&amp; !sha1.equalsIgnoreCase(dependency.getSha1sum())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;280</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;279</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;280</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;281</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;282</td> <td class="nbHitsCovered"><a title="Line 282: Conditional coverage 100% (2/2).">&nbsp;68</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 282: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (gav != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;283</td> <td class="nbHitsCovered">&nbsp;36</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Identifier&gt; itr = dependency.getIdentifiers().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;284</td> <td class="nbHitsCovered">&nbsp;36</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> gavFound = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2).">&nbsp;84</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsCovered">&nbsp;52</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Identifier i = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;287</td> <td class="nbHitsCovered"><a title="Line 287: Conditional coverage 100% (2/2).">&nbsp;52</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 287: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierMatches(<span class="string">"maven"</span>, <span class="keyword">this</span>.gav, i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;288</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; gavFound = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;289</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Set the value of base</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;282</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;283</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param base new value of base</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;284</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;285</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> setBase(<span class="keyword">boolean</span> base) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;286</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.base = base;</pre></td></tr>
<tr> <td class="numLine">&nbsp;287</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;288</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;289</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;290</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;291</td> <td class="nbHitsCovered">&nbsp;48</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;292</td> <td class="nbHitsCovered"><a title="Line 292: Conditional coverage 100% (2/2).">&nbsp;36</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 292: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!gavFound) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;293</td> <td class="nbHitsCovered">&nbsp;32</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Processes a given dependency to determine if any CPE, CVE, CWE, or CVSS scores should be suppressed. If any</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;291</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * should be, they are removed from the dependency.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;292</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;293</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency a project dependency to analyze</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;294</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;295</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> process(Dependency dependency) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;296</td> <td class="nbHitsUncovered"><a title="Line 296: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;30</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 296: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (filePath != <span class="keyword">null</span> &amp;&amp; !filePath.matches(dependency.getFilePath())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;297</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;298</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;296</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;297</td> <td class="nbHitsCovered"><a title="Line 297: Conditional coverage 100% (2/2).">&nbsp;36</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 297: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.hasCpe()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;298</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Identifier&gt; itr = dependency.getIdentifiers().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;299</td> <td class="nbHitsCovered"><a title="Line 299: Conditional coverage 100% (2/2).">&nbsp;56</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 299: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsCovered">&nbsp;40</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Identifier i = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;301</td> <td class="nbHitsCovered"><a title="Line 301: Conditional coverage 100% (2/2).">&nbsp;40</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 301: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (PropertyType c : <span class="keyword">this</span>.cpe) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;302</td> <td class="nbHitsCovered"><a title="Line 302: Conditional coverage 100% (2/2).">&nbsp;84</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 302: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierMatches(<span class="string">"cpe"</span>, c, i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;303</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; dependency.addSuppressedIdentifier(i);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;304</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; itr.remove();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;305</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;306</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;307</td> <td class="nbHitsCovered">&nbsp;56</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;308</td> <td class="nbHitsCovered">&nbsp;40</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;309</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;299</td> <td class="nbHitsCovered"><a title="Line 299: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;30</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 299: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (sha1 != <span class="keyword">null</span> &amp;&amp; !sha1.equalsIgnoreCase(dependency.getSha1sum())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;301</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;310</td> <td class="nbHitsCovered"><a title="Line 310: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%].">&nbsp;36</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 310: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> <span class="keyword">if</span> (hasCve() || hasCwe() || hasCvssBelow()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;311</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Vulnerability&gt; itr = dependency.getVulnerabilities().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;312</td> <td class="nbHitsCovered"><a title="Line 312: Conditional coverage 100% (2/2).">&nbsp;40</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 312: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;313</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> remove = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;314</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Vulnerability v = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;315</td> <td class="nbHitsCovered"><a title="Line 315: Conditional coverage 100% (2/2).">&nbsp;20</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 315: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String entry : <span class="keyword">this</span>.cve) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;316</td> <td class="nbHitsCovered"><a title="Line 316: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 316: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.equalsIgnoreCase(v.getName())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;317</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;318</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;319</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;320</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;321</td> <td class="nbHitsCovered"><a title="Line 321: Conditional coverage 100% (2/2).">&nbsp;20</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 321: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2).">&nbsp;16</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String entry : <span class="keyword">this</span>.cwe) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;323</td> <td class="nbHitsUncovered"><a title="Line 323: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 323: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (v.getCwe() != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;324</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String toMatch = String.format(<span class="string">"CWE-%s "</span>, entry);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;325</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;326</td> <td class="nbHitsUncovered"><a title="Line 326: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 326: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (toTest.equals(toMatch)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;327</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;328</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;329</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;330</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;331</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;332</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;302</td> <td class="nbHitsCovered"><a title="Line 302: Conditional coverage 100% (2/2).">&nbsp;29</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 302: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (gav != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;303</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Identifier&gt; itr = dependency.getIdentifiers().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;304</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> gavFound = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;305</td> <td class="nbHitsCovered"><a title="Line 305: Conditional coverage 100% (2/2).">&nbsp;37</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 305: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;306</td> <td class="nbHitsCovered">&nbsp;21</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Identifier i = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;307</td> <td class="nbHitsCovered"><a title="Line 307: Conditional coverage 100% (2/2).">&nbsp;21</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 307: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierMatches(<span class="string">"maven"</span>, <span class="keyword">this</span>.gav, i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;308</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; gavFound = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;309</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;310</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;333</td> <td class="nbHitsCovered"><a title="Line 333: Conditional coverage 100% (2/2).">&nbsp;20</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 333: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;334</td> <td class="nbHitsCovered"><a title="Line 334: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 334: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">float</span> cvss : <span class="keyword">this</span>.cvssBelow) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;335</td> <td class="nbHitsCovered"><a title="Line 335: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 335: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (v.getCvssScore() &lt; cvss) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;336</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;337</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;338</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;339</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;340</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;341</td> <td class="nbHitsCovered"><a title="Line 341: Conditional coverage 100% (2/2).">&nbsp;20</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 341: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;342</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; dependency.addSuppressedVulnerability(v);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;343</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; itr.remove();</pre></td></tr>
<tr> <td class="numLine">&nbsp;344</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;346</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsCovered">&nbsp;36</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;348</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;349</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;350</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Identifies if the cpe specified by the cpe suppression rule does not specify a version.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param c a suppression rule identifier</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;353</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the property type does not specify a version; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;355</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> cpeHasNoVersion(PropertyType c) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</td> <td class="nbHitsCovered"><a title="Line 356: Conditional coverage 100% (2/2).">&nbsp;92</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 356: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c.isRegex()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;358</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;359</td> <td class="nbHitsCovered"><a title="Line 359: Conditional coverage 100% (2/2).">&nbsp;84</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 359: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (countCharacter(c.getValue(), <span class="string">':'</span>) == 3) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;360</td> <td class="nbHitsCovered">&nbsp;48</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;361</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;362</td> <td class="nbHitsCovered">&nbsp;36</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;363</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;364</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;365</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Counts the number of occurrences of the character found within the string.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;367</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;368</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param str the string to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;369</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param c the character to count</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;370</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the number of times the character is found in the string</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;371</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;372</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> countCharacter(String str, <span class="keyword">char</span> c) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;373</td> <td class="nbHitsCovered">&nbsp;96</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> count = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsCovered">&nbsp;96</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> pos = str.indexOf(c) + 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;375</td> <td class="nbHitsCovered"><a title="Line 375: Conditional coverage 100% (2/2).">&nbsp;408</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 375: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (pos &gt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;376</td> <td class="nbHitsCovered">&nbsp;312</td> <td class="src"><pre class="src">&nbsp; count += 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;377</td> <td class="nbHitsCovered">&nbsp;312</td> <td class="src"><pre class="src">&nbsp; pos = str.indexOf(c, pos) + 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;378</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;379</td> <td class="nbHitsCovered">&nbsp;96</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> count;</pre></td></tr>
<tr> <td class="numLine">&nbsp;380</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;381</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;383</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Determines if the cpeEntry specified as a PropertyType matches the given Identifier.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;385</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param identifierType the type of identifier ("cpe", "maven", etc.)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;386</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param suppressionEntry a suppression rule entry</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;387</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param identifier a CPE identifier to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the entry matches; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;389</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;390</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> identifierMatches(String identifierType, PropertyType suppressionEntry, Identifier identifier) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</td> <td class="nbHitsCovered"><a title="Line 391: Conditional coverage 100% (2/2).">&nbsp;172</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 391: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierType.equals(identifier.getType())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;392</td> <td class="nbHitsCovered"><a title="Line 392: Conditional coverage 100% (2/2).">&nbsp;112</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 392: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (suppressionEntry.matches(identifier.getValue())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;393</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;394</td> <td class="nbHitsCovered"><a title="Line 394: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;84</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 394: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(identifierType) &amp;&amp; cpeHasNoVersion(suppressionEntry)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;395</td> <td class="nbHitsUncovered"><a title="Line 395: Conditional coverage 50% (1/2).">&nbsp;44</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 395: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (suppressionEntry.isCaseSensitive()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;396</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> identifier.getValue().startsWith(suppressionEntry.getValue());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;397</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;398</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String id = identifier.getValue().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;399</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String check = suppressionEntry.getValue().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;400</td> <td class="nbHitsCovered">&nbsp;44</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> id.startsWith(check);</pre></td></tr>
<tr> <td class="numLine">&nbsp;401</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;402</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;311</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;312</td> <td class="nbHitsCovered"><a title="Line 312: Conditional coverage 100% (2/2).">&nbsp;17</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 312: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!gavFound) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;313</td> <td class="nbHitsCovered">&nbsp;16</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;314</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;403</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;315</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;404</td> <td class="nbHitsCovered">&nbsp;100</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;405</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;406</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;316</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;407</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;317</td> <td class="nbHitsCovered"><a title="Line 317: Conditional coverage 100% (2/2).">&nbsp;13</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 317: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.hasCpe()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;318</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Identifier&gt; itr = dependency.getIdentifiers().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;319</td> <td class="nbHitsCovered"><a title="Line 319: Conditional coverage 100% (2/2).">&nbsp;22</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 319: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;320</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Identifier i = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;321</td> <td class="nbHitsCovered"><a title="Line 321: Conditional coverage 100% (2/2).">&nbsp;14</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 321: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (PropertyType c : <span class="keyword">this</span>.cpe) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2).">&nbsp;22</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierMatches(<span class="string">"cpe"</span>, c, i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;323</td> <td class="nbHitsCovered"><a title="Line 323: Conditional coverage 100% (2/2).">&nbsp;7</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 323: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!isBase()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;324</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; dependency.addSuppressedIdentifier(i);</pre></td></tr>
<tr> <td class="numLine">&nbsp;325</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;326</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; itr.remove();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;327</td> <td class="nbHitsCovered">&nbsp;7</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;328</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;329</td> <td class="nbHitsCovered">&nbsp;15</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;330</td> <td class="nbHitsCovered">&nbsp;14</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;331</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;332</td> <td class="nbHitsCovered"><a title="Line 332: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%].">&nbsp;13</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 332: Conditional coverage 100% (6/6) [each condition: 100%, 100%, 100%]."> <span class="keyword">if</span> (hasCve() || hasCwe() || hasCvssBelow()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;333</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Iterator&lt;Vulnerability&gt; itr = dependency.getVulnerabilities().iterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;334</td> <td class="nbHitsCovered"><a title="Line 334: Conditional coverage 100% (2/2).">&nbsp;10</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 334: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (itr.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;335</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> remove = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;336</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Vulnerability v = itr.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;337</td> <td class="nbHitsCovered"><a title="Line 337: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 337: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String entry : <span class="keyword">this</span>.cve) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;338</td> <td class="nbHitsCovered"><a title="Line 338: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 338: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.equalsIgnoreCase(v.getName())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;339</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;340</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;341</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;342</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;343</td> <td class="nbHitsCovered"><a title="Line 343: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 343: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;344</td> <td class="nbHitsCovered"><a title="Line 344: Conditional coverage 100% (2/2).">&nbsp;4</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 344: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String entry : <span class="keyword">this</span>.cwe) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsUncovered"><a title="Line 345: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 345: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (v.getCwe() != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String toMatch = String.format(<span class="string">"CWE-%s "</span>, entry);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String toTest = v.getCwe().substring(0, toMatch.length()).toUpperCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;348</td> <td class="nbHitsUncovered"><a title="Line 348: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 348: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (toTest.equals(toMatch)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;349</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;350</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;353</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;355</td> <td class="nbHitsCovered"><a title="Line 355: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 355: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</td> <td class="nbHitsCovered"><a title="Line 356: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 356: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">float</span> cvss : <span class="keyword">this</span>.cvssBelow) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsCovered"><a title="Line 357: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 357: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (v.getCvssScore() &lt; cvss) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; remove = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;359</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;360</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;361</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;362</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;363</td> <td class="nbHitsCovered"><a title="Line 363: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 363: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (remove) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;364</td> <td class="nbHitsUncovered"><a title="Line 364: Conditional coverage 50% (1/2).">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 364: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!isBase()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;365</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; dependency.addSuppressedVulnerability(v);</pre></td></tr>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;367</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; itr.remove();</pre></td></tr>
<tr> <td class="numLine">&nbsp;368</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;369</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;370</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;371</td> <td class="nbHitsCovered">&nbsp;13</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;372</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;373</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;408</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Standard toString implementation.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;409</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;374</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Identifies if the cpe specified by the cpe suppression rule does not specify a version.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;375</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;410</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a string representation of this object</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;411</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;376</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param c a suppression rule identifier</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;377</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the property type does not specify a version; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;378</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;379</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> cpeHasNoVersion(PropertyType c) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;380</td> <td class="nbHitsCovered"><a title="Line 380: Conditional coverage 100% (2/2).">&nbsp;26</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 380: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c.isRegex()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;381</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;383</td> <td class="nbHitsCovered"><a title="Line 383: Conditional coverage 100% (2/2).">&nbsp;24</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 383: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (countCharacter(c.getValue(), <span class="string">':'</span>) == 3) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;384</td> <td class="nbHitsCovered">&nbsp;18</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;385</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;386</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;387</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;389</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;390</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Counts the number of occurrences of the character found within the string.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;391</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;392</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param str the string to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;393</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param c the character to count</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;394</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the number of times the character is found in the string</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;395</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;396</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> countCharacter(String str, <span class="keyword">char</span> c) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;397</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> count = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;398</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> pos = str.indexOf(c) + 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;399</td> <td class="nbHitsCovered"><a title="Line 399: Conditional coverage 100% (2/2).">&nbsp;111</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 399: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (pos &gt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;400</td> <td class="nbHitsCovered">&nbsp;84</td> <td class="src"><pre class="src">&nbsp; count += 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;401</td> <td class="nbHitsCovered">&nbsp;84</td> <td class="src"><pre class="src">&nbsp; pos = str.indexOf(c, pos) + 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;402</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;403</td> <td class="nbHitsCovered">&nbsp;27</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> count;</pre></td></tr>
<tr> <td class="numLine">&nbsp;404</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;405</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;406</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;407</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Determines if the cpeEntry specified as a PropertyType matches the given Identifier.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;408</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;409</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param identifierType the type of identifier ("cpe", "maven", etc.)</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;410</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param suppressionEntry a suppression rule entry</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;411</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param identifier a CPE identifier to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;412</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the entry matches; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;413</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String toString() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;414</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;415</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"SuppressionRule{"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;416</td> <td class="nbHitsUncovered"><a title="Line 416: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 416: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (filePath != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;417</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"filePath="</span>).append(filePath).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;418</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;419</td> <td class="nbHitsUncovered"><a title="Line 419: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 419: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (sha1 != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;420</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"sha1="</span>).append(sha1).append(<span class="string">","</span>);</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;414</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> identifierMatches(String identifierType, PropertyType suppressionEntry, Identifier identifier) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;415</td> <td class="nbHitsCovered"><a title="Line 415: Conditional coverage 100% (2/2).">&nbsp;52</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 415: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierType.equals(identifier.getType())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;416</td> <td class="nbHitsCovered"><a title="Line 416: Conditional coverage 100% (2/2).">&nbsp;29</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 416: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (suppressionEntry.matches(identifier.getValue())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;417</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;418</td> <td class="nbHitsCovered"><a title="Line 418: Conditional coverage 100% (4/4) [each condition: 100%, 100%].">&nbsp;24</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 418: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(identifierType) &amp;&amp; cpeHasNoVersion(suppressionEntry)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;419</td> <td class="nbHitsUncovered"><a title="Line 419: Conditional coverage 50% (1/2).">&nbsp;17</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 419: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (suppressionEntry.isCaseSensitive()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;420</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> identifier.getValue().startsWith(suppressionEntry.getValue());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;421</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;422</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String id = identifier.getValue().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;423</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String check = suppressionEntry.getValue().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;424</td> <td class="nbHitsCovered">&nbsp;17</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> id.startsWith(check);</pre></td></tr>
<tr> <td class="numLine">&nbsp;425</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;426</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;427</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;422</td> <td class="nbHitsUncovered"><a title="Line 422: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 422: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (gav != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;423</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"gav="</span>).append(gav).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;424</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;425</td> <td class="nbHitsUncovered"><a title="Line 425: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 425: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span> &amp;&amp; cpe.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;426</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cpe={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;427</td> <td class="nbHitsUncovered"><a title="Line 427: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 427: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (PropertyType pt : cpe) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;428</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(pt).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;429</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;430</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;428</td> <td class="nbHitsCovered">&nbsp;30</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;429</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;430</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;431</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;432</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Standard toString implementation.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;433</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;434</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a string representation of this object</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;435</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;436</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;437</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String toString() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;438</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;439</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"SuppressionRule{"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;440</td> <td class="nbHitsUncovered"><a title="Line 440: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 440: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (filePath != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;441</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"filePath="</span>).append(filePath).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;442</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;432</td> <td class="nbHitsUncovered"><a title="Line 432: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 432: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cwe != <span class="keyword">null</span> &amp;&amp; cwe.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;433</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cwe={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;434</td> <td class="nbHitsUncovered"><a title="Line 434: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 434: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String s : cwe) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;435</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;436</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;437</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;438</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;439</td> <td class="nbHitsUncovered"><a title="Line 439: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 439: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cve != <span class="keyword">null</span> &amp;&amp; cve.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;440</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cve={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;441</td> <td class="nbHitsUncovered"><a title="Line 441: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 441: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String s : cve) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;442</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;443</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;444</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;443</td> <td class="nbHitsUncovered"><a title="Line 443: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 443: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (sha1 != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;444</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"sha1="</span>).append(sha1).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;445</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;446</td> <td class="nbHitsUncovered"><a title="Line 446: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 446: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cvssBelow != <span class="keyword">null</span> &amp;&amp; cvssBelow.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;447</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cvssBelow={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;448</td> <td class="nbHitsUncovered"><a title="Line 448: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 448: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Float s : cvssBelow) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;449</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;450</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;451</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;452</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;446</td> <td class="nbHitsUncovered"><a title="Line 446: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 446: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (gav != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;447</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"gav="</span>).append(gav).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;448</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;453</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;454</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> sb.toString();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;449</td> <td class="nbHitsUncovered"><a title="Line 449: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 449: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span> &amp;&amp; cpe.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;450</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cpe={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;451</td> <td class="nbHitsUncovered"><a title="Line 451: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 451: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (PropertyType pt : cpe) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;452</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(pt).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;453</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;454</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;455</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;456</td> <td class="nbHitsUncovered"><a title="Line 456: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 456: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cwe != <span class="keyword">null</span> &amp;&amp; cwe.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;457</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cwe={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;458</td> <td class="nbHitsUncovered"><a title="Line 458: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 458: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String s : cwe) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;459</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;460</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;461</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;462</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;463</td> <td class="nbHitsUncovered"><a title="Line 463: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 463: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cve != <span class="keyword">null</span> &amp;&amp; cve.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;464</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cve={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;465</td> <td class="nbHitsUncovered"><a title="Line 465: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 465: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (String s : cve) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;466</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;467</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;468</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;469</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;470</td> <td class="nbHitsUncovered"><a title="Line 470: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 470: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (cvssBelow != <span class="keyword">null</span> &amp;&amp; cvssBelow.size() &gt; 0) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;471</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"cvssBelow={"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;472</td> <td class="nbHitsUncovered"><a title="Line 472: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 472: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Float s : cvssBelow) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;473</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(s).append(<span class="string">","</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;474</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;475</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;476</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;477</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; sb.append(<span class="string">"}"</span>);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;478</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> sb.toString();</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;479</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;456</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;480</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 8/5/14 6:07 PM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 9/16/14 5:40 AM.</div>
</body>
</html>