mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-27 19:41:38 +01:00
version 1.1.1 of gh-pages
This commit is contained in:
@@ -133,7 +133,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @author Jeremy Long <jeremy.long@owasp.org></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 57</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 58</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> CPEAnalyzer <span class="keyword">implements</span> Analyzer {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 58</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> CPEAnalyzer <span class="keyword">implements</span> Analyzer {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 59</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 60</td> <td class="nbHits"> </td>
|
||||
@@ -210,19 +210,19 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 96</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> open() <span class="keyword">throws</span> IOException, DatabaseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="string">"Opening the CVE Database"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cve = <span class="keyword">new</span> CveDB();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cve.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="string">"Creating the Lucene CPE Index"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cpe = CpeMemoryIndex.getInstance();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="string">"Opening the CVE Database"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cve = <span class="keyword">new</span> CveDB();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cve.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="string">"Creating the Lucene CPE Index"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cpe = CpeMemoryIndex.getInstance();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 102</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 103</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cpe.open(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 103</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cpe.open(cve);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 104</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IndexException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 105</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> Logger.getLogger(CPEAnalyzer.<span class="keyword">class</span>.getName()).log(Level.FINE, <span class="string">"IndexException"</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 106</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> DatabaseException(ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 109</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
|
||||
@@ -235,15 +235,15 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> close() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 115</td> <td class="nbHitsUncovered"><a title="Line 115: Conditional coverage 50% (1/2)."> 22</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 115: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cpe.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 115</td> <td class="nbHitsUncovered"><a title="Line 115: Conditional coverage 50% (1/2)."> 11</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 115: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cpe != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cpe.close();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 118</td> <td class="nbHitsUncovered"><a title="Line 118: Conditional coverage 50% (1/2)."> 22</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 118: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cve != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 119</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> cve.close();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 118</td> <td class="nbHitsUncovered"><a title="Line 118: Conditional coverage 50% (1/2)."> 11</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 118: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cve != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 119</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> cve.close();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 121</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 121</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 122</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 123</td> <td class="nbHits"> </td>
|
||||
@@ -266,56 +266,56 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">void</span> determineCPE(Dependency dependency) <span class="keyword">throws</span> CorruptIndexException, IOException, ParseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> Confidence confidence = Confidence.HIGHEST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> Confidence confidence = Confidence.HIGHEST;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> String vendors = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> String products = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> String vendors = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> String products = addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/* bug fix for #40 - version evidence is not showing up as "used" in the reports if there is no</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * CPE identified. As such, we are "using" the evidence and ignoring the results. */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ctr = 0;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ctr = 0;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">do</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 143</td> <td class="nbHitsUncovered"><a title="Line 143: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 152</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 143: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (!vendors.isEmpty() && !products.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 144</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 143</td> <td class="nbHitsUncovered"><a title="Line 143: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 76</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 143: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (!vendors.isEmpty() && !products.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 72</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getVendorEvidence().getWeighting());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"><a title="Line 147: Conditional coverage 100% (2/2)."> 144</a></td> <td class="src"><pre class="src"> <a title="Line 147: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IndexEntry e : entries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 148</td> <td class="nbHitsCovered"><a title="Line 148: Conditional coverage 100% (2/2)."> 1458</a></td> <td class="src"><pre class="src"> <a title="Line 148: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String vendor = e.getVendor();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String product = e.getProduct();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> determineIdentifiers(dependency, vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"><a title="Line 147: Conditional coverage 100% (2/2)."> 72</a></td> <td class="src"><pre class="src"> <a title="Line 147: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IndexEntry e : entries) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 148</td> <td class="nbHitsCovered"><a title="Line 148: Conditional coverage 100% (2/2)."> 729</a></td> <td class="src"><pre class="src"> <a title="Line 148: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (verifyEntry(e, dependency)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String vendor = e.getVendor();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String product = e.getProduct();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> determineIdentifiers(dependency, vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 153</td> <td class="nbHitsCovered"> 1458</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 153</td> <td class="nbHitsCovered"> 729</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 152</td> <td class="src"><pre class="src"> confidence = reduceConfidence(confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"><a title="Line 156: Conditional coverage 100% (2/2)."> 152</a></td> <td class="src"><pre class="src"> <a title="Line 156: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVendorEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 157</td> <td class="nbHitsCovered"> 122</td> <td class="src"><pre class="src"> vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 76</td> <td class="src"><pre class="src"> confidence = reduceConfidence(confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"><a title="Line 156: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 156: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVendorEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 157</td> <td class="nbHitsCovered"> 61</td> <td class="src"><pre class="src"> vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"><a title="Line 159: Conditional coverage 100% (2/2)."> 152</a></td> <td class="src"><pre class="src"> <a title="Line 159: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getProductEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 128</td> <td class="src"><pre class="src"> products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"><a title="Line 159: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 159: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getProductEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/* bug fix for #40 - version evidence is not showing up as "used" in the reports if there is no</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * CPE identified. As such, we are "using" the evidence and ignoring the results. */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 164</td> <td class="nbHitsCovered"><a title="Line 164: Conditional coverage 100% (2/2)."> 152</a></td> <td class="src"><pre class="src"> <a title="Line 164: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVersionEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 74</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 164</td> <td class="nbHitsCovered"><a title="Line 164: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 164: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dependency.getVersionEvidence().contains(confidence)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 37</td> <td class="src"><pre class="src"> addEvidenceWithoutDuplicateTerms(<span class="string">""</span>, dependency.getVersionEvidence(), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"><a title="Line 167: Conditional coverage 100% (2/2)."> 152</a></td> <td class="src"><pre class="src"> <a title="Line 167: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> ((++ctr) < 4);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 167</td> <td class="nbHitsCovered"><a title="Line 167: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 167: Conditional coverage 100% (2/2)."> } <span class="keyword">while</span> ((++ctr) < 4);</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
|
||||
@@ -340,31 +340,31 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> String addEvidenceWithoutDuplicateTerms(<span class="keyword">final</span> String text, <span class="keyword">final</span> EvidenceCollection ec, Confidence confidenceFilter) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsUncovered"><a title="Line 181: Conditional coverage 50% (1/2)."> 438</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 181: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> String txt = (text == <span class="keyword">null</span>) ? <span class="string">""</span> : text;</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 182</td> <td class="nbHitsCovered"> 438</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(txt.length() + (20 * ec.size()));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsCovered"> 438</td> <td class="src"><pre class="src"> sb.append(<span class="string">' '</span>).append(txt).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"><a title="Line 184: Conditional coverage 100% (2/2)."> 438</a></td> <td class="src"><pre class="src"> <a title="Line 184: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence e : ec.iterator(confidenceFilter)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 848</td> <td class="src"><pre class="src"> String value = e.getValue();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsUncovered"><a title="Line 181: Conditional coverage 50% (1/2)."> 219</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 181: Conditional coverage 50% (1/2)."> <span class="keyword">final</span> String txt = (text == <span class="keyword">null</span>) ? <span class="string">""</span> : text;</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 182</td> <td class="nbHitsCovered"> 219</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(txt.length() + (20 * ec.size()));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsCovered"> 219</td> <td class="src"><pre class="src"> sb.append(<span class="string">' '</span>).append(txt).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"><a title="Line 184: Conditional coverage 100% (2/2)."> 219</a></td> <td class="src"><pre class="src"> <a title="Line 184: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence e : ec.iterator(confidenceFilter)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 409</td> <td class="src"><pre class="src"> String value = e.getValue();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//hack to get around the fact that lucene does a really good job of recognizing domains and not</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// splitting them. TODO - put together a better lucene analyzer specific to the domain.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"><a title="Line 189: Conditional coverage 100% (2/2)."> 848</a></td> <td class="src"><pre class="src"> <a title="Line 189: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"http://"</span>)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> value = value.substring(7).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"><a title="Line 189: Conditional coverage 100% (2/2)."> 409</a></td> <td class="src"><pre class="src"> <a title="Line 189: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"http://"</span>)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> value = value.substring(7).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 50% (1/2)."> 848</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 192: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"https://"</span>)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 50% (1/2)."> 409</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 192: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (value.startsWith(<span class="string">"https://"</span>)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> value = value.substring(8).replaceAll(<span class="string">"\\."</span>, <span class="string">" "</span>);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"><a title="Line 195: Conditional coverage 100% (2/2)."> 848</a></td> <td class="src"><pre class="src"> <a title="Line 195: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 546</td> <td class="src"><pre class="src"> sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"><a title="Line 195: Conditional coverage 100% (2/2)."> 409</a></td> <td class="src"><pre class="src"> <a title="Line 195: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (sb.indexOf(<span class="string">" "</span> + value + <span class="string">" "</span>) < 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 270</td> <td class="src"><pre class="src"> sb.append(value).append(<span class="string">' '</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 848</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 438</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString().trim();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 409</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 219</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString().trim();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
|
||||
@@ -383,13 +383,13 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> Confidence reduceConfidence(<span class="keyword">final</span> Confidence c) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsCovered"><a title="Line 209: Conditional coverage 100% (2/2)."> 152</a></td> <td class="src"><pre class="src"> <a title="Line 209: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == Confidence.HIGHEST) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.HIGH;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"><a title="Line 211: Conditional coverage 100% (2/2)."> 114</a></td> <td class="src"><pre class="src"> <a title="Line 211: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (c == Confidence.HIGH) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.MEDIUM;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsCovered"><a title="Line 209: Conditional coverage 100% (2/2)."> 76</a></td> <td class="src"><pre class="src"> <a title="Line 209: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (c == Confidence.HIGHEST) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.HIGH;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"><a title="Line 211: Conditional coverage 100% (2/2)."> 57</a></td> <td class="src"><pre class="src"> <a title="Line 211: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (c == Confidence.HIGH) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.MEDIUM;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 76</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
|
||||
@@ -438,23 +438,23 @@
|
||||
<td class="src"><pre class="src"> Set<String> vendorWeightings, Set<String> productWeightings)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">throws</span> CorruptIndexException, IOException, ParseException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 146</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ArrayList<IndexEntry> ret = <span class="keyword">new</span> ArrayList<IndexEntry>(MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 73</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ArrayList<IndexEntry> ret = <span class="keyword">new</span> ArrayList<IndexEntry>(MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"> 146</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"><a title="Line 242: Conditional coverage 50% (1/2)."> 146</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 242: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (searchString == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"> 73</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"><a title="Line 242: Conditional coverage 50% (1/2)."> 73</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 242: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (searchString == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 243</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> ret;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 146</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"><a title="Line 247: Conditional coverage 100% (2/2)."> 2444</a></td> <td class="src"><pre class="src"> <a title="Line 247: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ScoreDoc d : docs.scoreDocs) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"><a title="Line 248: Conditional coverage 100% (2/2)."> 2298</a></td> <td class="src"><pre class="src"> <a title="Line 248: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (d.score >= 0.08) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 73</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"><a title="Line 247: Conditional coverage 100% (2/2)."> 1222</a></td> <td class="src"><pre class="src"> <a title="Line 247: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ScoreDoc d : docs.scoreDocs) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"><a title="Line 248: Conditional coverage 100% (2/2)."> 1149</a></td> <td class="src"><pre class="src"> <a title="Line 248: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (d.score >= 0.08) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Document doc = cpe.getDocument(d.doc);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IndexEntry entry = <span class="keyword">new</span> IndexEntry();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> entry.setVendor(doc.get(Fields.VENDOR));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 252</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> entry.setProduct(doc.get(Fields.PRODUCT));</pre></td></tr>
|
||||
<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// if (d.score < 0.08) {</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
|
||||
@@ -469,16 +469,16 @@
|
||||
<td class="src"><pre class="src"> <span class="comment">// System.out.println(d.score);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// }</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> entry.setSearchScore(d.score);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 261</td> <td class="nbHitsUncovered"><a title="Line 261: Conditional coverage 50% (1/2)."> 1500</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 261: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 1500</td> <td class="src"><pre class="src"> ret.add(entry);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> entry.setSearchScore(d.score);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 261</td> <td class="nbHitsUncovered"><a title="Line 261: Conditional coverage 50% (1/2)."> 750</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 261: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!ret.contains(entry)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 750</td> <td class="src"><pre class="src"> ret.add(entry);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 146</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ret;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 73</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ret;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
|
||||
@@ -515,23 +515,23 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String buildSearch(String vendor, String product,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 284</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Set<String> vendorWeighting, Set<String> productWeightings) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String v = vendor; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String p = product; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(v.length() + p.length()</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 77</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String v = vendor; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 77</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String p = product; <span class="comment">//.replaceAll("[^\\w\\d]", " ");</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 77</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder(v.length() + p.length()</pre></td></tr>
|
||||
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> + Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 50% (1/2)."> 154</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 290: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 50% (1/2)."> 77</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 290: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 291</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> sb.append(<span class="string">" AND "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 294</td> <td class="nbHitsUncovered"><a title="Line 294: Conditional coverage 50% (1/2)."> 154</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 294: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 77</td> <td class="src"><pre class="src"> sb.append(<span class="string">" AND "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 294</td> <td class="nbHitsUncovered"><a title="Line 294: Conditional coverage 50% (1/2)."> 77</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 294: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 295</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 77</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
|
||||
<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
|
||||
@@ -560,47 +560,47 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 308</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(field).append(<span class="string">":( "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(field).append(<span class="string">":( "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 308</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cleanText = cleanseText(searchText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cleanText = cleanseText(searchText);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 316</td> <td class="nbHitsUncovered"><a title="Line 316: Conditional coverage 50% (1/2)."> 308</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 316: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">""</span>.equals(cleanText)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 316</td> <td class="nbHitsUncovered"><a title="Line 316: Conditional coverage 50% (1/2)."> 154</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 316: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (<span class="string">""</span>.equals(cleanText)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 317</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 318</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 319</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"><a title="Line 320: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 308</a></td> <td class="src"><pre class="src"> <a title="Line 320: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (weightedText == <span class="keyword">null</span> || weightedText.isEmpty()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"><a title="Line 320: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 154</a></td> <td class="src"><pre class="src"> <a title="Line 320: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (weightedText == <span class="keyword">null</span> || weightedText.isEmpty()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 322</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 228</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"><a title="Line 324: Conditional coverage 100% (2/2)."> 2434</a></td> <td class="src"><pre class="src"> <a title="Line 324: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 2206</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 2206</td> <td class="src"><pre class="src"> String temp = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"><a title="Line 327: Conditional coverage 100% (2/2)."> 2206</a></td> <td class="src"><pre class="src"> <a title="Line 327: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"> 4428</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 4428</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 502</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"><a title="Line 331: Conditional coverage 100% (2/2)."> 502</a></td> <td class="src"><pre class="src"> <a title="Line 331: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!word.equalsIgnoreCase(weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> temp += <span class="string">" "</span> + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 114</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(cleanText);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"><a title="Line 324: Conditional coverage 100% (2/2)."> 1211</a></td> <td class="src"><pre class="src"> <a title="Line 324: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (tokens.hasMoreElements()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 1097</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String word = tokens.nextToken();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 1097</td> <td class="src"><pre class="src"> String temp = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"><a title="Line 327: Conditional coverage 100% (2/2)."> 1097</a></td> <td class="src"><pre class="src"> <a title="Line 327: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String weighted : weightedText) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"> 2202</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String weightedStr = cleanseText(weighted);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 2202</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 251</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"><a title="Line 331: Conditional coverage 100% (2/2)."> 251</a></td> <td class="src"><pre class="src"> <a title="Line 331: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!word.equalsIgnoreCase(weightedStr)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> temp += <span class="string">" "</span> + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 4428</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"><a title="Line 336: Conditional coverage 100% (2/2)."> 2206</a></td> <td class="src"><pre class="src"> <a title="Line 336: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 1704</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 2202</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"><a title="Line 336: Conditional coverage 100% (2/2)."> 1097</a></td> <td class="src"><pre class="src"> <a title="Line 336: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (temp == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 846</td> <td class="src"><pre class="src"> temp = LuceneUtils.escapeLuceneQuery(word);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 2206</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 2206</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 1097</td> <td class="src"><pre class="src"> sb.append(<span class="string">" "</span>).append(temp);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 1097</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 341</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 308</td> <td class="src"><pre class="src"> sb.append(<span class="string">" ) "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 308</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> sb.append(<span class="string">" ) "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 154</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 344</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 345</td> <td class="nbHits"> </td>
|
||||
@@ -619,7 +619,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 352</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> String cleanseText(String text) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 4736</td> <td class="src"><pre class="src"> <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 2356</td> <td class="src"><pre class="src"> <span class="keyword">return</span> text.replaceAll(CLEANSE_CHARACTER_RX, <span class="string">" "</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 354</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 355</td> <td class="nbHits"> </td>
|
||||
@@ -640,15 +640,15 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> equalsIgnoreCaseAndNonAlpha(String l, String r) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsUncovered"><a title="Line 364: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 4428</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 364: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (l == <span class="keyword">null</span> || r == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 364</td> <td class="nbHitsUncovered"><a title="Line 364: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 2202</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 364: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (l == <span class="keyword">null</span> || r == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 365</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 366</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 367</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 4428</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"> 4428</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 4428</td> <td class="src"><pre class="src"> <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 2202</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String left = l.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"> 2202</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String right = r.replaceAll(CLEANSE_NONALPHA_RX, <span class="string">""</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 2202</td> <td class="src"><pre class="src"> <span class="keyword">return</span> left.equalsIgnoreCase(right);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 371</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 372</td> <td class="nbHits"> </td>
|
||||
@@ -671,18 +671,18 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 381</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> verifyEntry(<span class="keyword">final</span> IndexEntry entry, <span class="keyword">final</span> Dependency dependency) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 1458</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 729</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> isValid = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 383</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"><a title="Line 384: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 1458</a></td> <td class="src"><pre class="src"> <a title="Line 384: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"><a title="Line 384: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 729</a></td> <td class="src"><pre class="src"> <a title="Line 384: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 386</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//&& collectionContainsVersion(dependency.getVersionEvidence(), entry.getVersion())</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 387</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> isValid = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 387</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> isValid = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 388</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"> 1458</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isValid;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"> 729</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isValid;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 390</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 391</td> <td class="nbHits"> </td>
|
||||
@@ -727,14 +727,14 @@
|
||||
<td class="src"><pre class="src"> <span class="comment">//</editor-fold></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 411</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO - likely need to change the split... not sure if this will work for CPE with special chars</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 412</td> <td class="nbHitsUncovered"><a title="Line 412: Conditional coverage 50% (1/2)."> 1612</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 412: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 412</td> <td class="nbHitsUncovered"><a title="Line 412: Conditional coverage 50% (1/2)."> 806</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 412: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 413</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">false</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 414</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 1612</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 416</td> <td class="nbHitsCovered"> 1612</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<String> list = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 417</td> <td class="nbHitsCovered"> 1612</td> <td class="src"><pre class="src"> String tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 418</td> <td class="nbHitsCovered"><a title="Line 418: Conditional coverage 100% (2/2)."> 4556</a></td> <td class="src"><pre class="src"> <a title="Line 418: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 806</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String[] words = text.split(<span class="string">"[\\s_-]"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 416</td> <td class="nbHitsCovered"> 806</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<String> list = <span class="keyword">new</span> ArrayList<String>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 417</td> <td class="nbHitsCovered"> 806</td> <td class="src"><pre class="src"> String tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 418</td> <td class="nbHitsCovered"><a title="Line 418: Conditional coverage 100% (2/2)."> 2270</a></td> <td class="src"><pre class="src"> <a title="Line 418: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : words) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 419</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 420</td> <td class="nbHits"> </td>
|
||||
@@ -743,28 +743,28 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> so { "m", "core", "sample" } -> { "mcore", "sample" }</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 422</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"><a title="Line 423: Conditional coverage 100% (2/2)."> 2944</a></td> <td class="src"><pre class="src"> <a title="Line 423: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> list.add(tempWord + word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"><a title="Line 426: Conditional coverage 100% (2/2)."> 2910</a></td> <td class="src"><pre class="src"> <a title="Line 426: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() <= 2) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 80</td> <td class="src"><pre class="src"> tempWord = word;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"><a title="Line 423: Conditional coverage 100% (2/2)."> 1464</a></td> <td class="src"><pre class="src"> <a title="Line 423: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> list.add(tempWord + word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> tempWord = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"><a title="Line 426: Conditional coverage 100% (2/2)."> 1447</a></td> <td class="src"><pre class="src"> <a title="Line 426: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (word.length() <= 2) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> tempWord = word;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 428</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 2830</td> <td class="src"><pre class="src"> list.add(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 1407</td> <td class="src"><pre class="src"> list.add(word);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 430</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 431</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"><a title="Line 432: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 1612</a></td> <td class="src"><pre class="src"> <a title="Line 432: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> && !list.isEmpty()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String tmp = list.get(list.size() - 1) + tempWord;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> list.add(tmp);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"><a title="Line 432: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 806</a></td> <td class="src"><pre class="src"> <a title="Line 432: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (tempWord != <span class="keyword">null</span> && !list.isEmpty()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String tmp = list.get(list.size() - 1) + tempWord;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> list.add(tmp);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 435</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 436</td> <td class="nbHitsCovered"> 1612</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"><a title="Line 437: Conditional coverage 100% (2/2)."> 1612</a></td> <td class="src"><pre class="src"> <a title="Line 437: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 438</td> <td class="nbHitsCovered"> 2902</td> <td class="src"><pre class="src"> contains &= ec.containsUsedString(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 439</td> <td class="nbHitsCovered"> 2902</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"> 1612</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contains;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 436</td> <td class="nbHitsCovered"> 806</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> contains = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"><a title="Line 437: Conditional coverage 100% (2/2)."> 806</a></td> <td class="src"><pre class="src"> <a title="Line 437: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (String word : list) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 438</td> <td class="nbHitsCovered"> 1443</td> <td class="src"><pre class="src"> contains &= ec.containsUsedString(word);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 439</td> <td class="nbHitsCovered"> 1443</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"> 806</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contains;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 441</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 442</td> <td class="nbHits"> </td>
|
||||
@@ -789,15 +789,15 @@
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> analyze(Dependency dependency, Engine engine) <span class="keyword">throws</span> AnalysisException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 452</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 453</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> determineCPE(dependency);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 453</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> determineCPE(dependency);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 454</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (CorruptIndexException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 455</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"CPE Index is corrupt."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 456</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 457</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"Failure opening the CPE Index."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 458</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (ParseException ex) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 459</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> AnalysisException(<span class="string">"Unable to parse the generated Lucene query for this dependency."</span>, ex);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 460</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 461</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 460</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 461</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 462</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 463</td> <td class="nbHits"> </td>
|
||||
@@ -814,7 +814,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 469</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Set<String> getSupportedExtensions() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 470</td> <td class="nbHitsCovered"> 264</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 470</td> <td class="nbHitsCovered"> 132</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 471</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 472</td> <td class="nbHits"> </td>
|
||||
@@ -833,7 +833,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 479</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> String getName() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"CPE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="string">"CPE Analyzer"</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 481</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 482</td> <td class="nbHits"> </td>
|
||||
@@ -854,7 +854,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 490</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> supportsExtension(String extension) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 492</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 493</td> <td class="nbHits"> </td>
|
||||
@@ -873,7 +873,7 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 500</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> AnalysisPhase getAnalysisPhase() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 501</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.IDENTIFIER_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 501</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> AnalysisPhase.IDENTIFIER_ANALYSIS;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 502</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 503</td> <td class="nbHits"> </td>
|
||||
@@ -892,8 +892,8 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 510</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> initialize() <span class="keyword">throws</span> Exception {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 511</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 512</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 511</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.open();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 512</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 513</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 514</td> <td class="nbHits"> </td>
|
||||
@@ -918,43 +918,43 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 524</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> determineIdentifiers(Dependency dependency, String vendor, String product) <span class="keyword">throws</span> UnsupportedEncodingException {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 525</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 526</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> DependencyVersion bestGuess = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 527</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> Confidence bestGuessConf = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 528</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IdentifierMatch> collected = <span class="keyword">new</span> ArrayList<IdentifierMatch>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 529</td> <td class="nbHitsCovered"><a title="Line 529: Conditional coverage 100% (2/2)."> 710</a></td> <td class="src"><pre class="src"> <a title="Line 529: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Confidence conf : Confidence.values()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"><a title="Line 530: Conditional coverage 100% (2/2)."> 568</a></td> <td class="src"><pre class="src"> <a title="Line 530: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 531</td> <td class="nbHitsCovered"> 384</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 532</td> <td class="nbHitsUncovered"><a title="Line 532: Conditional coverage 50% (1/2)."> 384</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 532: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (evVer == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 525</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 526</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> DependencyVersion bestGuess = <span class="keyword">new</span> DependencyVersion(<span class="string">"-"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 527</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> Confidence bestGuessConf = <span class="keyword">null</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 528</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<IdentifierMatch> collected = <span class="keyword">new</span> ArrayList<IdentifierMatch>();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 529</td> <td class="nbHitsCovered"><a title="Line 529: Conditional coverage 100% (2/2)."> 355</a></td> <td class="src"><pre class="src"> <a title="Line 529: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Confidence conf : Confidence.values()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"><a title="Line 530: Conditional coverage 100% (2/2)."> 284</a></td> <td class="src"><pre class="src"> <a title="Line 530: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 531</td> <td class="nbHitsCovered"> 160</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 532</td> <td class="nbHitsUncovered"><a title="Line 532: Conditional coverage 50% (1/2)."> 160</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 532: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (evVer == <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 533</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">continue</span>;</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 534</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"><a title="Line 535: Conditional coverage 100% (2/2)."> 384</a></td> <td class="src"><pre class="src"> <a title="Line 535: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (VulnerableSoftware vs : cpes) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"><a title="Line 535: Conditional coverage 100% (2/2)."> 160</a></td> <td class="src"><pre class="src"> <a title="Line 535: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (VulnerableSoftware vs : cpes) {</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 536</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> DependencyVersion dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 537</td> <td class="nbHitsUncovered"><a title="Line 537: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 22696</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 537: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (vs.getRevision() != <span class="keyword">null</span> && !vs.getRevision().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 538</td> <td class="nbHitsCovered"> 7070</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + <span class="string">"."</span> + vs.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 537</td> <td class="nbHitsUncovered"><a title="Line 537: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 9104</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 537: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (vs.getRevision() != <span class="keyword">null</span> && !vs.getRevision().isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 538</td> <td class="nbHitsCovered"> 2855</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + <span class="string">"."</span> + vs.getRevision());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 539</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 15626</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 6249</td> <td class="src"><pre class="src"> dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());</pre></td></tr>
|
||||
<tr> <td class="numLine"> 541</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"><a title="Line 542: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 22696</a></td> <td class="src"><pre class="src"> <a title="Line 542: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (dbVer == <span class="keyword">null</span> <span class="comment">//special case, no version specified - everything is vulnerable</span></a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"><a title="Line 542: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 9104</a></td> <td class="src"><pre class="src"> <a title="Line 542: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (dbVer == <span class="keyword">null</span> <span class="comment">//special case, no version specified - everything is vulnerable</span></a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 543</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> || evVer.equals(dbVer)) { <span class="comment">//yeah! exact match</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 544</td> <td class="nbHitsCovered"> 402</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = String.format(<span class="string">"http://web.nvd.nist.gov/view/vuln/search?cpe=%s"</span>, URLEncoder.encode(vs.getName(), <span class="string">"UTF-8"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"> 402</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 402</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 547</td> <td class="nbHitsCovered"> 402</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 544</td> <td class="nbHitsCovered"> 169</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = String.format(<span class="string">"http://web.nvd.nist.gov/view/vuln/search?cpe=%s"</span>, URLEncoder.encode(vs.getName(), <span class="string">"UTF-8"</span>));</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"> 169</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 169</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 547</td> <td class="nbHitsCovered"> 169</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 548</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//TODO the following isn't quite right is it? need to think about this guessing game a bit more.</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"><a title="Line 549: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 22294</a></td> <td class="src"><pre class="src"> <a title="Line 549: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"><a title="Line 549: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 8935</a></td> <td class="src"><pre class="src"> <a title="Line 549: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 550</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && evVer.matchesAtLeastThreeLevels(dbVer)) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 551</td> <td class="nbHitsUncovered"><a title="Line 551: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 832</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 551: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 552</td> <td class="nbHitsUncovered"><a title="Line 552: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 552: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 553</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> bestGuess = dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 554</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 551</td> <td class="nbHitsUncovered"><a title="Line 551: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 412</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 551: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 552</td> <td class="nbHitsUncovered"><a title="Line 552: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 552: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 553</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> bestGuess = dbVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 554</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 555</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 556</td> <td class="nbHits"> </td>
|
||||
@@ -963,48 +963,48 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 558</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 22696</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 560</td> <td class="nbHitsUncovered"><a title="Line 560: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 384</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 560: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 561</td> <td class="nbHitsUncovered"><a title="Line 561: Conditional coverage 50% (1/2)."> 98</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 561: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 562</td> <td class="nbHitsCovered"> 98</td> <td class="src"><pre class="src"> bestGuess = evVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 563</td> <td class="nbHitsCovered"> 98</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 9104</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 560</td> <td class="nbHitsUncovered"><a title="Line 560: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 160</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 560: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span> || bestGuessConf.compareTo(conf) > 0) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 561</td> <td class="nbHitsUncovered"><a title="Line 561: Conditional coverage 50% (1/2)."> 49</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 561: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 562</td> <td class="nbHitsCovered"> 49</td> <td class="src"><pre class="src"> bestGuess = evVer;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 563</td> <td class="nbHitsCovered"> 49</td> <td class="src"><pre class="src"> bestGuessConf = conf;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 564</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 565</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 384</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 160</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 567</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 568</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeName = String.format(<span class="string">"cpe:/a:%s:%s:%s"</span>, vendor, product, bestGuess.toString());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = <span class="keyword">null</span>; <span class="comment">//String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s", URLEncoder.encode(cpeName, "UTF-8"));</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 570</td> <td class="nbHitsCovered"><a title="Line 570: Conditional coverage 100% (2/2)."> 142</a></td> <td class="src"><pre class="src"> <a title="Line 570: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 571</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> bestGuessConf = Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 568</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String cpeName = String.format(<span class="string">"cpe:/a:%s:%s:%s"</span>, vendor, product, bestGuess.toString());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = <span class="keyword">null</span>; <span class="comment">//String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s", URLEncoder.encode(cpeName, "UTF-8"));</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 570</td> <td class="nbHitsCovered"><a title="Line 570: Conditional coverage 100% (2/2)."> 71</a></td> <td class="src"><pre class="src"> <a title="Line 570: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (bestGuessConf == <span class="keyword">null</span>) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 571</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> bestGuessConf = Confidence.LOW;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 572</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 573</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 574</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 573</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierMatch match = <span class="keyword">new</span> IdentifierMatch(<span class="string">"cpe"</span>, cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 574</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> collected.add(match);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 575</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> Collections.sort(collected);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 577</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"><a title="Line 579: Conditional coverage 100% (2/2)."> 142</a></td> <td class="src"><pre class="src"> <a title="Line 579: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IdentifierMatch m : collected) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"><a title="Line 580: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 544</a></td> <td class="src"><pre class="src"> <a title="Line 580: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (bestIdentifierQuality.equals(m.getConfidence())</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> Collections.sort(collected);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 577</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"><a title="Line 579: Conditional coverage 100% (2/2)."> 71</a></td> <td class="src"><pre class="src"> <a title="Line 579: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (IdentifierMatch m : collected) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"><a title="Line 580: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 240</a></td> <td class="src"><pre class="src"> <a title="Line 580: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (bestIdentifierQuality.equals(m.getConfidence())</a></pre></td></tr>
|
||||
<tr> <td class="numLine"> 581</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> && bestEvidenceQuality.equals(m.getEvidenceConfidence())) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 582</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Identifier i = m.getIdentifier();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 583</td> <td class="nbHitsCovered"><a title="Line 583: Conditional coverage 100% (2/2)."> 216</a></td> <td class="src"><pre class="src"> <a title="Line 583: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 584</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> i.setConfidence(Confidence.LOW);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 582</td> <td class="nbHitsCovered"> 88</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Identifier i = m.getIdentifier();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 583</td> <td class="nbHitsCovered"><a title="Line 583: Conditional coverage 100% (2/2)."> 88</a></td> <td class="src"><pre class="src"> <a title="Line 583: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 584</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> i.setConfidence(Confidence.LOW);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 585</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 170</td> <td class="src"><pre class="src"> i.setConfidence(bestEvidenceQuality);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 65</td> <td class="src"><pre class="src"> i.setConfidence(bestEvidenceQuality);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 587</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 588</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> dependency.addIdentifier(i);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 588</td> <td class="nbHitsCovered"> 88</td> <td class="src"><pre class="src"> dependency.addIdentifier(i);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 589</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 590</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 142</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 590</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 71</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 592</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 593</td> <td class="nbHits"> </td>
|
||||
@@ -1013,7 +1013,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * The confidence whether the identifier is an exact match, or a best guess.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 595</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 596</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">private</span> enum IdentifierConfidence {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 596</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">private</span> enum IdentifierConfidence {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 597</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 598</td> <td class="nbHits"> </td>
|
||||
@@ -1022,14 +1022,14 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * An exact match for the CPE.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 600</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> EXACT_MATCH,</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> EXACT_MATCH,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 602</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 603</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * A best guess for the CPE.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 604</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> BEST_GUESS</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> BEST_GUESS</pre></td></tr>
|
||||
<tr> <td class="numLine"> 606</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 607</td> <td class="nbHits"> </td>
|
||||
@@ -1040,7 +1040,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * A simple object to hold an identifier and carry information about the confidence in the identifier.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 610</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 611</td> <td class="nbHitsCovered"> 674</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">class</span> IdentifierMatch <span class="keyword">implements</span> Comparable<IdentifierMatch> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 611</td> <td class="nbHitsCovered"> 265</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">class</span> IdentifierMatch <span class="keyword">implements</span> Comparable<IdentifierMatch> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 612</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 613</td> <td class="nbHits"> </td>
|
||||
@@ -1061,11 +1061,11 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidenceConfidence the confidence of the evidence used to find the identifier</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 621</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 622</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 623</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.identifier = <span class="keyword">new</span> Identifier(type, value, url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 624</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.confidence = identifierConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 625</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.evidenceConfidence = evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 626</td> <td class="nbHitsCovered"> 544</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 622</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 623</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.identifier = <span class="keyword">new</span> Identifier(type, value, url);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 624</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.confidence = identifierConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 625</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.evidenceConfidence = evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 626</td> <td class="nbHitsCovered"> 240</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 627</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">//<editor-fold defaultstate="collapsed" desc="Property implementations: evidenceConfidence, confidence, identifier"></span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 628</td> <td class="nbHits"> </td>
|
||||
@@ -1090,7 +1090,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 638</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Confidence getEvidenceConfidence() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 639</td> <td class="nbHitsCovered"> 590</td> <td class="src"><pre class="src"> <span class="keyword">return</span> evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 639</td> <td class="nbHitsCovered"> 263</td> <td class="src"><pre class="src"> <span class="keyword">return</span> evidenceConfidence;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 640</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 641</td> <td class="nbHits"> </td>
|
||||
@@ -1131,7 +1131,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 660</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> IdentifierConfidence getConfidence() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 661</td> <td class="nbHitsCovered"> 686</td> <td class="src"><pre class="src"> <span class="keyword">return</span> confidence;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 661</td> <td class="nbHitsCovered"> 311</td> <td class="src"><pre class="src"> <span class="keyword">return</span> confidence;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 662</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 663</td> <td class="nbHits"> </td>
|
||||
@@ -1172,7 +1172,7 @@
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 682</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> Identifier getIdentifier() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 683</td> <td class="nbHitsCovered"> 216</td> <td class="src"><pre class="src"> <span class="keyword">return</span> identifier;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 683</td> <td class="nbHitsCovered"> 88</td> <td class="src"><pre class="src"> <span class="keyword">return</span> identifier;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 684</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 685</td> <td class="nbHits"> </td>
|
||||
@@ -1303,16 +1303,16 @@
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 758</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">int</span> compareTo(IdentifierMatch o) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 759</td> <td class="nbHitsCovered"> 674</td> <td class="src"><pre class="src"> <span class="keyword">int</span> conf = <span class="keyword">this</span>.confidence.compareTo(o.confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 760</td> <td class="nbHitsCovered"><a title="Line 760: Conditional coverage 100% (2/2)."> 674</a></td> <td class="src"><pre class="src"> <a title="Line 760: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 761</td> <td class="nbHitsCovered"> 522</td> <td class="src"><pre class="src"> conf = <span class="keyword">this</span>.evidenceConfidence.compareTo(o.evidenceConfidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 762</td> <td class="nbHitsCovered"><a title="Line 762: Conditional coverage 100% (2/2)."> 522</a></td> <td class="src"><pre class="src"> <a title="Line 762: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 763</td> <td class="nbHitsCovered"> 286</td> <td class="src"><pre class="src"> conf = identifier.compareTo(o.identifier);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 759</td> <td class="nbHitsCovered"> 265</td> <td class="src"><pre class="src"> <span class="keyword">int</span> conf = <span class="keyword">this</span>.confidence.compareTo(o.confidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 760</td> <td class="nbHitsCovered"><a title="Line 760: Conditional coverage 100% (2/2)."> 265</a></td> <td class="src"><pre class="src"> <a title="Line 760: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 761</td> <td class="nbHitsCovered"> 193</td> <td class="src"><pre class="src"> conf = <span class="keyword">this</span>.evidenceConfidence.compareTo(o.evidenceConfidence);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 762</td> <td class="nbHitsCovered"><a title="Line 762: Conditional coverage 100% (2/2)."> 193</a></td> <td class="src"><pre class="src"> <a title="Line 762: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (conf == 0) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 763</td> <td class="nbHitsCovered"> 83</td> <td class="src"><pre class="src"> conf = identifier.compareTo(o.identifier);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 764</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 765</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 766</td> <td class="nbHitsCovered"> 674</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conf;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 766</td> <td class="nbHitsCovered"> 265</td> <td class="src"><pre class="src"> <span class="keyword">return</span> conf;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 767</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 768</td> <td class="nbHits"> </td>
|
||||
@@ -1321,6 +1321,6 @@
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 1/26/14 11:11 AM.</div>
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.0.3 on 1/30/14 6:03 AM.</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user