<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Coverage Report</title>
<link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/>
<link title="Style" type="text/css" rel="stylesheet" href="css/sortabletable.css"/>
<script type="text/javascript" src="js/popup.js"></script>
<script type="text/javascript" src="js/sortabletable.js"></script>
<script type="text/javascript" src="js/customsorttypes.js"></script>
</head>
<body>
<h5>Coverage Report - All Packages</h5>
<div class="separator">&nbsp;</div>
<table class="report" id="packageResults">
<thead><tr>  <td class="heading">Package</td>  <td class="heading"># Classes</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>
<tbody>
  <tr><td><b>All Packages</b></td><td class="value">54</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/1023</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/282</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.3384615384615384;</span>1.338</td></tr>
  <tr><td><a href="frame-summary-org.apache.maven.archiva.dependency.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.maven.archiva.dependency.html"'>org.apache.maven.archiva.dependency</a></td><td class="value">1</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/48</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/8</span></div></div></td></tr></table></td><td class="value"><span class="hidden">0.0;</span>0</td></tr>
  <tr><td><a href="frame-summary-org.apache.maven.archiva.dependency.graph.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.maven.archiva.dependency.graph.html"'>org.apache.maven.archiva.dependency.graph</a></td><td class="value">13</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/326</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/102</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.4772727272727273;</span>1.477</td></tr>
  <tr><td><a href="frame-summary-org.apache.maven.archiva.dependency.graph.functors.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.maven.archiva.dependency.graph.functors.html"'>org.apache.maven.archiva.dependency.graph.functors</a></td><td class="value">14</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/113</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/42</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.5;</span>1.5</td></tr>
  <tr><td><a href="frame-summary-org.apache.maven.archiva.dependency.graph.tasks.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.maven.archiva.dependency.graph.tasks.html"'>org.apache.maven.archiva.dependency.graph.tasks</a></td><td class="value">29</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/445</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/104</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.2105263157894737;</span>1.211</td></tr>
  <tr><td><a href="frame-summary-org.apache.maven.archiva.dependency.graph.walk.html" onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.maven.archiva.dependency.graph.walk.html"'>org.apache.maven.archiva.dependency.graph.walk</a></td><td class="value">5</td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/91</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">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/26</span></div></div></td></tr></table></td><td class="value"><span class="hidden">1.0;</span>1</td></tr>
</tbody>
</table>
<script type="text/javascript">
var packageTable = new SortableTable(document.getElementById("packageResults"),
    ["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
packageTable.sort(0);
</script>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 1.9 on 5/27/11 9:28 AM.</div>
</body>
</html>
