documentation v1.3.2

This commit is contained in:
Jeremy Long
2015-11-29 07:44:14 -05:00
parent 191c5fae56
commit a426de69cd
1220 changed files with 51071 additions and 40455 deletions

View File

@@ -12,7 +12,7 @@
<div class="separator">&nbsp;</div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tr><td><a href="org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html">DependencyBundlingAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">42%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:42px"><span class="text">63/148</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">31%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:31px"><span class="text">51/160</span></div></div></td></tr></table></td><td class="value"><span class="hidden">7.5;</span>7.5</td></tr>
<tr><td><a href="org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html">DependencyBundlingAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">42%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:42px"><span class="text">63/147</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">31%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:31px"><span class="text">51/160</span></div></div></td></tr></table></td><td class="value"><span class="hidden">7.5;</span>7.5</td></tr>
</table>
<div class="separator">&nbsp;</div>
@@ -382,355 +382,352 @@
<td class="src"><pre class="src">&nbsp; <span class="comment">//version check</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;214</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> DependencyVersion version1 = DependencyVersionUtil.parseVersion(fileName1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;215</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> DependencyVersion version2 = DependencyVersionUtil.parseVersion(fileName2);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;216</td> <td class="nbHitsUncovered"><a title="Line 216: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 216: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (version1 != <span class="keyword">null</span> &amp;&amp; version2 != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;217</td> <td class="nbHitsUncovered"><a title="Line 217: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 217: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!version1.equals(version2)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;218</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="numLineCover">&nbsp;216</td> <td class="nbHitsUncovered"><a title="Line 216: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 216: Conditional coverage 0% (0/6) [each condition: 0%, 0%, 0%]."> <span class="keyword">if</span> (version1 != <span class="keyword">null</span> &amp;&amp; version2 != <span class="keyword">null</span> &amp;&amp; !version1.equals(version2)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;217</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;218</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;219</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;220</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;221</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;222</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//filename check</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Matcher match1 = STARTING_TEXT_PATTERN.matcher(fileName1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Matcher match2 = STARTING_TEXT_PATTERN.matcher(fileName2);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;225</td> <td class="nbHitsUncovered"><a title="Line 225: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 225: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (match1.find() &amp;&amp; match2.find()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;226</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> match1.group().equals(match2.group());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;227</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;221</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Matcher match1 = STARTING_TEXT_PATTERN.matcher(fileName1);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;222</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> Matcher match2 = STARTING_TEXT_PATTERN.matcher(fileName2);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;223</td> <td class="nbHitsUncovered"><a title="Line 223: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 223: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (match1.find() &amp;&amp; match2.find()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;224</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> match1.group().equals(match2.group());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;225</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;226</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;227</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;228</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;229</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;229</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;230</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;231</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;232</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;233</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Returns true if the CPE identifiers in the two supplied dependencies are equal.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;234</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;232</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;235</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;233</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency1 a dependency2 to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;236</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;234</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency2 a dependency2 to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;237</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;235</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the identifiers in the two supplied dependencies are equal</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;238</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;236</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;239</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;237</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> cpeIdentifiersMatch(Dependency dependency1, Dependency dependency2) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;240</td> <td class="nbHitsUncovered"><a title="Line 240: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 240: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency1.getIdentifiers() == <span class="keyword">null</span></a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;241</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;238</td> <td class="nbHitsUncovered"><a title="Line 238: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 238: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency1.getIdentifiers() == <span class="keyword">null</span></a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;239</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || dependency2 == <span class="keyword">null</span> || dependency2.getIdentifiers() == <span class="keyword">null</span>) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;242</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;243</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;240</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;241</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;244</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> matches = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;245</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount1 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;246</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount2 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;247</td> <td class="nbHitsUncovered"><a title="Line 247: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 247: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;248</td> <td class="nbHitsUncovered"><a title="Line 248: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 248: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;249</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cpeCount1 += 1;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;250</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;242</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> matches = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;243</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount1 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;244</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount2 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;245</td> <td class="nbHitsUncovered"><a title="Line 245: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 245: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;246</td> <td class="nbHitsUncovered"><a title="Line 246: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 246: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;247</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; cpeCount1 += 1;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;248</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;251</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;252</td> <td class="nbHitsCovered"><a title="Line 252: Conditional coverage 100% (2/2).">&nbsp;1</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 252: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Identifier i : dependency2.getIdentifiers()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;253</td> <td class="nbHitsUncovered"><a title="Line 253: Conditional coverage 50% (1/2).">&nbsp;3</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 253: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;254</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; cpeCount2 += 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;255</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;249</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;250</td> <td class="nbHitsCovered"><a title="Line 250: Conditional coverage 100% (2/2).">&nbsp;1</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 250: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Identifier i : dependency2.getIdentifiers()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;251</td> <td class="nbHitsUncovered"><a title="Line 251: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 251: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;252</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; cpeCount2 += 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;253</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;256</td> <td class="nbHitsCovered">&nbsp;3</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsUncovered"><a title="Line 257: Conditional coverage 25% (1/4) [each condition: 50%, 0%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 257: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (cpeCount1 &gt; 0 &amp;&amp; cpeCount1 == cpeCount2) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;258</td> <td class="nbHitsUncovered"><a title="Line 258: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 258: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;259</td> <td class="nbHitsUncovered"><a title="Line 259: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 259: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;260</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; matches |= dependency2.getIdentifiers().contains(i);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;261</td> <td class="nbHitsUncovered"><a title="Line 261: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 261: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!matches) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;262</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">break</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;263</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;254</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;255</td> <td class="nbHitsUncovered"><a title="Line 255: Conditional coverage 25% (1/4) [each condition: 50%, 0%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 255: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (cpeCount1 &gt; 0 &amp;&amp; cpeCount1 == cpeCount2) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;256</td> <td class="nbHitsUncovered"><a title="Line 256: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 256: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsUncovered"><a title="Line 257: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 257: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (<span class="string">"cpe"</span>.equals(i.getType())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;258</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; matches |= dependency2.getIdentifiers().contains(i);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;259</td> <td class="nbHitsUncovered"><a title="Line 259: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 259: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!matches) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;260</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">break</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;261</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;264</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;262</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;266</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;263</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;264</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;267</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; LOGGER.debug(<span class="string">"IdentifiersMatch={} ({}, {})"</span>, matches, dependency1.getFileName(), dependency2.getFileName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> matches;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;265</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; LOGGER.debug(<span class="string">"IdentifiersMatch={} ({}, {})"</span>, matches, dependency1.getFileName(), dependency2.getFileName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;266</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> matches;</pre></td></tr>
<tr> <td class="numLine">&nbsp;267</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;268</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;269</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;270</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;271</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;272</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Determines if the two dependencies have the same base path.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;273</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;271</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;274</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;272</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency1 a Dependency object</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;275</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;273</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency2 a Dependency object</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;276</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;274</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the base paths of the dependencies are identical</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;277</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;275</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;278</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;276</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> hasSameBasePath(Dependency dependency1, Dependency dependency2) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;279</td> <td class="nbHitsUncovered"><a title="Line 279: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 279: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency2 == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;280</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;281</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;277</td> <td class="nbHitsUncovered"><a title="Line 277: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 277: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency2 == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;278</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;279</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;282</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File lFile = <span class="keyword">new</span> File(dependency1.getFilePath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;283</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String left = lFile.getParent();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;284</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File rFile = <span class="keyword">new</span> File(dependency2.getFilePath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;285</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String right = rFile.getParent();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;286</td> <td class="nbHitsUncovered"><a title="Line 286: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 286: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;287</td> <td class="nbHitsUncovered"><a title="Line 287: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 287: Conditional coverage 0% (0/2)."> <span class="keyword">return</span> right == <span class="keyword">null</span>;</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;288</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;280</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File lFile = <span class="keyword">new</span> File(dependency1.getFilePath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;281</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String left = lFile.getParent();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;282</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> File rFile = <span class="keyword">new</span> File(dependency2.getFilePath());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;283</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; String right = rFile.getParent();</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;284</td> <td class="nbHitsUncovered"><a title="Line 284: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 284: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;285</td> <td class="nbHitsUncovered"><a title="Line 285: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 285: Conditional coverage 0% (0/2)."> <span class="keyword">return</span> right == <span class="keyword">null</span>;</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;286</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;289</td> <td class="nbHitsUncovered"><a title="Line 289: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 289: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left.equalsIgnoreCase(right)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;290</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">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;291</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;287</td> <td class="nbHitsUncovered"><a title="Line 287: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 287: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left.equalsIgnoreCase(right)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;288</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">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;289</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;292</td> <td class="nbHitsUncovered"><a title="Line 292: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 292: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (left.matches(<span class="string">".*[/\\\\]repository[/\\\\].*"</span>) &amp;&amp; right.matches(<span class="string">".*[/\\\\]repository[/\\\\].*"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;293</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; left = getBaseRepoPath(left);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;294</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; right = getBaseRepoPath(right);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;295</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 0% (0/4) [each condition: 0%, 0%].">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 290: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> (left.matches(<span class="string">".*[/\\\\]repository[/\\\\].*"</span>) &amp;&amp; right.matches(<span class="string">".*[/\\\\]repository[/\\\\].*"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;291</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; left = getBaseRepoPath(left);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;292</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; right = getBaseRepoPath(right);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;293</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;296</td> <td class="nbHitsUncovered"><a title="Line 296: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 296: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left.equalsIgnoreCase(right)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;297</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> <span class="keyword">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;298</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;294</td> <td class="nbHitsUncovered"><a title="Line 294: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 294: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (left.equalsIgnoreCase(right)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;295</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">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;296</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;299</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;297</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//new code</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;300</td> <td class="nbHitsUncovered"><a title="Line 300: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 300: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Dependency child : dependency2.getRelatedDependencies()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;301</td> <td class="nbHitsUncovered"><a title="Line 301: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 301: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (hasSameBasePath(dependency1, child)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;302</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">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;303</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;298</td> <td class="nbHitsUncovered"><a title="Line 298: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 298: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Dependency child : dependency2.getRelatedDependencies()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;299</td> <td class="nbHitsUncovered"><a title="Line 299: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 299: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (hasSameBasePath(dependency1, child)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;300</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">true</span>;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;301</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;304</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;305</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="numLineCover">&nbsp;302</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; }</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;303</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;304</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;305</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;306</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;307</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;308</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;309</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This is likely a very broken attempt at determining if the 'left' dependency is the 'core' library in comparison to the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;310</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;308</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * 'right' library.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;311</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;309</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;312</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;310</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param left the dependency to test</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;313</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;311</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param right the dependency to test against</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;314</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;312</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return a boolean indicating whether or not the left dependency should be considered the "core" version.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;315</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;313</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;316</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;314</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">boolean</span> isCore(Dependency left, Dependency right) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;317</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String leftName = left.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;318</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String rightName = right.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLine">&nbsp;319</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;315</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String leftName = left.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;316</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String rightName = right.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLine">&nbsp;317</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;320</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;318</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">boolean</span> returnVal;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;321</td> <td class="nbHitsUncovered"><a title="Line 321: Conditional coverage 41% (5/12) [each condition: 100%, 50%, 50%, 0%, 50%, 0%].">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 321: Conditional coverage 41% (5/12) [each condition: 100%, 50%, 50%, 0%, 50%, 0%]."> <span class="keyword">if</span> (!rightName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>) &amp;&amp; leftName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;322</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;319</td> <td class="nbHitsUncovered"><a title="Line 319: Conditional coverage 41% (5/12) [each condition: 100%, 50%, 50%, 0%, 50%, 0%].">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 319: Conditional coverage 41% (5/12) [each condition: 100%, 50%, 50%, 0%, 50%, 0%]."> <span class="keyword">if</span> (!rightName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>) &amp;&amp; leftName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;320</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || rightName.contains(<span class="string">"core"</span>) &amp;&amp; !leftName.contains(<span class="string">"core"</span>)</pre></td></tr>
<tr> <td class="numLine">&nbsp;323</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;321</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || rightName.contains(<span class="string">"kernel"</span>) &amp;&amp; !leftName.contains(<span class="string">"kernel"</span>)) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;324</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; returnVal = <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;325</td> <td class="nbHitsUncovered"><a title="Line 325: Conditional coverage 58% (7/12) [each condition: 100%, 50%, 50%, 50%, 50%, 50%].">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 325: Conditional coverage 58% (7/12) [each condition: 100%, 50%, 50%, 50%, 50%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (rightName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>) &amp;&amp; !leftName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;326</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;322</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; returnVal = <span class="keyword">false</span>;</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;323</td> <td class="nbHitsUncovered"><a title="Line 323: Conditional coverage 58% (7/12) [each condition: 100%, 50%, 50%, 50%, 50%, 50%].">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 323: Conditional coverage 58% (7/12) [each condition: 100%, 50%, 50%, 50%, 50%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (rightName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>) &amp;&amp; !leftName.matches(<span class="string">".*\\.(tar|tgz|gz|zip|ear|war).+"</span>)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;324</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || !rightName.contains(<span class="string">"core"</span>) &amp;&amp; leftName.contains(<span class="string">"core"</span>)</pre></td></tr>
<tr> <td class="numLine">&nbsp;327</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;325</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; || !rightName.contains(<span class="string">"kernel"</span>) &amp;&amp; leftName.contains(<span class="string">"kernel"</span>)) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;328</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; returnVal = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;329</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;326</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; returnVal = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;327</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">// } else if (leftName.matches(".*struts2\\-core.*") &amp;&amp; rightName.matches(".*xwork\\-core.*")) {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;330</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;328</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">// returnVal = true;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;331</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;329</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">// } else if (rightName.matches(".*struts2\\-core.*") &amp;&amp; leftName.matches(".*xwork\\-core.*")) {</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;332</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;330</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">// returnVal = false;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;333</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;331</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLine">&nbsp;334</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;332</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;335</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;333</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * considered splitting the names up and comparing the components,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;336</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;334</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * but decided that the file name length should be sufficient as the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;337</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;335</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * "core" component, if this follows a normal naming protocol should</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;338</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;336</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * be shorter:</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;339</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;337</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * axis2-saaj-1.4.1.jar</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;340</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;338</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * axis2-1.4.1.jar &lt;-----</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;341</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;339</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * axis2-kernel-1.4.1.jar</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;342</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;340</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;343</td> <td class="nbHitsUncovered"><a title="Line 343: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 343: Conditional coverage 0% (0/2)."> returnVal = leftName.length() &lt;= rightName.length();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;344</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;341</td> <td class="nbHitsUncovered"><a title="Line 341: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 341: Conditional coverage 0% (0/2)."> returnVal = leftName.length() &lt;= rightName.length();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;342</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;345</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; LOGGER.debug(<span class="string">"IsCore={} ({}, {})"</span>, returnVal, left.getFileName(), right.getFileName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;346</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> returnVal;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;343</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; LOGGER.debug(<span class="string">"IsCore={} ({}, {})"</span>, returnVal, left.getFileName(), right.getFileName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;344</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> returnVal;</pre></td></tr>
<tr> <td class="numLine">&nbsp;345</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;346</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;347</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;348</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;349</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;350</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Compares the SHA1 hashes of two dependencies to determine if they are equal.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;349</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;350</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency1 a dependency object to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;353</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;351</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency2 a dependency object to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the sha1 hashes of the two dependencies match; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;355</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;353</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;356</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;354</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> hashesMatch(Dependency dependency1, Dependency dependency2) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsUncovered"><a title="Line 357: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 357: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency2 == <span class="keyword">null</span> || dependency1.getSha1sum() == <span class="keyword">null</span> || dependency2.getSha1sum() == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</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="numLineCover">&nbsp;355</td> <td class="nbHitsUncovered"><a title="Line 355: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 355: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%]."> <span class="keyword">if</span> (dependency1 == <span class="keyword">null</span> || dependency2 == <span class="keyword">null</span> || dependency1.getSha1sum() == <span class="keyword">null</span> || dependency2.getSha1sum() == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;356</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;357</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;358</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> dependency1.getSha1sum().equals(dependency2.getSha1sum());</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;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> dependency1.getSha1sum().equals(dependency2.getSha1sum());</pre></td></tr>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;360</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;361</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;362</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;363</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;364</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Determines if the jar is shaded and the created pom.xml identified the same CPE as the jar - if so, the pom.xml dependency</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;365</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;363</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * should be removed.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;364</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;367</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;365</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param dependency a dependency to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;368</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;366</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param nextDependency another dependency to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;369</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;367</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if on of the dependencies is a pom.xml and the identifiers between the two collections match; otherwise false</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;370</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;368</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;371</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;369</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> isShadedJar(Dependency dependency, Dependency nextDependency) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;372</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String mainName = dependency.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;373</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String nextName = nextDependency.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsUncovered"><a title="Line 374: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 374: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (mainName.endsWith(<span class="string">".jar"</span>) &amp;&amp; nextName.endsWith(<span class="string">"pom.xml"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;375</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;376</td> <td class="nbHitsUncovered"><a title="Line 376: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 376: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (nextName.endsWith(<span class="string">".jar"</span>) &amp;&amp; mainName.endsWith(<span class="string">"pom.xml"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;377</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;370</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String mainName = dependency.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;371</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String nextName = nextDependency.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;372</td> <td class="nbHitsUncovered"><a title="Line 372: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 372: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (mainName.endsWith(<span class="string">".jar"</span>) &amp;&amp; nextName.endsWith(<span class="string">"pom.xml"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;373</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;374</td> <td class="nbHitsUncovered"><a title="Line 374: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 374: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (nextName.endsWith(<span class="string">".jar"</span>) &amp;&amp; mainName.endsWith(<span class="string">"pom.xml"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;375</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">return</span> nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;376</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;377</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine">&nbsp;378</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;379</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;379</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;380</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;381</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;383</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Determines which path is shortest; if path lengths are equal then we use compareTo of the string method to determine if the</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;382</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * first path is smaller.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;385</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;383</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;386</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;384</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param left the first path to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;387</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;385</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param right the second path to compare</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;386</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return &lt;code&gt;true&lt;/code&gt; if the leftPath is the shortest; otherwise &lt;code&gt;false&lt;/code&gt;</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;389</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;387</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;390</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;388</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> <span class="keyword">boolean</span> firstPathIsShortest(String left, String right) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String leftPath = left.replace(<span class="string">'\\'</span>, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;392</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String rightPath = right.replace(<span class="string">'\\'</span>, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;393</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;389</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String leftPath = left.replace(<span class="string">'\\'</span>, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;390</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String rightPath = right.replace(<span class="string">'\\'</span>, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;391</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;394</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> leftCount = countChar(leftPath, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;395</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> rightCount = countChar(rightPath, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;396</td> <td class="nbHitsCovered"><a title="Line 396: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 396: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (leftCount == rightCount) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;397</td> <td class="nbHitsCovered"><a title="Line 397: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 397: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> leftPath.compareTo(rightPath) &lt;= 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;398</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;392</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> leftCount = countChar(leftPath, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;393</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> rightCount = countChar(rightPath, <span class="string">'/'</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;394</td> <td class="nbHitsCovered"><a title="Line 394: Conditional coverage 100% (2/2).">&nbsp;5</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 394: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (leftCount == rightCount) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;395</td> <td class="nbHitsCovered"><a title="Line 395: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 395: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> leftPath.compareTo(rightPath) &lt;= 0;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;396</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;399</td> <td class="nbHitsCovered"><a title="Line 399: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 399: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> leftCount &lt; rightCount;</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;397</td> <td class="nbHitsCovered"><a title="Line 397: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 397: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> leftCount &lt; rightCount;</a></pre></td></tr>
<tr> <td class="numLine">&nbsp;398</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;399</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;400</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;401</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<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;</pre></td></tr>
<tr> <td class="numLine">&nbsp;403</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;404</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Counts the number of times the character is present in the string.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;405</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;403</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;406</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;404</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param string the string to count the characters in</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;407</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;405</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param c the character to count</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;408</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;406</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the number of times the character is present in the string</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;409</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;407</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;410</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;408</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">int</span> countChar(String string, <span class="keyword">char</span> c) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;411</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> count = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;412</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> max = string.length();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;413</td> <td class="nbHitsCovered"><a title="Line 413: Conditional coverage 100% (2/2).">&nbsp;116</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 413: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; max; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;414</td> <td class="nbHitsCovered"><a title="Line 414: Conditional coverage 100% (2/2).">&nbsp;106</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 414: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == string.charAt(i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;415</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; count++;</pre></td></tr>
<tr> <td class="numLine">&nbsp;416</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;409</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> count = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;410</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> <span class="keyword">int</span> max = string.length();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;411</td> <td class="nbHitsCovered"><a title="Line 411: Conditional coverage 100% (2/2).">&nbsp;116</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 411: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; max; i++) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;412</td> <td class="nbHitsCovered"><a title="Line 412: Conditional coverage 100% (2/2).">&nbsp;106</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 412: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == string.charAt(i)) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;413</td> <td class="nbHitsCovered">&nbsp;28</td> <td class="src"><pre class="src">&nbsp; count++;</pre></td></tr>
<tr> <td class="numLine">&nbsp;414</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;417</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;415</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;418</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> count;</pre></td></tr>
<tr> <td class="numLine">&nbsp;419</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;416</td> <td class="nbHitsCovered">&nbsp;10</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> count;</pre></td></tr>
<tr> <td class="numLine">&nbsp;417</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;420</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;418</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;421</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;419</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;422</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;420</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Checks if the given file path is contained within a war or ear file.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;423</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;421</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;424</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;422</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param filePath the file path to check</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;425</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;423</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return true if the path contains '.war\' or '.ear\'.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;426</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;424</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;427</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;425</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">boolean</span> containedInWar(String filePath) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;428</td> <td class="nbHitsUncovered"><a title="Line 428: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 428: Conditional coverage 0% (0/2)."> <span class="keyword">return</span> filePath == <span class="keyword">null</span> ? <span class="keyword">false</span> : filePath.matches(<span class="string">".*\\.(ear|war)[\\\\/].*"</span>);</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;429</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLineCover">&nbsp;426</td> <td class="nbHitsUncovered"><a title="Line 426: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 426: Conditional coverage 0% (0/2)."> <span class="keyword">return</span> filePath == <span class="keyword">null</span> ? <span class="keyword">false</span> : filePath.matches(<span class="string">".*\\.(ear|war)[\\\\/].*"</span>);</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;427</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;430</td> <td class="nbHits">&nbsp;</td>
<tr> <td class="numLine">&nbsp;428</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 9/20/15 6:47 AM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 11/29/15 7:26 AM.</div>
</body>
</html>