documentation version 1.2.10

This commit is contained in:
Jeremy Long
2015-04-13 17:43:19 -04:00
parent 480a05c798
commit 9194a42c93
1126 changed files with 34228 additions and 29019 deletions

View File

@@ -132,7 +132,7 @@
<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long &lt;jeremy.long@owasp.org&gt;</span></pre></td></tr>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;59</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> CPEAnalyzer <span class="keyword">implements</span> Analyzer {</pre></td></tr>
@@ -366,15 +366,15 @@
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;191</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> identifierAdded = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;192</td> <td class="nbHitsCovered"><a title="Line 192: Conditional coverage 100% (2/2).">&nbsp;6</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 192: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IndexEntry e : entries) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;193</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; LOGGER.fine(String.format(<span class="string">"Verifying entry: %s"</span>, e.toString()));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsCovered"><a title="Line 194: Conditional coverage 100% (2/2).">&nbsp;43</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 194: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;193</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; LOGGER.fine(String.format(<span class="string">"Verifying entry: %s"</span>, e.toString()));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;194</td> <td class="nbHitsCovered"><a title="Line 194: Conditional coverage 100% (2/2).">&nbsp;47</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 194: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;195</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String vendor = e.getVendor();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;196</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String product = e.getProduct();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;197</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; LOGGER.fine(String.format(<span class="string">"identified vendor/product: %s/%s"</span>, vendor, product));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;198</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; identifierAdded |= determineIdentifiers(dependency, vendor, product, confidence);</pre></td></tr>
<tr> <td class="numLine">&nbsp;199</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;200</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;201</td> <td class="nbHitsCovered"><a title="Line 201: Conditional coverage 100% (2/2).">&nbsp;6</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 201: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (identifierAdded) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;202</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;203</td> <td class="nbHits">&nbsp;</td>
@@ -412,26 +412,26 @@
<tr> <td class="numLineCover">&nbsp;220</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; <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">&nbsp;221</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; sb.append(<span class="string">' '</span>).append(txt).append(<span class="string">' '</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;222</td> <td class="nbHitsCovered"><a title="Line 222: Conditional coverage 100% (2/2).">&nbsp;11</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 222: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence e : ec.iterator(confidenceFilter)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsCovered">&nbsp;40</td> <td class="src"><pre class="src">&nbsp; String value = e.getValue();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsCovered">&nbsp;42</td> <td class="src"><pre class="src">&nbsp; String value = e.getValue();</pre></td></tr>
<tr> <td class="numLine">&nbsp;224</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;225</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <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">&nbsp;226</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// splitting them. TODO - put together a better lucene analyzer specific to the domain.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;227</td> <td class="nbHitsCovered"><a title="Line 227: Conditional coverage 100% (2/2).">&nbsp;40</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 227: 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">&nbsp;227</td> <td class="nbHitsCovered"><a title="Line 227: Conditional coverage 100% (2/2).">&nbsp;42</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 227: 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">&nbsp;228</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; value = value.substring(7).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;229</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;230</td> <td class="nbHitsUncovered"><a title="Line 230: Conditional coverage 50% (1/2).">&nbsp;40</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 230: 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">&nbsp;230</td> <td class="nbHitsUncovered"><a title="Line 230: Conditional coverage 50% (1/2).">&nbsp;42</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 230: 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">&nbsp;231</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; value = value.substring(8).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;232</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;233</td> <td class="nbHitsCovered"><a title="Line 233: Conditional coverage 100% (2/2).">&nbsp;40</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 233: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) &lt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;234</td> <td class="nbHitsCovered">&nbsp;35</td> <td class="src"><pre class="src">&nbsp; sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;233</td> <td class="nbHitsCovered"><a title="Line 233: Conditional coverage 100% (2/2).">&nbsp;42</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 233: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) &lt; 0) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;234</td> <td class="nbHitsCovered">&nbsp;37</td> <td class="src"><pre class="src">&nbsp; sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;235</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;236</td> <td class="nbHitsCovered">&nbsp;40</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;236</td> <td class="nbHitsCovered">&nbsp;42</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;237</td> <td class="nbHitsCovered">&nbsp;11</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> sb.toString().trim();</pre></td></tr>
<tr> <td class="numLine">&nbsp;238</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
@@ -486,13 +486,13 @@
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;266</td> <td class="nbHitsCovered"><a title="Line 266: Conditional coverage 100% (2/2).">&nbsp;156</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 266: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ScoreDoc d : docs.scoreDocs) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;267</td> <td class="nbHitsCovered"><a title="Line 267: Conditional coverage 100% (2/2).">&nbsp;150</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 267: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (d.score &gt;= 0.08) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;269</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;271</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;272</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; entry.setSearchScore(d.score);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;273</td> <td class="nbHitsUncovered"><a title="Line 273: Conditional coverage 50% (1/2).">&nbsp;43</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 273: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;274</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; ret.add(entry);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;269</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;270</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;271</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;272</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; entry.setSearchScore(d.score);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;273</td> <td class="nbHitsUncovered"><a title="Line 273: Conditional coverage 50% (1/2).">&nbsp;47</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 273: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;274</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; ret.add(entry);</pre></td></tr>
<tr> <td class="numLine">&nbsp;275</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;276</td> <td class="nbHits">&nbsp;</td>
@@ -606,12 +606,12 @@
<tr> <td class="numLine">&nbsp;343</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;344</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(cleanText);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsCovered"><a title="Line 345: Conditional coverage 100% (2/2).">&nbsp;111</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 345: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsCovered">&nbsp;99</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsCovered">&nbsp;99</td> <td class="src"><pre class="src">&nbsp; String temp = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;348</td> <td class="nbHitsCovered"><a title="Line 348: Conditional coverage 100% (2/2).">&nbsp;99</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 348: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;349</td> <td class="nbHitsCovered">&nbsp;221</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2).">&nbsp;221</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsCovered"><a title="Line 345: Conditional coverage 100% (2/2).">&nbsp;159</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 345: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsCovered">&nbsp;147</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;347</td> <td class="nbHitsCovered">&nbsp;147</td> <td class="src"><pre class="src">&nbsp; String temp = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;348</td> <td class="nbHitsCovered"><a title="Line 348: Conditional coverage 100% (2/2).">&nbsp;147</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 348: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;349</td> <td class="nbHitsCovered">&nbsp;341</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2).">&nbsp;341</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;351</td> <td class="nbHitsCovered">&nbsp;22</td> <td class="src"><pre class="src">&nbsp; temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;352</td> <td class="nbHitsUncovered"><a title="Line 352: Conditional coverage 50% (1/2).">&nbsp;22</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 352: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!word.equalsIgnoreCase(weightedStr)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;353</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; temp += <span class="string">" "</span> + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;</span></pre></td></tr>
@@ -619,13 +619,13 @@
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;355</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</td> <td class="nbHitsCovered">&nbsp;221</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsCovered"><a title="Line 357: Conditional coverage 100% (2/2).">&nbsp;99</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 357: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</td> <td class="nbHitsCovered">&nbsp;77</td> <td class="src"><pre class="src">&nbsp; temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</td> <td class="nbHitsCovered">&nbsp;341</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsCovered"><a title="Line 357: Conditional coverage 100% (2/2).">&nbsp;147</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 357: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</td> <td class="nbHitsCovered">&nbsp;125</td> <td class="src"><pre class="src">&nbsp; temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
<tr> <td class="numLine">&nbsp;359</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;360</td> <td class="nbHitsCovered">&nbsp;99</td> <td class="src"><pre class="src">&nbsp; sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;361</td> <td class="nbHitsCovered">&nbsp;99</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;360</td> <td class="nbHitsCovered">&nbsp;147</td> <td class="src"><pre class="src">&nbsp; sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;361</td> <td class="nbHitsCovered">&nbsp;147</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;362</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;363</td> <td class="nbHitsCovered">&nbsp;12</td> <td class="src"><pre class="src">&nbsp; sb.append(<span class="string">" ) "</span>);</pre></td></tr>
@@ -648,7 +648,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;373</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> String cleanseText(String text) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsCovered">&nbsp;233</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsCovered">&nbsp;353</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;375</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;376</td> <td class="nbHits">&nbsp;</td>
@@ -669,15 +669,15 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> equalsIgnoreCaseAndNonAlpha(String l, String r) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;385</td> <td class="nbHitsUncovered"><a title="Line 385: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;221</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 385: 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">&nbsp;385</td> <td class="nbHitsUncovered"><a title="Line 385: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;341</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 385: 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">&nbsp;386</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;387</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;389</td> <td class="nbHitsCovered">&nbsp;221</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;390</td> <td class="nbHitsCovered">&nbsp;221</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</td> <td class="nbHitsCovered">&nbsp;221</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;389</td> <td class="nbHitsCovered">&nbsp;341</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;390</td> <td class="nbHitsCovered">&nbsp;341</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</td> <td class="nbHitsCovered">&nbsp;341</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
<tr> <td class="numLine">&nbsp;392</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;393</td> <td class="nbHits">&nbsp;</td>
@@ -700,10 +700,10 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;402</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <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">&nbsp;403</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;403</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;404</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;405</td> <td class="nbHitsUncovered"><a title="Line 405: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;43</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 405: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;405</td> <td class="nbHitsUncovered"><a title="Line 405: Conditional coverage 75% (3/4) [each condition: 100%, 50%].">&nbsp;47</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 405: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;406</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; &amp;&amp; collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {</pre></td></tr>
<tr> <td class="numLine">&nbsp;407</td> <td class="nbHits">&nbsp;</td>
@@ -711,7 +711,7 @@
<tr> <td class="numLineCover">&nbsp;408</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; isValid = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;409</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;410</td> <td class="nbHitsCovered">&nbsp;43</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> isValid;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;410</td> <td class="nbHitsCovered">&nbsp;47</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> isValid;</pre></td></tr>
<tr> <td class="numLine">&nbsp;411</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;412</td> <td class="nbHits">&nbsp;</td>
@@ -756,14 +756,14 @@
<td class="src"><pre class="src">&nbsp; <span class="comment">//&lt;/editor-fold&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;432</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//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">&nbsp;433</td> <td class="nbHitsUncovered"><a title="Line 433: Conditional coverage 50% (1/2).">&nbsp;45</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 433: 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">&nbsp;433</td> <td class="nbHitsUncovered"><a title="Line 433: Conditional coverage 50% (1/2).">&nbsp;49</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 433: 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">&nbsp;434</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;435</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;436</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;437</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> List&lt;String&gt; list = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;438</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; String tempWord = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;439</td> <td class="nbHitsCovered"><a title="Line 439: Conditional coverage 100% (2/2).">&nbsp;167</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 439: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;436</td> <td class="nbHitsCovered">&nbsp;49</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;437</td> <td class="nbHitsCovered">&nbsp;49</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> List&lt;String&gt; list = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;438</td> <td class="nbHitsCovered">&nbsp;49</td> <td class="src"><pre class="src">&nbsp; String tempWord = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;439</td> <td class="nbHitsCovered"><a title="Line 439: Conditional coverage 100% (2/2).">&nbsp;187</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 439: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;440</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/*</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;441</td> <td class="nbHits">&nbsp;</td>
@@ -772,28 +772,28 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> so { "m", "core", "sample" } -&gt; { "mcore", "sample" }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;443</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;444</td> <td class="nbHitsCovered"><a title="Line 444: Conditional coverage 100% (2/2).">&nbsp;122</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 444: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;445</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; list.add(tempWord + word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;446</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; tempWord = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;447</td> <td class="nbHitsCovered"><a title="Line 447: Conditional coverage 100% (2/2).">&nbsp;120</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 447: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() &lt;= 2) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;448</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; tempWord = word;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;444</td> <td class="nbHitsCovered"><a title="Line 444: Conditional coverage 100% (2/2).">&nbsp;138</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 444: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;445</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; list.add(tempWord + word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;446</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; tempWord = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;447</td> <td class="nbHitsCovered"><a title="Line 447: Conditional coverage 100% (2/2).">&nbsp;132</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 447: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() &lt;= 2) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;448</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; tempWord = word;</pre></td></tr>
<tr> <td class="numLine">&nbsp;449</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;450</td> <td class="nbHitsCovered">&nbsp;118</td> <td class="src"><pre class="src">&nbsp; list.add(word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;450</td> <td class="nbHitsCovered">&nbsp;126</td> <td class="src"><pre class="src">&nbsp; list.add(word);</pre></td></tr>
<tr> <td class="numLine">&nbsp;451</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;452</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;453</td> <td class="nbHitsUncovered"><a title="Line 453: Conditional coverage 25% (1/4) [each condition: 50%, 0%].">&nbsp;45</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 453: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> &amp;&amp; !list.isEmpty()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;453</td> <td class="nbHitsUncovered"><a title="Line 453: Conditional coverage 25% (1/4) [each condition: 50%, 0%].">&nbsp;49</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 453: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> &amp;&amp; !list.isEmpty()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;454</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String tmp = list.get(list.size() - 1) + tempWord;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;455</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; list.add(tmp);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;456</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;457</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (2/2).">&nbsp;45</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 458: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;459</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; contains &amp;= ec.containsUsedString(word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;460</td> <td class="nbHitsCovered">&nbsp;120</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;461</td> <td class="nbHitsCovered">&nbsp;45</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> contains;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;457</td> <td class="nbHitsCovered">&nbsp;49</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (2/2).">&nbsp;49</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 458: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;459</td> <td class="nbHitsCovered">&nbsp;132</td> <td class="src"><pre class="src">&nbsp; contains &amp;= ec.containsUsedString(word);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;460</td> <td class="nbHitsCovered">&nbsp;132</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;461</td> <td class="nbHitsCovered">&nbsp;49</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> contains;</pre></td></tr>
<tr> <td class="numLine">&nbsp;462</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;463</td> <td class="nbHits">&nbsp;</td>
@@ -1286,6 +1286,6 @@
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 3/6/15 6:07 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 4/12/15 8:13 AM.</div>
</body>
</html>