version 1.2.5 of the documentation

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

View File

@@ -119,7 +119,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The Logger.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;51</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;52</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = Logger.getLogger(DependencyBundlingAnalyzer.<span class="keyword">class</span>.getName());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Logger LOGGER = Logger.getLogger(DependencyBundlingAnalyzer.<span class="keyword">class</span>.getName());</pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
@@ -130,7 +130,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * A pattern for obtaining the first part of a filename.</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"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Pattern STARTING_TEXT_PATTERN = Pattern.compile(<span class="string">"^[a-zA-Z]*"</span>);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;58</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> Pattern STARTING_TEXT_PATTERN = Pattern.compile(<span class="string">"^[a-zA-Z]*"</span>);</pre></td></tr>
<tr> <td class="numLine">&nbsp;59</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;60</td> <td class="nbHits">&nbsp;</td>
@@ -157,7 +157,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The phase that this analyzer is intended to run in.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;71</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;72</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;72</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;</pre></td></tr>
<tr> <td class="numLine">&nbsp;73</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;74</td> <td class="nbHits">&nbsp;</td>
@@ -172,7 +172,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;79</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> String getName() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsCovered">&nbsp;20</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> ANALYZER_NAME;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;80</td> <td class="nbHitsCovered">&nbsp;5</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> ANALYZER_NAME;</pre></td></tr>
<tr> <td class="numLine">&nbsp;81</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;82</td> <td class="nbHits">&nbsp;</td>
@@ -189,7 +189,7 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;88</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> AnalysisPhase getAnalysisPhase() {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;89</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> ANALYSIS_PHASE;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;89</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> ANALYSIS_PHASE;</pre></td></tr>
<tr> <td class="numLine">&nbsp;90</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;91</td> <td class="nbHits">&nbsp;</td>
@@ -216,19 +216,19 @@
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;102</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> <span class="keyword">void</span> analyze(Dependency ignore, Engine engine) <span class="keyword">throws</span> AnalysisException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;103</td> <td class="nbHitsCovered"><a title="Line 103: Conditional coverage 100% (2/2).">&nbsp;8</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 103: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!analyzed) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; analyzed = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;105</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Set&lt;Dependency&gt; dependenciesToRemove = <span class="keyword">new</span> HashSet&lt;Dependency&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> ListIterator&lt;Dependency&gt; mainIterator = engine.getDependencies().listIterator();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;103</td> <td class="nbHitsCovered"><a title="Line 103: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 103: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!analyzed) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;104</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; analyzed = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;105</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Set&lt;Dependency&gt; dependenciesToRemove = <span class="keyword">new</span> HashSet&lt;Dependency&gt;();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;106</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> ListIterator&lt;Dependency&gt; mainIterator = engine.getDependencies().listIterator();</pre></td></tr>
<tr> <td class="numLine">&nbsp;107</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//for (Dependency nextDependency : engine.getDependencies()) {</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2).">&nbsp;12</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (mainIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;109</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Dependency dependency = mainIterator.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;110</td> <td class="nbHitsCovered"><a title="Line 110: Conditional coverage 100% (2/2).">&nbsp;8</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 110: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mainIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;111</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> ListIterator&lt;Dependency&gt; subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;112</td> <td class="nbHitsCovered"><a title="Line 112: Conditional coverage 100% (2/2).">&nbsp;8</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 112: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (subIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Dependency nextDependency = subIterator.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;114</td> <td class="nbHitsUncovered"><a title="Line 114: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 114: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (hashesMatch(dependency, nextDependency)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2).">&nbsp;3</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (mainIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;109</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Dependency dependency = mainIterator.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;110</td> <td class="nbHitsCovered"><a title="Line 110: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 110: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mainIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;111</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> ListIterator&lt;Dependency&gt; subIterator = engine.getDependencies().listIterator(mainIterator.nextIndex());</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;112</td> <td class="nbHitsCovered"><a title="Line 112: Conditional coverage 100% (2/2).">&nbsp;2</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 112: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (subIterator.hasNext()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;113</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> Dependency nextDependency = subIterator.next();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;114</td> <td class="nbHitsUncovered"><a title="Line 114: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 114: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (hashesMatch(dependency, nextDependency)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;115</td> <td class="nbHitsUncovered"><a title="Line 115: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 115: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (isCore(dependency, nextDependency)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;116</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; mergeDependencies(dependency, nextDependency, dependenciesToRemove);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;117</td> <td class="nbHits">&nbsp;</td>
@@ -236,7 +236,7 @@
<tr> <td class="numLineCover">&nbsp;118</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; mergeDependencies(nextDependency, dependency, dependenciesToRemove);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;119</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsUncovered"><a title="Line 120: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 120: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (isShadedJar(dependency, nextDependency)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;120</td> <td class="nbHitsUncovered"><a title="Line 120: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 120: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (isShadedJar(dependency, nextDependency)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;121</td> <td class="nbHitsUncovered"><a title="Line 121: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 121: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (dependency.getFileName().toLowerCase().endsWith(<span class="string">"pom.xml"</span>)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;122</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; dependenciesToRemove.add(dependency);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;123</td> <td class="nbHits">&nbsp;</td>
@@ -244,7 +244,7 @@
<tr> <td class="numLineCover">&nbsp;124</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; dependenciesToRemove.add(nextDependency);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;125</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;126</td> <td class="nbHitsUncovered"><a title="Line 126: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 126: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (cpeIdentifiersMatch(dependency, nextDependency)</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;126</td> <td class="nbHitsUncovered"><a title="Line 126: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%].">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 126: Conditional coverage 16% (1/6) [each condition: 50%, 0%, 0%]."> } <span class="keyword">else</span> <span class="keyword">if</span> (cpeIdentifiersMatch(dependency, nextDependency)</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;127</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; &amp;&amp; hasSameBasePath(dependency, nextDependency)</pre></td></tr>
<tr> <td class="numLine">&nbsp;128</td> <td class="nbHits">&nbsp;</td>
@@ -260,20 +260,20 @@
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;135</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;136</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;136</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;137</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;138</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;139</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">//removing dependencies here as ensuring correctness and avoiding ConcurrentUpdateExceptions</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;140</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">// was difficult because of the inner iterator.</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;141</td> <td class="nbHitsUncovered"><a title="Line 141: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 141: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Dependency d : dependenciesToRemove) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;141</td> <td class="nbHitsUncovered"><a title="Line 141: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 141: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Dependency d : dependenciesToRemove) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;142</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; engine.getDependencies().remove(d);</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;143</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;144</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;145</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;146</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;147</td> <td class="nbHits">&nbsp;</td>
@@ -440,28 +440,28 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;250</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;251</td> <td class="nbHitsUncovered"><a title="Line 251: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 251: 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="numLineCover">&nbsp;251</td> <td class="nbHitsUncovered"><a title="Line 251: 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 251: 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;252</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;253</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;254</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;255</td> <td class="nbHitsCovered">&nbsp;4</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;256</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount1 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;257</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">int</span> cpeCount2 = 0;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;258</td> <td class="nbHitsUncovered"><a title="Line 258: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 258: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;255</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;256</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;257</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;258</td> <td class="nbHitsUncovered"><a title="Line 258: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 258: Conditional coverage 50% (1/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; cpeCount1 += 1;</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="numLineCover">&nbsp;262</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;263</td> <td class="nbHitsCovered"><a title="Line 263: Conditional coverage 100% (2/2).">&nbsp;4</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 263: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Identifier i : dependency2.getIdentifiers()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;264</td> <td class="nbHitsUncovered"><a title="Line 264: Conditional coverage 50% (1/2).">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 264: 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;265</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; cpeCount2 += 1;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;263</td> <td class="nbHitsCovered"><a title="Line 263: Conditional coverage 100% (2/2).">&nbsp;1</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 263: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Identifier i : dependency2.getIdentifiers()) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;264</td> <td class="nbHitsUncovered"><a title="Line 264: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 264: 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;265</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; cpeCount2 += 1;</pre></td></tr>
<tr> <td class="numLine">&nbsp;266</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;8</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsUncovered"><a title="Line 268: Conditional coverage 25% (1/4) [each condition: 50%, 0%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 268: 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;267</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;268</td> <td class="nbHitsUncovered"><a title="Line 268: 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 268: 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;269</td> <td class="nbHitsUncovered"><a title="Line 269: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 269: Conditional coverage 0% (0/2)."> <span class="keyword">for</span> (Identifier i : dependency1.getIdentifiers()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;270</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;271</td> <td class="nbHitsUncovered"><a title="Line 271: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 271: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!matches) {</a></span></pre></td></tr>
@@ -471,12 +471,12 @@
<tr> <td class="numLineCover">&nbsp;274</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;275</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;276</td> <td class="nbHitsUncovered"><a title="Line 276: Conditional coverage 50% (1/2).">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 276: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LogUtils.isVerboseLoggingEnabled()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;276</td> <td class="nbHitsUncovered"><a title="Line 276: Conditional coverage 50% (1/2).">&nbsp;1</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 276: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LogUtils.isVerboseLoggingEnabled()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;277</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String msg = String.format(<span class="string">"IdentifiersMatch=%s (%s, %s)"</span>, matches, dependency1.getFileName(), dependency2.getFileName());</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; LOGGER.log(Level.FINE, msg);</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;280</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> matches;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;280</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;281</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;282</td> <td class="nbHits">&nbsp;</td>
@@ -553,24 +553,24 @@
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;328</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;329</td> <td class="nbHitsCovered">&nbsp;8</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;330</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">final</span> String rightName = right.getFileName().toLowerCase();</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;329</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;330</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;331</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;332</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;333</td> <td class="nbHitsUncovered"><a title="Line 333: Conditional coverage 41% (5/12) [each condition: 100%, 50%, 50%, 0%, 50%, 0%].">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 333: 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="numLineCover">&nbsp;333</td> <td class="nbHitsUncovered"><a title="Line 333: 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 333: 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;334</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;335</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;336</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;337</td> <td class="nbHitsUncovered"><a title="Line 337: Conditional coverage 58% (7/12) [each condition: 100%, 50%, 50%, 50%, 50%, 50%].">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 337: 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="numLineCover">&nbsp;337</td> <td class="nbHitsUncovered"><a title="Line 337: 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 337: 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;338</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;339</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;340</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; returnVal = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;340</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;341</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;342</td> <td class="nbHits">&nbsp;</td>
@@ -594,12 +594,12 @@
<tr> <td class="numLineCover">&nbsp;351</td> <td class="nbHitsUncovered"><a title="Line 351: Conditional coverage 0% (0/2).">&nbsp;0</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 351: Conditional coverage 0% (0/2)."> returnVal = leftName.length() &lt;= rightName.length();</a></span></pre></td></tr>
<tr> <td class="numLine">&nbsp;352</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;353</td> <td class="nbHitsUncovered"><a title="Line 353: Conditional coverage 50% (1/2).">&nbsp;8</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 353: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LogUtils.isVerboseLoggingEnabled()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;353</td> <td class="nbHitsUncovered"><a title="Line 353: Conditional coverage 50% (1/2).">&nbsp;2</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 353: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (LogUtils.isVerboseLoggingEnabled()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;354</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; <span class="keyword">final</span> String msg = String.format(<span class="string">"IsCore=%s (%s, %s)"</span>, returnVal, left.getFileName(), right.getFileName());</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;355</td> <td class="nbHitsUncovered">&nbsp;0</td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp; LOGGER.log(Level.FINE, msg);</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;356</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</td> <td class="nbHitsCovered">&nbsp;8</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> returnVal;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;357</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;358</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;359</td> <td class="nbHits">&nbsp;</td>
@@ -620,11 +620,11 @@
<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>
<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;368</td> <td class="nbHitsUncovered"><a title="Line 368: Conditional coverage 50% (4/8) [each condition: 50%, 50%, 50%, 50%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 368: 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;368</td> <td class="nbHitsUncovered"><a title="Line 368: 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 368: 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;369</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;370</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;371</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> dependency1.getSha1sum().equals(dependency2.getSha1sum());</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">return</span> dependency1.getSha1sum().equals(dependency2.getSha1sum());</pre></td></tr>
<tr> <td class="numLine">&nbsp;372</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;373</td> <td class="nbHits">&nbsp;</td>
@@ -649,21 +649,21 @@
<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="keyword">private</span> <span class="keyword">boolean</span> isShadedJar(Dependency dependency, Dependency nextDependency) {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;384</td> <td class="nbHitsCovered">&nbsp;4</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;385</td> <td class="nbHitsCovered">&nbsp;4</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;386</td> <td class="nbHitsUncovered"><a title="Line 386: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 386: 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;384</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;385</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;386</td> <td class="nbHitsUncovered"><a title="Line 386: 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 386: 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;387</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;388</td> <td class="nbHitsUncovered"><a title="Line 388: Conditional coverage 50% (2/4) [each condition: 50%, 50%].">&nbsp;4</a></td> <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;<a title="Line 388: 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;388</td> <td class="nbHitsUncovered"><a title="Line 388: 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 388: 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;389</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;390</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</td> <td class="nbHitsCovered">&nbsp;4</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;391</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;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>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 8/5/14 6:07 PM.</div>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 9/16/14 5:40 AM.</div>
</body>
</html>