mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-02-25 11:55:21 +01:00
documentation v1.3.2
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<div class="separator"> </div>
|
||||
<table class="report">
|
||||
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
|
||||
<tr><td><a href="org.owasp.dependencycheck.analyzer.PythonPackageAnalyzer.html">PythonPackageAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">92%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:92px"><span class="text">61/66</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">77%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:77px"><span class="text">14/18</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.0;</span>2</td></tr>
|
||||
<tr><td><a href="org.owasp.dependencycheck.analyzer.PythonPackageAnalyzer.html">PythonPackageAnalyzer</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">92%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:92px"><span class="text">63/68</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">75%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:75px"><span class="text">15/20</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.090909090909091;</span>2.091</td></tr>
|
||||
|
||||
</table>
|
||||
<div class="separator"> </div>
|
||||
@@ -334,7 +334,7 @@
|
||||
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param dependency the dependency being analyzed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param engine the engine being used to perform the scan</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param engine the engine being used to perform the scan</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 168</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws AnalysisException thrown if there is an unrecoverable error analyzing the dependency</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
|
||||
@@ -350,235 +350,239 @@
|
||||
<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String parentName = parent.getName();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> found = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 177</td> <td class="nbHitsUncovered"><a title="Line 177: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 177: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (INIT_PY_FILTER.accept(file)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"><a title="Line 178: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 178: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> File sourceFile : parent.listFiles(PY_FILTER)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= analyzeFileContents(dependency, sourceFile);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> File[] fileList = parent.listFiles(PY_FILTER);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 179</td> <td class="nbHitsUncovered"><a title="Line 179: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 179: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (fileList != <span class="keyword">null</span>) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"><a title="Line 180: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 180: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> File sourceFile : fileList) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= analyzeFileContents(dependency, sourceFile);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 183</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 182</td> <td class="nbHitsUncovered"><a title="Line 182: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 182: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (found) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> dependency.setDisplayFileName(parentName + <span class="string">"/__init__.py"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> dependency.getProductEvidence().addEvidence(file.getName(),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 185</td> <td class="nbHitsUncovered"><a title="Line 185: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 185: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (found) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 186</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> dependency.setDisplayFileName(parentName + <span class="string">"/__init__.py"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> dependency.getProductEvidence().addEvidence(file.getName(),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="string">"PackageName"</span>, parentName, Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// copy, alter and set in case some other thread is iterating over</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 188</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> List<Dependency> dependencies = <span class="keyword">new</span> ArrayList<Dependency>(</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> engine.getDependencies());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 190</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> dependencies.remove(dependency);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 191</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> engine.setDependencies(dependencies);</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">// copy, alter and set in case some other thread is iterating over</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 191</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">final</span> List<Dependency> dependencies = <span class="keyword">new</span> ArrayList<Dependency>(</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<td class="src"><pre class="src"> engine.getDependencies());</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> dependencies.remove(dependency);</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 194</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> engine.setDependencies(dependencies);</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * This should gather information from leading docstrings, file comments, and assignments to __version__, __title__,</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * __summary__, __uri__, __url__, __home*page__, __author__, and their all caps equivalents.</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param dependency the dependency being analyzed</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * This should gather information from leading docstrings, file comments, and assignments to __version__, __title__,</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param file the file name to analyze</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * __summary__, __uri__, __url__, __home*page__, __author__, and their all caps equivalents.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return whether evidence was found</span></pre></td></tr>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws AnalysisException thrown if there is an unrecoverable error</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> analyzeFileContents(Dependency dependency, File file)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">throws</span> AnalysisException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String contents;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> contents = FileUtils.readFileToString(file).trim();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 209</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException e) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 210</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></pre></td></tr>
|
||||
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="string">"Problem occurred while reading dependency file."</span>, e);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> found = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 214</td> <td class="nbHitsUncovered"><a title="Line 214: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 214: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!contents.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String source = file.getName();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found = gatherEvidence(VERSION_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getVersionEvidence(), <span class="string">"SourceVersion"</span>,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= addSummaryInfo(dependency, SUMMARY_PATTERN, 4, contents,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, <span class="string">"summary"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"><a title="Line 221: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 221: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (INIT_PY_FILTER.accept(file)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> found |= addSummaryInfo(dependency, MODULE_DOCSTRING, 2,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> contents, source, <span class="string">"docstring"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 224</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherEvidence(TITLE_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getProductEvidence(), <span class="string">"SourceTitle"</span>,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence.LOW);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> EvidenceCollection vendorEvidence = dependency</pre></td></tr>
|
||||
<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> .getVendorEvidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherEvidence(AUTHOR_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> vendorEvidence, <span class="string">"SourceAuthor"</span>, Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherHomePageEvidence(URI_PATTERN, vendorEvidence,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, <span class="string">"URL"</span>, contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherHomePageEvidence(HOMEPAGE_PATTERN,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> vendorEvidence, source, <span class="string">"HomePage"</span>, contents);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 237</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Adds summary information to the dependency</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param dependency the dependency being analyzed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern the pattern used to perform analysis</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param group the group from the pattern that indicates the data to use</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents the data being analyzed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source the source name to use when recording the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param key the key name to use when recording the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true if evidence was collected; otherwise false</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> addSummaryInfo(Dependency dependency, Pattern pattern,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">int</span> group, String contents, String source, String key) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> found = matcher.find();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 255</td> <td class="nbHitsCovered"><a title="Line 255: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 255: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (found) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> JarAnalyzer.addDescription(dependency, matcher.group(group),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 257</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, key);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Collects evidence from the home page URL.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern the pattern to match</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidence the evidence collection to add the evidence to</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source the source of the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param name the name of the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents the home page URL</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true if evidence was collected; otherwise false</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> gatherHomePageEvidence(Pattern pattern,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> EvidenceCollection evidence, String source, String name,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String contents) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> found = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"><a title="Line 277: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 277: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matcher.find()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = matcher.group(4);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsUncovered"><a title="Line 279: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 279: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (UrlStringUtils.isUrl(url)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> found = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> evidence.addEvidence(source, name, url, Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 282</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 283</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 286</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Gather evidence from a Python source file using the given string assignment regex pattern.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 290</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern to scan contents with</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents of Python source file</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source for storing evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidence to store evidence in</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param name of evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param confidence in evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param file the file name to analyze</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return whether evidence was found</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @throws AnalysisException thrown if there is an unrecoverable error</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> gatherEvidence(Pattern pattern, String contents,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String source, EvidenceCollection evidence, String name,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 300</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence confidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> found = matcher.find();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"><a title="Line 303: Conditional coverage 100% (2/2)."> 9</a></td> <td class="src"><pre class="src"> <a title="Line 303: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (found) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> evidence.addEvidence(source, name, matcher.group(4), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> analyzeFileContents(Dependency dependency, File file)</pre></td></tr>
|
||||
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">throws</span> AnalysisException {</pre></td></tr>
|
||||
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String contents;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> contents = FileUtils.readFileToString(file).trim();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 212</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException e) {</span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 213</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></pre></td></tr>
|
||||
<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="string">"Problem occurred while reading dependency file."</span>, e);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> found = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 217</td> <td class="nbHitsUncovered"><a title="Line 217: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 217: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!contents.isEmpty()) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String source = file.getName();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found = gatherEvidence(VERSION_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getVersionEvidence(), <span class="string">"SourceVersion"</span>,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= addSummaryInfo(dependency, SUMMARY_PATTERN, 4, contents,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, <span class="string">"summary"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (INIT_PY_FILTER.accept(file)) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> found |= addSummaryInfo(dependency, MODULE_DOCSTRING, 2,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> contents, source, <span class="string">"docstring"</span>);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherEvidence(TITLE_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> dependency.getProductEvidence(), <span class="string">"SourceTitle"</span>,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence.LOW);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">final</span> EvidenceCollection vendorEvidence = dependency</pre></td></tr>
|
||||
<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> .getVendorEvidence();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherEvidence(AUTHOR_PATTERN, contents, source,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> vendorEvidence, <span class="string">"SourceAuthor"</span>, Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherHomePageEvidence(URI_PATTERN, vendorEvidence,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, <span class="string">"URL"</span>, contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 237</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> found |= gatherHomePageEvidence(HOMEPAGE_PATTERN,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> vendorEvidence, source, <span class="string">"HomePage"</span>, contents);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 307</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 309</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 310</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String getAnalyzerEnabledSettingKey() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 311</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Settings.KEYS.ANALYZER_PYTHON_PACKAGE_ENABLED;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 312</td> <td class="nbHits"> </td>
|
||||
<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Adds summary information to the dependency</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param dependency the dependency being analyzed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern the pattern used to perform analysis</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param group the group from the pattern that indicates the data to use</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents the data being analyzed</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source the source name to use when recording the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param key the key name to use when recording the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true if evidence was collected; otherwise false</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> addSummaryInfo(Dependency dependency, Pattern pattern,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">int</span> group, String contents, String source, String key) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> found = matcher.find();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"><a title="Line 258: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 258: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (found) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> JarAnalyzer.addDescription(dependency, matcher.group(group),</pre></td></tr>
|
||||
<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> source, key);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 262</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</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"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Collects evidence from the home page URL.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern the pattern to match</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidence the evidence collection to add the evidence to</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source the source of the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param name the name of the evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents the home page URL</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return true if evidence was collected; otherwise false</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 275</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> gatherHomePageEvidence(Pattern pattern,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 276</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> EvidenceCollection evidence, String source, String name,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 277</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String contents) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> found = <span class="keyword">false</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"><a title="Line 280: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 280: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (matcher.find()) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String url = matcher.group(4);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 282</td> <td class="nbHitsUncovered"><a title="Line 282: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 282: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (UrlStringUtils.isUrl(url)) {</a></span></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> found = <span class="keyword">true</span>;</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> evidence.addEvidence(source, name, url, Confidence.MEDIUM);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 286</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</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="numLine"> 290</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * Gather evidence from a Python source file using the given string assignment regex pattern.</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param pattern to scan contents with</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param contents of Python source file</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param source for storing evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param evidence to store evidence in</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param name of evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @param confidence in evidence</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> * @return whether evidence was found</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 300</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
|
||||
<tr> <td class="numLine"> 301</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> gatherEvidence(Pattern pattern, String contents,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 302</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> String source, EvidenceCollection evidence, String name,</pre></td></tr>
|
||||
<tr> <td class="numLine"> 303</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> Confidence confidence) {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Matcher matcher = pattern.matcher(contents);</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> found = matcher.find();</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"><a title="Line 306: Conditional coverage 100% (2/2)."> 9</a></td> <td class="src"><pre class="src"> <a title="Line 306: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (found) {</a></pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> evidence.addEvidence(source, name, matcher.group(4), confidence);</pre></td></tr>
|
||||
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">return</span> found;</pre></td></tr>
|
||||
<tr> <td class="numLine"> 310</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> }</pre></td></tr>
|
||||
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> </pre></td></tr>
|
||||
<tr> <td class="numLine"> 312</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> @Override</pre></td></tr>
|
||||
<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
|
||||
<td class="src"><pre class="src"> <span class="keyword">protected</span> String getAnalyzerEnabledSettingKey() {</pre></td></tr>
|
||||
<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Settings.KEYS.ANALYZER_PYTHON_PACKAGE_ENABLED;</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="numLine"> 316</td> <td class="nbHits"> </td>
|
||||
<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.1.1 on 9/20/15 6:47 AM.</div>
|
||||
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 11/29/15 7:26 AM.</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user