<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-11-14 
 | Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20161114" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Shiro :: Configuration :: OGDL &#x2013; DashBoard Report</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>

                      </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                                  <a href=".." id="bannerLeft">
                                                                                                <img src="../images/apache-shiro-logo.png"  alt="Shiro"/>
                </a>
                      </div>
        <div class="pull-right">              <div id="bannerRight">
                                                                                                <img src="../images/asf_logo.png" />
                </div>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
              
                              <li class="">
                    <a href="../index.html" title="Apache Shiro :: Configuration :: OGDL">
        Apache Shiro :: Configuration :: OGDL</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="index.html" title="Apache Shiro :: Configuration :: OGDL">
        Apache Shiro :: Configuration :: OGDL</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">DashBoard Report</li>
        
              
                  <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-11-14</li>
              <li id="projectVersion" class="pull-right">
                    Version: 1.4.0-RC2
        </li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
              
                <ul class="nav nav-list">
                    <li class="nav-header">Parent Project</li>
                              
      <li>
  
                          <a href="../index.html" title="Apache Shiro">
          <span class="none"></span>
        Apache Shiro</a>
            </li>
                                        <li class="nav-header">Project Documentation</li>
                                                                                                                                                                                                                                                                                                                          
      <li>
  
                          <a href="project-info.html" title="Project Information">
          <span class="icon-chevron-right"></span>
        Project Information</a>
                  </li>
                                                                                                                                                                                        
      <li>
  
                          <a href="project-reports.html" title="Project Reports">
          <span class="icon-chevron-down"></span>
        Project Reports</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="xref/index.html" title="Source Xref">
          <span class="none"></span>
        Source Xref</a>
            </li>
                    
      <li>
  
                          <a href="pmd.html" title="PMD">
          <span class="none"></span>
        PMD</a>
            </li>
                    
      <li>
  
                          <a href="surefire-report.html" title="Surefire Report">
          <span class="none"></span>
        Surefire Report</a>
            </li>
                    
      <li>
  
                          <a href="taglist.html" title="Tag List">
          <span class="none"></span>
        Tag List</a>
            </li>
                    
      <li>
  
                          <a href="jdepend-report.html" title="JDepend">
          <span class="none"></span>
        JDepend</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><span class="none"></span>DashBoard Report</a>
          </li>
                    
      <li>
  
                          <a href="jacoco/index.html" title="JaCoCo">
          <span class="none"></span>
        JaCoCo</a>
            </li>
              </ul>
        </li>
            </ul>
              
                
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span10" >
                                  
            <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /><link rel="stylesheet" href="./css/dashboard.css" type="text/css" media="all" /><link rel="stylesheet" href="./css/dashboard2.css" type="text/css" media="all" /><!--[if IE]><link rel="stylesheet" href="./css/dashboard2IE.css" type="text/css" media="all" /><![endif]--><a name="top"></a>
<div class="section">
<h2><a name="DashBoard_Report"></a>DashBoard Report</h2>Date Generated: 11/14/16 3:06 PM<hr />[<a href="#surefire">Maven Surefire Report Summary</a>]<br />[<a href="#pmd">PMD Report Summary</a>]<br />[<a href="#cpd">CPD Report Summary</a>]<br />[<a href="#jdepend">Xref JDepend/Cobertura Report Summary</a>]<br />[<a href="#taglist">Taglist Report Summary</a>]<br /><hr /><br /></div>
<div class="section">
<h3><a name="Maven_Surefire_Report_Summary"></a><a name="surefire"></a><a href="./surefire-report.html">Maven Surefire Report Summary</a></h3><b>[<a href="#top">Top</a>]</b><br /></div><br />
<table border="0" class="table table-striped">
<tr class="a">
<th>Success Rate</th>
<th>Tests</th>
<th>Errors</th>
<th>Failures</th>
<th>Skipped</th>
<th>Time</th></tr>
<tr class="b"><td class="surefire"><div class="percentOuter"><div class="percentInner" style="width: 100px;"><span class="percentLabel">100%</span></div></div></td>
<td>33</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0.849</td></tr></table><br /><img src="images/Apache_Shiro_--_Configuration_--_OGDL_Surefire.png" alt="" />
<div class="section">
<h3><a name="PMD_Report_Summary"></a><a name="pmd"></a><a href="./pmd.html">PMD Report Summary</a></h3><b>[<a href="#top">Top</a>]</b><br /></div><br />
<table border="0" class="table table-striped">
<tr class="a">
<th># Classes</th>
<th>Violations</th></tr>
<tr class="b">
<td>1</td>
<td>3</td></tr></table><br />
<div class="section">
<h3><a name="CPD_Report_Summary"></a><a name="cpd"></a><a href="./cpd.html">CPD Report Summary</a></h3><b>[<a href="#top">Top</a>]</b><br /></div><br />
<table border="0" class="table table-striped">
<tr class="a">
<th># Classes</th>
<th>Duplications</th></tr>
<tr class="b">
<td>0</td>
<td>0</td></tr></table><br />
<div class="section">
<h3><a name="Xref_JDependCobertura_Report_Summary"></a><a name="jdepend"></a><a href="./jdepend-report.html">Xref JDepend/Cobertura Report Summary</a></h3><b>[<a href="#top">Top</a>]</b><br /></div><br />
<h4><a name="Afferent_Coupling_Average__0.5_Nb_Packages__2"></a>Afferent Coupling Average = 0.5<br /> Nb Packages = 2</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Package</th>
<th>Afferent Coupling</th>
<th>Line Coverage</th>
<th>Branch Coverage</th></tr>
<tr class="b">
<td>org.apache.shiro.config.event</td>
<td>1</td><td class="cobertura"><div class="percentOuter"><div class="percentInner" style="width: 0px;"><span class="percentLabel">0%</span></div></div></td><td class="cobertura"><div class="percentOuter"><div class="percentInner" style="width: 0px;"><span class="percentLabel">0%</span></div></div></td></tr>
<tr class="a">
<td><b>Average Threshold</b></td>
<td><b>0.5</b></td></tr>
<tr class="b">
<td>org.apache.shiro.config</td>
<td>0</td><td class="cobertura"><div class="percentOuter"><div class="percentInner" style="width: 0px;"><span class="percentLabel">0%</span></div></div></td><td class="cobertura"><div class="percentOuter"><div class="percentInner" style="width: 0px;"><span class="percentLabel">0%</span></div></div></td></tr></table><br />
<div class="section">
<h3><a name="Taglist_Report_Summary"></a><a name="taglist"></a><a href="./taglist.html">Taglist Report Summary</a></h3><b>[<a href="#top">Top</a>]</b><br /></div>
<table border="0" class="table table-striped">
<tr class="a">
<th>Tags</th>
<th>Total number of occurrences</th></tr>
<tr class="b">
<td>Deprecated</td>
<td>0</td></tr>
<tr class="a">
<td>Todo Work</td>
<td>1</td></tr>
<tr class="b">
<th>Total</th>
<th>1</th></tr>
<tr class="a">
<th># Classes</th>
<th>1</th></tr></table><br /><img src="images/Apache_Shiro_--_Configuration_--_OGDL_Taglist.png" alt="" />
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                                      <p >Copyright &copy;                    2004&#x2013;2016
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.    
      </p>
                </div>

        
                </div>
    </footer>
        </body>
</html>