mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-27 19:41:38 +01:00
version 1.2.4 of site documentation
This commit is contained in:
@@ -145,7 +145,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * The Logger.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 63</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 64</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 64</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 65</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 66</td> <td class="nbHits"> </td>
|
||||
@@ -228,7 +228,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 105</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> String getName() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"CPE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"CPE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 107</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 108</td> <td class="nbHits"> </td>
|
||||
@@ -247,7 +247,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 115</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> AnalysisPhase getAnalysisPhase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.IDENTIFIER_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.IDENTIFIER_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 118</td> <td class="nbHits"> </td>
|
||||
@@ -266,8 +266,8 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> initialize() <span class="keyword">throws</span> Exception {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 127</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 127</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
|
||||
@@ -286,19 +286,19 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> open() <span class="keyword">throws</span> IOException, DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 137</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> LOGGER.log(Level.FINE, <span class="string">"Opening the CVE Database"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 138</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cve = <span class="keyword">new</span> CveDB();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cve.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> LOGGER.log(Level.FINE, <span class="string">"Creating the Lucene CPE Index"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cpe = CpeMemoryIndex.getInstance();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 137</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> LOGGER.log(Level.FINE, <span class="string">"Opening the CVE Database"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 138</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cve = <span class="keyword">new</span> CveDB();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cve.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> LOGGER.log(Level.FINE, <span class="string">"Creating the Lucene CPE Index"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cpe = CpeMemoryIndex.getInstance();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cpe.open(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cpe.open(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 144</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IndexException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 145</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LOGGER.log(Level.FINE, <span class="string">"IndexException"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 146</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> DatabaseException(ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 148</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 148</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 149</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
|
||||
@@ -311,15 +311,15 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> close() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 155</td> <td class="nbHitsUncovered"><a title="Line 155: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 155: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cpe.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 155</td> <td class="nbHitsUncovered"><a title="Line 155: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 155: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cpe.close();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 158</td> <td class="nbHitsUncovered"><a title="Line 158: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 158: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cve != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cve.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 158</td> <td class="nbHitsUncovered"><a title="Line 158: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 158: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cve != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cve.close();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 161</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 161</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
|
||||
@@ -342,56 +342,56 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> determineCPE(Dependency dependency) <span class="keyword">throws</span> CorruptIndexException, IOException, ParseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 173</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> Confidence confidence = Confidence.HIGHEST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 173</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> Confidence confidence = Confidence.HIGHEST;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> String vendors = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> String products = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> String vendors = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> String products = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/* bug fix for #40 - version evidence is not showing up as "used" in the reports if there is no</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * CPE identified. As such, we are "using" the evidence and ignoring the results. */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ctr = 0;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ctr = 0;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">do</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsUncovered"><a title="Line 183: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 183: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (!vendors.isEmpty() && !products.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsUncovered"><a title="Line 183: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 183: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (!vendors.isEmpty() && !products.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getVendorEvidence().getWeighting());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"><a title="Line 187: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 187: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IndexEntry e : entries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 188</td> <td class="nbHitsCovered"><a title="Line 188: Conditional coverage 100% (2/2)."> 54</a></td> <td class="src"><pre class="src"> <a title="Line 188: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String vendor = e.getVendor();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String product = e.getProduct();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 191</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> determineIdentifiers(dependency, vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"><a title="Line 187: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 187: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IndexEntry e : entries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 188</td> <td class="nbHitsCovered"><a title="Line 188: Conditional coverage 100% (2/2)."> 216</a></td> <td class="src"><pre class="src"> <a title="Line 188: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String vendor = e.getVendor();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String product = e.getProduct();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 191</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> determineIdentifiers(dependency, vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> confidence = reduceConfidence(confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsUncovered"><a title="Line 196: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 196: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (dependency.getVendorEvidence().contains(confidence)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> confidence = reduceConfidence(confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsUncovered"><a title="Line 196: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 196: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (dependency.getVendorEvidence().contains(confidence)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"><a title="Line 199: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 199: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getProductEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"><a title="Line 199: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 199: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getProductEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/* bug fix for #40 - version evidence is not showing up as "used" in the reports if there is no</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * CPE identified. As such, we are "using" the evidence and ignoring the results. */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"><a title="Line 204: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 204: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVersionEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 205</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"><a title="Line 204: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 204: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVersionEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 205</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"><a title="Line 207: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 207: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> ((++ctr) < 4);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"><a title="Line 207: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 207: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> ((++ctr) < 4);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
|
||||
@@ -416,31 +416,31 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> String addEvidenceWithoutDuplicateTerms(<span class="keyword">final</span> String text, <span class="keyword">final</span> EvidenceCollection ec, Confidence confidenceFilter) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 221</td> <td class="nbHitsUncovered"><a title="Line 221: Conditional coverage 50% (1/2)."> 27</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 221: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> String txt = (text == <span class="keyword">null</span>) ? <span class="string">""</span> : text;</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 27</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(txt.length() + (20 * ec.size()));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 223</td> <td class="nbHitsCovered"> 27</td> <td class="src"><pre class="src"> sb.append(<span class="string">' '</span>).append(txt).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2)."> 27</a></td> <td class="src"><pre class="src"> <a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence e : ec.iterator(confidenceFilter)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 76</td> <td class="src"><pre class="src"> String value = e.getValue();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 221</td> <td class="nbHitsUncovered"><a title="Line 221: Conditional coverage 50% (1/2)."> 108</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 221: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> String txt = (text == <span class="keyword">null</span>) ? <span class="string">""</span> : text;</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(txt.length() + (20 * ec.size()));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 223</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> sb.append(<span class="string">' '</span>).append(txt).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2)."> 108</a></td> <td class="src"><pre class="src"> <a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence e : ec.iterator(confidenceFilter)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 304</td> <td class="src"><pre class="src"> String value = e.getValue();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//hack to get around the fact that lucene does a really good job of recognizing domains and not</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// splitting them. TODO - put together a better lucene analyzer specific to the domain.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"><a title="Line 229: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 229: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"http://"</span>)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> value = value.substring(7).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"><a title="Line 229: Conditional coverage 100% (2/2)."> 304</a></td> <td class="src"><pre class="src"> <a title="Line 229: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"http://"</span>)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> value = value.substring(7).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsUncovered"><a title="Line 232: Conditional coverage 50% (1/2)."> 76</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 232: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"https://"</span>)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsUncovered"><a title="Line 232: Conditional coverage 50% (1/2)."> 304</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 232: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"https://"</span>)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> value = value.substring(8).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"><a title="Line 235: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 235: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"><a title="Line 235: Conditional coverage 100% (2/2)."> 304</a></td> <td class="src"><pre class="src"> <a title="Line 235: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 192</td> <td class="src"><pre class="src"> sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 76</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 27</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString().trim();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 304</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString().trim();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
|
||||
@@ -459,13 +459,13 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> Confidence reduceConfidence(<span class="keyword">final</span> Confidence c) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"><a title="Line 249: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 249: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == Confidence.HIGHEST) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.HIGH;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"><a title="Line 251: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 251: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (c == Confidence.HIGH) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.MEDIUM;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"><a title="Line 249: Conditional coverage 100% (2/2)."> 32</a></td> <td class="src"><pre class="src"> <a title="Line 249: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == Confidence.HIGHEST) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.HIGH;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"><a title="Line 251: Conditional coverage 100% (2/2)."> 24</a></td> <td class="src"><pre class="src"> <a title="Line 251: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (c == Confidence.HIGH) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.MEDIUM;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
|
||||
@@ -514,23 +514,23 @@
|
||||
<td class="src"><pre class="src"> Set<String> vendorWeightings, Set<String> productWeightings)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 278</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">throws</span> CorruptIndexException, IOException, ParseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ArrayList<IndexEntry> ret = <span class="keyword">new</span> ArrayList<IndexEntry>(MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ArrayList<IndexEntry> ret = <span class="keyword">new</span> ArrayList<IndexEntry>(MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 280</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 282</td> <td class="nbHitsUncovered"><a title="Line 282: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 282: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (searchString == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 282</td> <td class="nbHitsUncovered"><a title="Line 282: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 282: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (searchString == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 283</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> ret;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 284</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"><a title="Line 287: Conditional coverage 100% (2/2)."> 208</a></td> <td class="src"><pre class="src"> <a title="Line 287: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ScoreDoc d : docs.scoreDocs) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"><a title="Line 288: Conditional coverage 100% (2/2)."> 200</a></td> <td class="src"><pre class="src"> <a title="Line 288: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (d.score >= 0.08) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"><a title="Line 287: Conditional coverage 100% (2/2)."> 832</a></td> <td class="src"><pre class="src"> <a title="Line 287: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ScoreDoc d : docs.scoreDocs) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"><a title="Line 288: Conditional coverage 100% (2/2)."> 800</a></td> <td class="src"><pre class="src"> <a title="Line 288: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (d.score >= 0.08) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// if (d.score < 0.08) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
|
||||
@@ -545,16 +545,16 @@
|
||||
<td class="src"><pre class="src"> <span class="comment">// System.out.println(d.score);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// }</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> entry.setSearchScore(d.score);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 301</td> <td class="nbHitsUncovered"><a title="Line 301: Conditional coverage 50% (1/2)."> 54</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 301: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> ret.add(entry);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> entry.setSearchScore(d.score);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 301</td> <td class="nbHitsUncovered"><a title="Line 301: Conditional coverage 50% (1/2)."> 216</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 301: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> ret.add(entry);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 303</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 304</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ret;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ret;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 307</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
|
||||
@@ -591,23 +591,23 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String buildSearch(String vendor, String product,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Set<String> vendorWeighting, Set<String> productWeightings) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String v = vendor; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String p = product; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(v.length() + p.length()</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String v = vendor; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String p = product; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(v.length() + p.length()</pre></td></tr>
|
||||
<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> + Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 329</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 331</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 332</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> sb.append(<span class="string">" AND "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsUncovered"><a title="Line 334: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 334: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> sb.append(<span class="string">" AND "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 334</td> <td class="nbHitsUncovered"><a title="Line 334: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 334: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 339</td> <td class="nbHits"> </td>
|
||||
@@ -636,47 +636,47 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 351</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(field).append(<span class="string">":( "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(field).append(<span class="string">":( "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 353</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cleanText = cleanseText(searchText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cleanText = cleanseText(searchText);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 355</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 356</td> <td class="nbHitsUncovered"><a title="Line 356: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 356: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">""</span>.equals(cleanText)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 356</td> <td class="nbHitsUncovered"><a title="Line 356: Conditional coverage 50% (1/2)."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 356: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">""</span>.equals(cleanText)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 357</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 358</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsUncovered"><a title="Line 360: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 360: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (weightedText == <span class="keyword">null</span> || weightedText.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 360</td> <td class="nbHitsUncovered"><a title="Line 360: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 360: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (weightedText == <span class="keyword">null</span> || weightedText.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 361</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 362</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 363</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"><a title="Line 364: Conditional coverage 100% (2/2)."> 240</a></td> <td class="src"><pre class="src"> <a title="Line 364: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 224</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 224</td> <td class="src"><pre class="src"> String temp = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"><a title="Line 367: Conditional coverage 100% (2/2)."> 224</a></td> <td class="src"><pre class="src"> <a title="Line 367: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 408</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"><a title="Line 369: Conditional coverage 100% (2/2)."> 408</a></td> <td class="src"><pre class="src"> <a title="Line 369: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 371</td> <td class="nbHitsUncovered"><a title="Line 371: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 371: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!word.equalsIgnoreCase(weightedStr)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 363</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsCovered"><a title="Line 364: Conditional coverage 100% (2/2)."> 960</a></td> <td class="src"><pre class="src"> <a title="Line 364: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsCovered"> 896</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 896</td> <td class="src"><pre class="src"> String temp = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"><a title="Line 367: Conditional coverage 100% (2/2)."> 896</a></td> <td class="src"><pre class="src"> <a title="Line 367: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 1632</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"><a title="Line 369: Conditional coverage 100% (2/2)."> 1632</a></td> <td class="src"><pre class="src"> <a title="Line 369: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 120</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 371</td> <td class="nbHitsUncovered"><a title="Line 371: Conditional coverage 50% (1/2)."> 120</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 371: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!word.equalsIgnoreCase(weightedStr)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 372</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> temp += <span class="string">" "</span> + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 374</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 375</td> <td class="nbHitsCovered"> 408</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"><a title="Line 376: Conditional coverage 100% (2/2)."> 224</a></td> <td class="src"><pre class="src"> <a title="Line 376: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 377</td> <td class="nbHitsCovered"> 194</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 375</td> <td class="nbHitsCovered"> 1632</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"><a title="Line 376: Conditional coverage 100% (2/2)."> 896</a></td> <td class="src"><pre class="src"> <a title="Line 376: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 377</td> <td class="nbHitsCovered"> 776</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 378</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"> 224</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 224</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"> 896</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 896</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 381</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> sb.append(<span class="string">" ) "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 383</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> sb.append(<span class="string">" ) "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 383</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 384</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
|
||||
@@ -695,7 +695,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> String cleanseText(String text) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"> 424</td> <td class="src"><pre class="src"> <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"> 1696</td> <td class="src"><pre class="src"> <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 394</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 395</td> <td class="nbHits"> </td>
|
||||
@@ -716,15 +716,15 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 403</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> equalsIgnoreCaseAndNonAlpha(String l, String r) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 404</td> <td class="nbHitsUncovered"><a title="Line 404: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 408</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 404: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (l == <span class="keyword">null</span> || r == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 404</td> <td class="nbHitsUncovered"><a title="Line 404: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 1632</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 404: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (l == <span class="keyword">null</span> || r == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 405</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 406</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 407</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 408</td> <td class="nbHitsCovered"> 408</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 409</td> <td class="nbHitsCovered"> 408</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 410</td> <td class="nbHitsCovered"> 408</td> <td class="src"><pre class="src"> <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 408</td> <td class="nbHitsCovered"> 1632</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 409</td> <td class="nbHitsCovered"> 1632</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 410</td> <td class="nbHitsCovered"> 1632</td> <td class="src"><pre class="src"> <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 411</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 412</td> <td class="nbHits"> </td>
|
||||
@@ -747,18 +747,18 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 421</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> verifyEntry(<span class="keyword">final</span> IndexEntry entry, <span class="keyword">final</span> Dependency dependency) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 423</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"><a title="Line 424: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 54</a></td> <td class="src"><pre class="src"> <a title="Line 424: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"><a title="Line 424: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 216</a></td> <td class="src"><pre class="src"> <a title="Line 424: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 425</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 426</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//&& collectionContainsVersion(dependency.getVersionEvidence(), entry.getVersion())</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> isValid = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> isValid = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 428</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isValid;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isValid;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 430</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 431</td> <td class="nbHits"> </td>
|
||||
@@ -803,14 +803,14 @@
|
||||
<td class="src"><pre class="src"> <span class="comment">//</editor-fold></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 451</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO - likely need to change the split... not sure if this will work for CPE with special chars</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 452</td> <td class="nbHitsUncovered"><a title="Line 452: Conditional coverage 50% (1/2)."> 59</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 452: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 452</td> <td class="nbHitsUncovered"><a title="Line 452: Conditional coverage 50% (1/2)."> 236</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 452: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 453</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 454</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 455</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 456</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<String> list = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 457</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> String tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (2/2)."> 174</a></td> <td class="src"><pre class="src"> <a title="Line 458: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 455</td> <td class="nbHitsCovered"> 236</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 456</td> <td class="nbHitsCovered"> 236</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<String> list = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 457</td> <td class="nbHitsCovered"> 236</td> <td class="src"><pre class="src"> String tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (2/2)."> 696</a></td> <td class="src"><pre class="src"> <a title="Line 458: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 459</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 460</td> <td class="nbHits"> </td>
|
||||
@@ -819,28 +819,28 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> so { "m", "core", "sample" } -> { "mcore", "sample" }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 462</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 463</td> <td class="nbHitsCovered"><a title="Line 463: Conditional coverage 100% (2/2)."> 115</a></td> <td class="src"><pre class="src"> <a title="Line 463: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 464</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> list.add(tempWord + word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 465</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 466</td> <td class="nbHitsCovered"><a title="Line 466: Conditional coverage 100% (2/2)."> 111</a></td> <td class="src"><pre class="src"> <a title="Line 466: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() <= 2) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 467</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> tempWord = word;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 463</td> <td class="nbHitsCovered"><a title="Line 463: Conditional coverage 100% (2/2)."> 460</a></td> <td class="src"><pre class="src"> <a title="Line 463: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 464</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> list.add(tempWord + word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 465</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 466</td> <td class="nbHitsCovered"><a title="Line 466: Conditional coverage 100% (2/2)."> 444</a></td> <td class="src"><pre class="src"> <a title="Line 466: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() <= 2) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 467</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> tempWord = word;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 468</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 107</td> <td class="src"><pre class="src"> list.add(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 428</td> <td class="src"><pre class="src"> list.add(word);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 470</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 471</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 472</td> <td class="nbHitsUncovered"><a title="Line 472: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 59</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 472: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> && !list.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 472</td> <td class="nbHitsUncovered"><a title="Line 472: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 236</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 472: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> && !list.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 473</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> String tmp = list.get(list.size() - 1) + tempWord;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 474</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> list.add(tmp);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 475</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"><a title="Line 477: Conditional coverage 100% (2/2)."> 59</a></td> <td class="src"><pre class="src"> <a title="Line 477: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 478</td> <td class="nbHitsCovered"> 111</td> <td class="src"><pre class="src"> contains &= ec.containsUsedString(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"> 111</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 59</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contains;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 236</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"><a title="Line 477: Conditional coverage 100% (2/2)."> 236</a></td> <td class="src"><pre class="src"> <a title="Line 477: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 478</td> <td class="nbHitsCovered"> 444</td> <td class="src"><pre class="src"> contains &= ec.containsUsedString(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"> 444</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 236</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contains;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 481</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 482</td> <td class="nbHits"> </td>
|
||||
@@ -865,15 +865,15 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> analyze(Dependency dependency, Engine engine) <span class="keyword">throws</span> AnalysisException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 492</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 493</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> determineCPE(dependency);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 493</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> determineCPE(dependency);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 494</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (CorruptIndexException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 495</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"CPE Index is corrupt."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 496</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 497</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"Failure opening the CPE Index."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 498</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (ParseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 499</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"Unable to parse the generated Lucene query for this dependency."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 501</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 501</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 502</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 503</td> <td class="nbHits"> </td>
|
||||
@@ -898,45 +898,45 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 513</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> determineIdentifiers(Dependency dependency, String vendor, String product) <span class="keyword">throws</span> UnsupportedEncodingException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 514</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> DependencyVersion bestGuess = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> Confidence bestGuessConf = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 517</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IdentifierMatch> collected = <span class="keyword">new</span> ArrayList<IdentifierMatch>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 518</td> <td class="nbHitsCovered"><a title="Line 518: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 518: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Confidence conf : Confidence.values()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 519</td> <td class="nbHitsCovered"><a title="Line 519: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 519: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 520</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 521</td> <td class="nbHitsUncovered"><a title="Line 521: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 521: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (evVer == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 514</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> DependencyVersion bestGuess = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> Confidence bestGuessConf = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 517</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IdentifierMatch> collected = <span class="keyword">new</span> ArrayList<IdentifierMatch>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 518</td> <td class="nbHitsCovered"><a title="Line 518: Conditional coverage 100% (2/2)."> 80</a></td> <td class="src"><pre class="src"> <a title="Line 518: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Confidence conf : Confidence.values()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 519</td> <td class="nbHitsCovered"><a title="Line 519: Conditional coverage 100% (2/2)."> 64</a></td> <td class="src"><pre class="src"> <a title="Line 519: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 520</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 521</td> <td class="nbHitsUncovered"><a title="Line 521: Conditional coverage 50% (1/2)."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 521: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (evVer == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 522</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">continue</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 523</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 524</td> <td class="nbHitsCovered"><a title="Line 524: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 524: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (VulnerableSoftware vs : cpes) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 524</td> <td class="nbHitsCovered"><a title="Line 524: Conditional coverage 100% (2/2)."> 64</a></td> <td class="src"><pre class="src"> <a title="Line 524: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (VulnerableSoftware vs : cpes) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 525</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> DependencyVersion dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 526</td> <td class="nbHitsUncovered"><a title="Line 526: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 624</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 526: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (vs.getRevision() != <span class="keyword">null</span> && !vs.getRevision().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 527</td> <td class="nbHitsCovered"> 256</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + <span class="string">"."</span> + vs.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 526</td> <td class="nbHitsUncovered"><a title="Line 526: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 2496</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 526: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (vs.getRevision() != <span class="keyword">null</span> && !vs.getRevision().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 527</td> <td class="nbHitsCovered"> 1024</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + <span class="string">"."</span> + vs.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 528</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 529</td> <td class="nbHitsCovered"> 368</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 529</td> <td class="nbHitsCovered"> 1472</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 530</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 531</td> <td class="nbHitsUncovered"><a title="Line 531: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 624</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 531: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (dbVer == <span class="keyword">null</span> <span class="comment">//special case, no version specified - everything is vulnerable</span></a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 531</td> <td class="nbHitsUncovered"><a title="Line 531: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 2496</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 531: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (dbVer == <span class="keyword">null</span> <span class="comment">//special case, no version specified - everything is vulnerable</span></a></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 532</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> || evVer.equals(dbVer)) { <span class="comment">//yeah! exact match</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 533</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 534</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), <span class="string">"UTF-8"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 534</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), <span class="string">"UTF-8"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 538</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO the following isn't quite right is it? need to think about this guessing game a bit more.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 539</td> <td class="nbHitsCovered"><a title="Line 539: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 608</a></td> <td class="src"><pre class="src"> <a title="Line 539: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 539</td> <td class="nbHitsCovered"><a title="Line 539: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 2432</a></td> <td class="src"><pre class="src"> <a title="Line 539: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 540</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && evVer.matchesAtLeastThreeLevels(dbVer)) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 541</td> <td class="nbHitsUncovered"><a title="Line 541: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 128</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 541: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 542</td> <td class="nbHitsUncovered"><a title="Line 542: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 542: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> bestGuess = dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 544</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 541</td> <td class="nbHitsUncovered"><a title="Line 541: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 512</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 541: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 542</td> <td class="nbHitsUncovered"><a title="Line 542: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 542: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> bestGuess = dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 544</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 545</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 546</td> <td class="nbHits"> </td>
|
||||
@@ -945,8 +945,8 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 548</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"> 624</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 550</td> <td class="nbHitsUncovered"><a title="Line 550: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 550: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"> 2496</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 550</td> <td class="nbHitsUncovered"><a title="Line 550: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 550: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 551</td> <td class="nbHitsUncovered"><a title="Line 551: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 551: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 552</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> bestGuess = evVer;</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 553</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> bestGuessConf = conf;</span></pre></td></tr>
|
||||
@@ -954,39 +954,39 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 555</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 556</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 556</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 557</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 558</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeName = String.format(<span class="string">"cpe:/a:%s:%s:%s"</span>, vendor, product, bestGuess.toString());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 560</td> <td class="nbHitsUncovered"><a title="Line 560: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 560: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 558</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeName = String.format(<span class="string">"cpe:/a:%s:%s:%s"</span>, vendor, product, bestGuess.toString());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 560</td> <td class="nbHitsUncovered"><a title="Line 560: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 560: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 561</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> bestGuessConf = Confidence.LOW;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 562</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 563</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 564</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 563</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 564</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 565</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> Collections.sort(collected);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 567</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 568</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"><a title="Line 569: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 569: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IdentifierMatch m : collected) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 570</td> <td class="nbHitsCovered"><a title="Line 570: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 570: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (bestIdentifierQuality.equals(m.getConfidence())</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> Collections.sort(collected);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 567</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 568</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"><a title="Line 569: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 569: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IdentifierMatch m : collected) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 570</td> <td class="nbHitsCovered"><a title="Line 570: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 80</a></td> <td class="src"><pre class="src"> <a title="Line 570: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (bestIdentifierQuality.equals(m.getConfidence())</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 571</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && bestEvidenceQuality.equals(m.getEvidenceConfidence())) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 572</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Identifier i = m.getIdentifier();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 573</td> <td class="nbHitsUncovered"><a title="Line 573: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 573: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 572</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Identifier i = m.getIdentifier();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 573</td> <td class="nbHitsUncovered"><a title="Line 573: Conditional coverage 50% (1/2)."> 16</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 573: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 574</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> i.setConfidence(Confidence.LOW);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 575</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> i.setConfidence(bestEvidenceQuality);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> i.setConfidence(bestEvidenceQuality);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 577</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> dependency.addIdentifier(i);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> dependency.addIdentifier(i);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 579</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 581</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 581</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 582</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 583</td> <td class="nbHits"> </td>
|
||||
@@ -995,7 +995,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * The confidence whether the identifier is an exact match, or a best guess.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 585</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> enum IdentifierConfidence {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">private</span> enum IdentifierConfidence {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 587</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 588</td> <td class="nbHits"> </td>
|
||||
@@ -1004,14 +1004,14 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * An exact match for the CPE.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 590</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> EXACT_MATCH,</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> EXACT_MATCH,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 592</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 593</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * A best guess for the CPE.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 594</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> BEST_GUESS</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> BEST_GUESS</pre></td></tr>
|
||||
<tr> <td class="numLine"> 596</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 597</td> <td class="nbHits"> </td>
|
||||
@@ -1022,7 +1022,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * A simple object to hold an identifier and carry information about the confidence in the identifier.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 600</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">class</span> IdentifierMatch <span class="keyword">implements</span> Comparable<IdentifierMatch> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">class</span> IdentifierMatch <span class="keyword">implements</span> Comparable<IdentifierMatch> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 602</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 603</td> <td class="nbHits"> </td>
|
||||
@@ -1043,11 +1043,11 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidenceConfidence the confidence of the evidence used to find the identifier</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 611</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 613</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.identifier = <span class="keyword">new</span> Identifier(type, value, url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 614</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.confidence = identifierConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 615</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.evidenceConfidence = evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 616</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 613</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.identifier = <span class="keyword">new</span> Identifier(type, value, url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 614</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.confidence = identifierConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 615</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.evidenceConfidence = evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 616</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 617</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//<editor-fold defaultstate="collapsed" desc="Property implementations: evidenceConfidence, confidence, identifier"></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 618</td> <td class="nbHits"> </td>
|
||||
@@ -1294,16 +1294,16 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 748</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">int</span> compareTo(IdentifierMatch o) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 749</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">int</span> conf = <span class="keyword">this</span>.confidence.compareTo(o.confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 750</td> <td class="nbHitsCovered"><a title="Line 750: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 750: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 751</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> conf = <span class="keyword">this</span>.evidenceConfidence.compareTo(o.evidenceConfidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 752</td> <td class="nbHitsCovered"><a title="Line 752: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 752: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 753</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> conf = identifier.compareTo(o.identifier);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 749</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">int</span> conf = <span class="keyword">this</span>.confidence.compareTo(o.confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 750</td> <td class="nbHitsCovered"><a title="Line 750: Conditional coverage 100% (2/2)."> 64</a></td> <td class="src"><pre class="src"> <a title="Line 750: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 751</td> <td class="nbHitsCovered"> 48</td> <td class="src"><pre class="src"> conf = <span class="keyword">this</span>.evidenceConfidence.compareTo(o.evidenceConfidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 752</td> <td class="nbHitsCovered"><a title="Line 752: Conditional coverage 100% (2/2)."> 48</a></td> <td class="src"><pre class="src"> <a title="Line 752: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 753</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> conf = identifier.compareTo(o.identifier);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 754</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 755</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 756</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conf;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 756</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conf;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 757</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 758</td> <td class="nbHits"> </td>
|
||||
@@ -1312,6 +1312,6 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 6/27/14 7:06 AM.</div>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user