blob: 2a78e5047a2292d74b8ec998a5869bf30cb71d7a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="Apache Shiro :: Support :: Spring"><sessioninfo id="yupiik-fpapon-dc2b4a21" start="1573209075305" dump="1573209079411"/><sessioninfo id="yupiik-fpapon-d3d749b7" start="1573719768803" dump="1573719773369"/><package name="org/apache/shiro/spring/web/config"><class name="org/apache/shiro/spring/web/config/ShiroFilterChainDefinition" sourcefilename="ShiroFilterChainDefinition.java"/><class name="org/apache/shiro/spring/web/config/AbstractShiroWebFilterConfiguration" sourcefilename="AbstractShiroWebFilterConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shiroFilterFactoryBean" desc="()Lorg/apache/shiro/spring/web/ShiroFilterFactoryBean;" line="48"><counter type="INSTRUCTION" missed="27" covered="0"/><counter type="LINE" missed="7" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="30" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/apache/shiro/spring/web/config/AbstractShiroWebConfiguration" sourcefilename="AbstractShiroWebConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nativeSessionManager" desc="()Lorg/apache/shiro/session/mgt/SessionManager;" line="92"><counter type="INSTRUCTION" missed="30" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="sessionCookieTemplate" desc="()Lorg/apache/shiro/web/servlet/Cookie;" line="105"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeCookieTemplate" desc="()Lorg/apache/shiro/web/servlet/Cookie;" line="114"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildCookie" desc="(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Z)Lorg/apache/shiro/web/servlet/Cookie;" line="123"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionManager" desc="()Lorg/apache/shiro/session/mgt/SessionManager;" line="135"><counter type="INSTRUCTION" missed="3" covered="7"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeManager" desc="()Lorg/apache/shiro/mgt/RememberMeManager;" line="142"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectFactory" desc="()Lorg/apache/shiro/mgt/SubjectFactory;" line="149"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionStorageEvaluator" desc="()Lorg/apache/shiro/mgt/SessionStorageEvaluator;" line="154"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSecurityManager" desc="()Lorg/apache/shiro/mgt/SessionsSecurityManager;" line="159"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shiroFilterChainDefinition" desc="()Lorg/apache/shiro/spring/web/config/ShiroFilterChainDefinition;" line="168"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="33" covered="104"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="9" covered="25"/><counter type="COMPLEXITY" missed="2" covered="10"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration" sourcefilename="ShiroWebFilterConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="shiroFilterFactoryBean" desc="()Lorg/apache/shiro/spring/web/ShiroFilterFactoryBean;" line="34"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/apache/shiro/spring/web/config/DefaultShiroFilterChainDefinition" sourcefilename="DefaultShiroFilterChainDefinition.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addPathDefinition" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addPathDefinitions" desc="(Ljava/util/Map;)V" line="36"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getFilterChainMap" desc="()Ljava/util/Map;" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="18"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/web/config/ShiroWebConfiguration" sourcefilename="ShiroWebConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectDAO" desc="()Lorg/apache/shiro/mgt/SubjectDAO;" line="45"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionStorageEvaluator" desc="()Lorg/apache/shiro/mgt/SessionStorageEvaluator;" line="51"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionFactory" desc="()Lorg/apache/shiro/session/mgt/SessionFactory;" line="57"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionDAO" desc="()Lorg/apache/shiro/session/mgt/eis/SessionDAO;" line="63"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionCookieTemplate" desc="()Lorg/apache/shiro/web/servlet/Cookie;" line="69"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeCookieTemplate" desc="()Lorg/apache/shiro/web/servlet/Cookie;" line="75"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeManager" desc="()Lorg/apache/shiro/mgt/RememberMeManager;" line="81"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectFactory" desc="()Lorg/apache/shiro/mgt/SubjectFactory;" line="87"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorizer" desc="()Lorg/apache/shiro/authz/Authorizer;" line="93"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticationStrategy" desc="()Lorg/apache/shiro/authc/pam/AuthenticationStrategy;" line="99"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticator" desc="()Lorg/apache/shiro/authc/Authenticator;" line="105"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionManager" desc="()Lorg/apache/shiro/session/mgt/SessionManager;" line="111"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityManager" desc="(Ljava/util/List;)Lorg/apache/shiro/mgt/SessionsSecurityManager;" line="117"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shiroFilterChainDefinition" desc="()Lorg/apache/shiro/spring/web/config/ShiroFilterChainDefinition;" line="123"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DefaultShiroFilterChainDefinition.java"><line nr="27" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="4" ci="0" mb="0" cb="0"/><line nr="37" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="18"/><counter type="LINE" missed="2" covered="5"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractShiroWebFilterConfiguration.java"><line nr="30" mi="3" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="51" mi="4" ci="0" mb="0" cb="0"/><line nr="52" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="55" mi="5" ci="0" mb="0" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="30" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="ShiroWebFilterConfiguration.java"><line nr="29" mi="3" ci="0" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="ShiroWebConfiguration.java"><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="3" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="111" mi="0" ci="3" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="123" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="15"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractShiroWebConfiguration.java"><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="4" ci="0" mb="0" cb="0"/><line nr="94" mi="4" ci="0" mb="0" cb="0"/><line nr="95" mi="4" ci="0" mb="0" cb="0"/><line nr="97" mi="4" ci="0" mb="0" cb="0"/><line nr="98" mi="4" ci="0" mb="0" cb="0"/><line nr="99" mi="4" ci="0" mb="0" cb="0"/><line nr="101" mi="2" ci="0" mb="0" cb="0"/><line nr="105" mi="0" ci="13" mb="0" cb="0"/><line nr="114" mi="0" ci="13" mb="0" cb="0"/><line nr="123" mi="0" ci="5" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" cb="0"/><line nr="126" mi="0" ci="3" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><line nr="128" mi="0" ci="3" mb="0" cb="0"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="1" cb="1"/><line nr="136" mi="3" ci="0" mb="0" cb="0"/><line nr="138" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="4" mb="0" cb="0"/><line nr="143" mi="0" ci="4" mb="0" cb="0"/><line nr="144" mi="0" ci="2" mb="0" cb="0"/><line nr="149" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="4" mb="0" cb="0"/><line nr="159" mi="0" ci="4" mb="0" cb="0"/><line nr="160" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="4" mb="0" cb="0"/><line nr="162" mi="0" ci="4" mb="0" cb="0"/><line nr="164" mi="0" ci="2" mb="0" cb="0"/><line nr="168" mi="0" ci="4" mb="0" cb="0"/><line nr="169" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="33" covered="104"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="9" covered="25"/><counter type="COMPLEXITY" missed="2" covered="10"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ShiroFilterChainDefinition.java"/><counter type="INSTRUCTION" missed="74" covered="168"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="21" covered="45"/><counter type="COMPLEXITY" missed="7" covered="28"/><counter type="METHOD" missed="6" covered="28"/><counter type="CLASS" missed="2" covered="3"/></package><package name="org/apache/shiro/spring/remoting"><class name="org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor$1" sourcefilename="SecureRemoteInvocationExecutor.java"><method name="&lt;init&gt;" desc="(Lorg/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor;Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)V" line="104"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="call" desc="()Ljava/lang/Object;" line="106"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor" sourcefilename="SecureRemoteInvocationExecutor.java"><method name="&lt;init&gt;" desc="()V" line="43"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setSecurityManager" desc="(Lorg/apache/shiro/mgt/SecurityManager;)V" line="71"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="invoke" desc="(Lorg/springframework/remoting/support/RemoteInvocation;Ljava/lang/Object;)Ljava/lang/Object;" line="82"><counter type="INSTRUCTION" missed="95" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="54"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="106" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="28" covered="0"/><counter type="COMPLEXITY" missed="11" covered="0"/><counter type="METHOD" missed="4" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory" sourcefilename="SecureRemoteInvocationFactory.java"><method name="&lt;init&gt;" desc="()V" line="57"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="61"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createRemoteInvocation" desc="(Lorg/aopalliance/intercept/MethodInvocation;)Lorg/springframework/remoting/support/RemoteInvocation;" line="74"><counter type="INSTRUCTION" missed="33" covered="70"/><counter type="BRANCH" missed="11" covered="15"/><counter type="LINE" missed="11" covered="22"/><counter type="COMPLEXITY" missed="8" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="48"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="39" covered="97"/><counter type="BRANCH" missed="11" covered="15"/><counter type="LINE" missed="14" covered="27"/><counter type="COMPLEXITY" missed="9" covered="8"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SecureRemoteInvocationFactory.java"><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="10" mb="0" cb="0"/><line nr="51" mi="0" ci="11" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="1" mb="0" cb="0"/><line nr="61" mi="2" ci="0" mb="0" cb="0"/><line nr="62" mi="3" ci="0" mb="0" cb="0"/><line nr="63" mi="1" ci="0" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="4" ci="4" mb="3" cb="1"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="2"/><line nr="86" mi="0" ci="6" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="92" mi="0" ci="5" mb="0" cb="2"/><line nr="95" mi="0" ci="2" mb="0" cb="2"/><line nr="98" mi="2" ci="0" mb="0" cb="0"/><line nr="99" mi="2" ci="0" mb="2" cb="0"/><line nr="100" mi="2" ci="0" mb="0" cb="0"/><line nr="101" mi="4" ci="0" mb="0" cb="0"/><line nr="102" mi="2" ci="0" mb="2" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="3" ci="0" mb="0" cb="0"/><line nr="108" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="1" ci="0" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="2"/><line nr="115" mi="0" ci="3" mb="1" cb="1"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="120" mi="0" ci="5" mb="2" cb="2"/><line nr="121" mi="3" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="5" mb="0" cb="0"/><line nr="127" mi="0" ci="2" mb="0" cb="2"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="130" mi="0" ci="2" mb="1" cb="1"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="134" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="39" covered="97"/><counter type="BRANCH" missed="11" covered="15"/><counter type="LINE" missed="14" covered="27"/><counter type="COMPLEXITY" missed="9" covered="8"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecureRemoteInvocationExecutor.java"><line nr="43" mi="3" ci="0" mb="0" cb="0"/><line nr="54" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="3" ci="0" mb="0" cb="0"/><line nr="72" mi="1" ci="0" mb="0" cb="0"/><line nr="82" mi="6" ci="0" mb="2" cb="0"/><line nr="83" mi="2" ci="0" mb="0" cb="0"/><line nr="85" mi="5" ci="0" mb="0" cb="0"/><line nr="87" mi="5" ci="0" mb="0" cb="0"/><line nr="88" mi="2" ci="0" mb="2" cb="0"/><line nr="89" mi="4" ci="0" mb="0" cb="0"/><line nr="92" mi="4" ci="0" mb="0" cb="0"/><line nr="93" mi="2" ci="0" mb="2" cb="0"/><line nr="94" mi="5" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="2" cb="0"/><line nr="97" mi="12" ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line nr="104" mi="21" ci="0" mb="0" cb="0"/><line nr="106" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="1" ci="0" mb="0" cb="0"/><line nr="110" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" ci="0" mb="2" cb="0"/><line nr="112" mi="3" ci="0" mb="0" cb="0"/><line nr="113" mi="3" ci="0" mb="2" cb="0"/><line nr="114" mi="3" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="2" cb="0"/><line nr="116" mi="3" ci="0" mb="0" cb="0"/><line nr="118" mi="5" ci="0" mb="0" cb="0"/><line nr="120" mi="1" ci="0" mb="0" cb="0"/><line nr="121" mi="5" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="126" covered="0"/><counter type="BRANCH" missed="14" covered="0"/><counter type="LINE" missed="29" covered="0"/><counter type="COMPLEXITY" missed="13" covered="0"/><counter type="METHOD" missed="6" covered="0"/><counter type="CLASS" missed="2" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="165" covered="97"/><counter type="BRANCH" missed="25" covered="15"/><counter type="LINE" missed="43" covered="27"/><counter type="COMPLEXITY" missed="22" covered="8"/><counter type="METHOD" missed="7" covered="3"/><counter type="CLASS" missed="2" covered="1"/></package><package name="org/apache/shiro/spring/config"><class name="org/apache/shiro/spring/config/AbstractShiroBeanConfiguration" sourcefilename="AbstractShiroBeanConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lifecycleBeanPostProcessor" desc="()Lorg/apache/shiro/spring/LifecycleBeanPostProcessor;" line="33"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="eventBus" desc="()Lorg/apache/shiro/event/EventBus;" line="37"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shiroEventBusAwareBeanPostProcessor" desc="()Lorg/apache/shiro/spring/ShiroEventBusBeanPostProcessor;" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/config/ShiroBeanConfiguration" sourcefilename="ShiroBeanConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lifecycleBeanPostProcessor" desc="()Lorg/apache/shiro/spring/LifecycleBeanPostProcessor;" line="36"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="eventBus" desc="()Lorg/apache/shiro/event/EventBus;" line="42"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shiroEventBusAwareBeanPostProcessor" desc="()Lorg/apache/shiro/spring/ShiroEventBusBeanPostProcessor;" line="48"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/config/ShiroAnnotationProcessorConfiguration" sourcefilename="ShiroAnnotationProcessorConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="defaultAdvisorAutoProxyCreator" desc="()Lorg/springframework/aop/framework/autoproxy/DefaultAdvisorAutoProxyCreator;" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorizationAttributeSourceAdvisor" desc="(Lorg/apache/shiro/mgt/SecurityManager;)Lorg/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor;" line="43"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/config/AbstractShiroConfiguration" sourcefilename="AbstractShiroConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityManager" desc="(Ljava/util/List;)Lorg/apache/shiro/mgt/SessionsSecurityManager;" line="68"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionManager" desc="()Lorg/apache/shiro/session/mgt/SessionManager;" line="83"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createSecurityManager" desc="()Lorg/apache/shiro/mgt/SessionsSecurityManager;" line="92"><counter type="INSTRUCTION" missed="3" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeManager" desc="()Lorg/apache/shiro/mgt/RememberMeManager;" line="105"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectDAO" desc="()Lorg/apache/shiro/mgt/SubjectDAO;" line="109"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionStorageEvaluator" desc="()Lorg/apache/shiro/mgt/SessionStorageEvaluator;" line="115"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectFactory" desc="()Lorg/apache/shiro/mgt/SubjectFactory;" line="119"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionFactory" desc="()Lorg/apache/shiro/session/mgt/SessionFactory;" line="124"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionDAO" desc="()Lorg/apache/shiro/session/mgt/eis/SessionDAO;" line="128"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorizer" desc="()Lorg/apache/shiro/authz/Authorizer;" line="132"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticationStrategy" desc="()Lorg/apache/shiro/authc/pam/AuthenticationStrategy;" line="146"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticator" desc="()Lorg/apache/shiro/authc/Authenticator;" line="150"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="iniRealmFromLocation" desc="(Ljava/lang/String;)Lorg/apache/shiro/realm/Realm;" line="156"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="11" covered="133"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="3" covered="39"/><counter type="COMPLEXITY" missed="2" covered="16"/><counter type="METHOD" missed="1" covered="13"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/config/AbstractShiroAnnotationProcessorConfiguration" sourcefilename="AbstractShiroAnnotationProcessorConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="defaultAdvisorAutoProxyCreator" desc="()Lorg/springframework/aop/framework/autoproxy/DefaultAdvisorAutoProxyCreator;" line="32"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorizationAttributeSourceAdvisor" desc="(Lorg/apache/shiro/mgt/SecurityManager;)Lorg/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor;" line="36"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/config/ShiroConfiguration" sourcefilename="ShiroConfiguration.java"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="securityManager" desc="(Ljava/util/List;)Lorg/apache/shiro/mgt/SessionsSecurityManager;" line="47"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionManager" desc="()Lorg/apache/shiro/session/mgt/SessionManager;" line="53"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectDAO" desc="()Lorg/apache/shiro/mgt/SubjectDAO;" line="59"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionStorageEvaluator" desc="()Lorg/apache/shiro/mgt/SessionStorageEvaluator;" line="65"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="subjectFactory" desc="()Lorg/apache/shiro/mgt/SubjectFactory;" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionFactory" desc="()Lorg/apache/shiro/session/mgt/SessionFactory;" line="77"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="sessionDAO" desc="()Lorg/apache/shiro/session/mgt/eis/SessionDAO;" line="83"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authorizer" desc="()Lorg/apache/shiro/authz/Authorizer;" line="89"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticationStrategy" desc="()Lorg/apache/shiro/authc/pam/AuthenticationStrategy;" line="95"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="authenticator" desc="()Lorg/apache/shiro/authc/Authenticator;" line="101"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rememberMeManager" desc="()Lorg/apache/shiro/mgt/RememberMeManager;" line="107"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ShiroConfiguration.java"><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractShiroAnnotationProcessorConfiguration.java"><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ShiroAnnotationProcessorConfiguration.java"><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ShiroBeanConfiguration.java"><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractShiroConfiguration.java"><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="0"/><line nr="85" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="2" mb="0" cb="0"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="4" mb="0" cb="0"/><line nr="94" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="1" cb="1"/><line nr="98" mi="3" ci="0" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="4" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="3" mb="0" cb="2"/><line nr="135" mi="0" ci="4" mb="0" cb="0"/><line nr="138" mi="0" ci="3" mb="0" cb="2"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="2" mb="0" cb="0"/><line nr="146" mi="0" ci="4" mb="0" cb="0"/><line nr="150" mi="0" ci="4" mb="0" cb="0"/><line nr="151" mi="0" ci="4" mb="0" cb="0"/><line nr="152" mi="0" ci="2" mb="0" cb="0"/><line nr="156" mi="3" ci="0" mb="0" cb="0"/><line nr="157" mi="5" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="11" covered="133"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="3" covered="39"/><counter type="COMPLEXITY" missed="2" covered="16"/><counter type="METHOD" missed="1" covered="13"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractShiroBeanConfiguration.java"><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="11" covered="225"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="3" covered="67"/><counter type="COMPLEXITY" missed="2" covered="42"/><counter type="METHOD" missed="1" covered="39"/><counter type="CLASS" missed="0" covered="6"/></package><package name="org/apache/shiro/spring/security/interceptor"><class name="org/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor$1" sourcefilename="AopAllianceAnnotationsAuthorizingMethodInterceptor.java"><method name="&lt;init&gt;" desc="(Lorg/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor;Lorg/aopalliance/intercept/MethodInvocation;)V" line="68"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMethod" desc="()Ljava/lang/reflect/Method;" line="70"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getArguments" desc="()[Ljava/lang/Object;" line="74"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toString" desc="()Ljava/lang/String;" line="78"><counter type="INSTRUCTION" missed="13" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="proceed" desc="()Ljava/lang/Object;" line="82"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getThis" desc="()Ljava/lang/Object;" line="86"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="17" covered="21"/><counter type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="2" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor" sourcefilename="AopAllianceAnnotationsAuthorizingMethodInterceptor.java"><method name="&lt;init&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createMethodInvocation" desc="(Ljava/lang/Object;)Lorg/apache/shiro/aop/MethodInvocation;" line="66"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="continueInvocation" desc="(Ljava/lang/Object;)Ljava/lang/Object;" line="101"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="invoke" desc="(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;" line="114"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="6" covered="67"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor" sourcefilename="AuthorizationAttributeSourceAdvisor.java"><method name="&lt;init&gt;" desc="()V" line="48"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSecurityManager" desc="()Lorg/apache/shiro/mgt/SecurityManager;" line="58"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSecurityManager" desc="(Lorg/apache/shiro/mgt/SecurityManager;)V" line="62"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="matches" desc="(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z" line="82"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAuthzAnnotationPresent" desc="(Ljava/lang/Class;)Z" line="104"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAuthzAnnotationPresent" desc="(Ljava/lang/reflect/Method;)Z" line="114"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="40"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="129"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="1" covered="14"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AuthorizationAttributeSourceAdvisor.java"><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="24" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="54" mi="0" ci="5" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="82" mi="0" ci="2" mb="0" cb="0"/><line nr="84" mi="0" ci="4" mb="0" cb="2"/><line nr="85" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="0" ci="2" mb="1" cb="1"/><line nr="92" mi="0" ci="7" mb="0" cb="0"/><line nr="93" mi="0" ci="12" mb="0" cb="4"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="104" mi="0" ci="16" mb="0" cb="2"/><line nr="105" mi="0" ci="4" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="0" cb="2"/><line nr="107" mi="0" ci="2" mb="0" cb="0"/><line nr="110" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="16" mb="0" cb="2"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="2"/><line nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="120" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="129"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="0" covered="27"/><counter type="COMPLEXITY" missed="1" covered="14"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AopAllianceAnnotationsAuthorizingMethodInterceptor.java"><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="5" mb="0" cb="0"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><line nr="49" mi="0" ci="7" mb="0" cb="0"/><line nr="50" mi="0" ci="7" mb="0" cb="0"/><line nr="51" mi="0" ci="7" mb="0" cb="0"/><line nr="52" mi="0" ci="7" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="1" mb="0" cb="0"/><line nr="66" mi="0" ci="3" mb="0" cb="0"/><line nr="68" mi="0" ci="15" mb="0" cb="0"/><line nr="70" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="4" ci="0" mb="0" cb="0"/><line nr="78" mi="13" ci="0" mb="0" cb="0"/><line nr="82" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="101" mi="3" ci="0" mb="0" cb="0"/><line nr="102" mi="3" ci="0" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="23" covered="88"/><counter type="LINE" missed="4" covered="17"/><counter type="COMPLEXITY" missed="3" covered="7"/><counter type="METHOD" missed="3" covered="7"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="23" covered="217"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="4" covered="44"/><counter type="COMPLEXITY" missed="4" covered="21"/><counter type="METHOD" missed="3" covered="14"/><counter type="CLASS" missed="0" covered="3"/></package><package name="org/apache/shiro/spring/web"><class name="org/apache/shiro/spring/web/ShiroFilterFactoryBean$SpringShiroFilter" sourcefilename="ShiroFilterFactoryBean.java"><method name="&lt;init&gt;" desc="(Lorg/apache/shiro/web/mgt/WebSecurityManager;Lorg/apache/shiro/web/filter/mgt/FilterChainResolver;)V" line="531"><counter type="INSTRUCTION" missed="5" covered="13"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="13"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/web/ShiroFilterFactoryBean" sourcefilename="ShiroFilterFactoryBean.java"><method name="&lt;init&gt;" desc="()V" line="132"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSecurityManager" desc="()Lorg/apache/shiro/mgt/SecurityManager;" line="144"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSecurityManager" desc="(Lorg/apache/shiro/mgt/SecurityManager;)V" line="154"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLoginUrl" desc="()Ljava/lang/String;" line="167"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setLoginUrl" desc="(Ljava/lang/String;)V" line="186"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSuccessUrl" desc="()Ljava/lang/String;" line="199"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setSuccessUrl" desc="(Ljava/lang/String;)V" line="218"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUnauthorizedUrl" desc="()Ljava/lang/String;" line="231"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setUnauthorizedUrl" desc="(Ljava/lang/String;)V" line="250"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getFilters" desc="()Ljava/util/Map;" line="260"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFilters" desc="(Ljava/util/Map;)V" line="282"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getFilterChainDefinitionMap" desc="()Ljava/util/Map;" line="295"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFilterChainDefinitionMap" desc="(Ljava/util/Map;)V" line="308"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setFilterChainDefinitions" desc="(Ljava/lang/String;)V" line="322"><counter type="INSTRUCTION" missed="0" covered="22"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getObject" desc="()Ljava/lang/Object;" line="342"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getObjectType" desc="()Ljava/lang/Class;" line="354"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isSingleton" desc="()Z" line="363"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createFilterChainManager" desc="()Lorg/apache/shiro/web/filter/mgt/FilterChainManager;" line="368"><counter type="INSTRUCTION" missed="4" covered="91"/><counter type="BRANCH" missed="3" covered="9"/><counter type="LINE" missed="1" covered="22"/><counter type="COMPLEXITY" missed="3" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createInstance" desc="()Lorg/apache/shiro/web/servlet/AbstractShiroFilter;" line="424"><counter type="INSTRUCTION" missed="14" covered="28"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="4" covered="8"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyLoginUrlIfNecessary" desc="(Ljavax/servlet/Filter;)V" line="453"><counter type="INSTRUCTION" missed="16" covered="7"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applySuccessUrlIfNecessary" desc="(Ljavax/servlet/Filter;)V" line="465"><counter type="INSTRUCTION" missed="16" covered="7"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyUnauthorizedUrlIfNecessary" desc="(Ljavax/servlet/Filter;)V" line="477"><counter type="INSTRUCTION" missed="14" covered="7"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="4" covered="3"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyGlobalPropertiesIfNecessary" desc="(Ljavax/servlet/Filter;)V" line="489"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessBeforeInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="500"><counter type="INSTRUCTION" missed="4" covered="22"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessAfterInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="516"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="118"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="84" covered="253"/><counter type="BRANCH" missed="23" covered="17"/><counter type="LINE" missed="26" covered="78"/><counter type="COMPLEXITY" missed="21" covered="25"/><counter type="METHOD" missed="4" covered="22"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ShiroFilterFactoryBean.java"><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="132" mi="0" ci="2" mb="0" cb="0"/><line nr="133" mi="0" ci="5" mb="0" cb="0"/><line nr="134" mi="0" ci="5" mb="0" cb="0"/><line nr="135" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="3" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="1" mb="0" cb="0"/><line nr="167" mi="0" ci="3" mb="0" cb="0"/><line nr="186" mi="3" ci="0" mb="0" cb="0"/><line nr="187" mi="1" ci="0" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="0"/><line nr="218" mi="3" ci="0" mb="0" cb="0"/><line nr="219" mi="1" ci="0" mb="0" cb="0"/><line nr="231" mi="0" ci="3" mb="0" cb="0"/><line nr="250" mi="3" ci="0" mb="0" cb="0"/><line nr="251" mi="1" ci="0" mb="0" cb="0"/><line nr="260" mi="0" ci="3" mb="0" cb="0"/><line nr="282" mi="3" ci="0" mb="0" cb="0"/><line nr="283" mi="1" ci="0" mb="0" cb="0"/><line nr="295" mi="0" ci="3" mb="0" cb="0"/><line nr="308" mi="0" ci="3" mb="0" cb="0"/><line nr="309" mi="0" ci="1" mb="0" cb="0"/><line nr="322" mi="0" ci="4" mb="0" cb="0"/><line nr="323" mi="0" ci="3" mb="0" cb="0"/><line nr="325" mi="0" ci="4" mb="0" cb="0"/><line nr="326" mi="0" ci="3" mb="1" cb="1"/><line nr="329" mi="0" ci="4" mb="0" cb="0"/><line nr="331" mi="0" ci="3" mb="0" cb="0"/><line nr="332" mi="0" ci="1" mb="0" cb="0"/><line nr="342" mi="0" ci="3" mb="1" cb="1"/><line nr="343" mi="0" ci="4" mb="0" cb="0"/><line nr="345" mi="0" ci="3" mb="0" cb="0"/><line nr="354" mi="0" ci="2" mb="0" cb="0"/><line nr="363" mi="0" ci="2" mb="0" cb="0"/><line nr="368" mi="0" ci="4" mb="0" cb="0"/><line nr="369" mi="0" ci="3" mb="0" cb="0"/><line nr="371" mi="0" ci="11" mb="0" cb="2"/><line nr="372" mi="0" ci="3" mb="0" cb="0"/><line nr="373" mi="0" ci="1" mb="0" cb="0"/><line nr="376" mi="0" ci="3" mb="0" cb="0"/><line nr="377" mi="0" ci="3" mb="1" cb="1"/><line nr="378" mi="0" ci="11" mb="0" cb="2"/><line nr="379" mi="0" ci="4" mb="0" cb="0"/><line nr="380" mi="0" ci="4" mb="0" cb="0"/><line nr="381" mi="0" ci="3" mb="0" cb="0"/><line nr="382" mi="0" ci="3" mb="1" cb="1"/><line nr="383" mi="4" ci="0" mb="0" cb="0"/><line nr="387" mi="0" ci="5" mb="0" cb="0"/><line nr="388" mi="0" ci="1" mb="0" cb="0"/><line nr="392" mi="0" ci="3" mb="0" cb="0"/><line nr="393" mi="0" ci="3" mb="1" cb="1"/><line nr="394" mi="0" ci="11" mb="0" cb="2"/><line nr="395" mi="0" ci="4" mb="0" cb="0"/><line nr="396" mi="0" ci="4" mb="0" cb="0"/><line nr="397" mi="0" ci="4" mb="0" cb="0"/><line nr="398" mi="0" ci="1" mb="0" cb="0"/><line nr="401" mi="0" ci="2" mb="0" cb="0"/><line nr="424" mi="0" ci="3" mb="0" cb="0"/><line nr="426" mi="0" ci="3" mb="0" cb="0"/><line nr="427" mi="0" ci="2" mb="1" cb="1"/><line nr="428" mi="2" ci="0" mb="0" cb="0"/><line nr="429" mi="5" ci="0" mb="0" cb="0"/><line nr="432" mi="0" ci="3" mb="1" cb="1"/><line nr="433" mi="2" ci="0" mb="0" cb="0"/><line nr="434" mi="5" ci="0" mb="0" cb="0"/><line nr="437" mi="0" ci="3" mb="0" cb="0"/><line nr="442" mi="0" ci="4" mb="0" cb="0"/><line nr="443" mi="0" ci="3" mb="0" cb="0"/><line nr="449" mi="0" ci="7" mb="0" cb="0"/><line nr="453" mi="0" ci="3" mb="0" cb="0"/><line nr="454" mi="3" ci="3" mb="3" cb="1"/><line nr="455" mi="3" ci="0" mb="0" cb="0"/><line nr="457" mi="3" ci="0" mb="0" cb="0"/><line nr="458" mi="4" ci="0" mb="2" cb="0"/><line nr="459" mi="3" ci="0" mb="0" cb="0"/><line nr="462" mi="0" ci="1" mb="0" cb="0"/><line nr="465" mi="0" ci="3" mb="0" cb="0"/><line nr="466" mi="3" ci="3" mb="3" cb="1"/><line nr="467" mi="3" ci="0" mb="0" cb="0"/><line nr="469" mi="3" ci="0" mb="0" cb="0"/><line nr="470" mi="4" ci="0" mb="2" cb="0"/><line nr="471" mi="3" ci="0" mb="0" cb="0"/><line nr="474" mi="0" ci="1" mb="0" cb="0"/><line nr="477" mi="0" ci="3" mb="0" cb="0"/><line nr="478" mi="3" ci="3" mb="3" cb="1"/><line nr="479" mi="3" ci="0" mb="0" cb="0"/><line nr="481" mi="3" ci="0" mb="0" cb="0"/><line nr="482" mi="2" ci="0" mb="2" cb="0"/><line nr="483" mi="3" ci="0" mb="0" cb="0"/><line nr="486" mi="0" ci="1" mb="0" cb="0"/><line nr="489" mi="0" ci="3" mb="0" cb="0"/><line nr="490" mi="0" ci="3" mb="0" cb="0"/><line nr="491" mi="0" ci="3" mb="0" cb="0"/><line nr="492" mi="0" ci="1" mb="0" cb="0"/><line nr="500" mi="0" ci="3" mb="1" cb="1"/><line nr="501" mi="0" ci="4" mb="0" cb="0"/><line nr="502" mi="0" ci="3" mb="0" cb="0"/><line nr="503" mi="0" ci="3" mb="0" cb="0"/><line nr="504" mi="0" ci="6" mb="0" cb="0"/><line nr="505" mi="0" ci="1" mb="0" cb="0"/><line nr="506" mi="4" ci="0" mb="0" cb="0"/><line nr="508" mi="0" ci="2" mb="0" cb="0"/><line nr="516" mi="0" ci="2" mb="0" cb="0"/><line nr="531" mi="0" ci="2" mb="0" cb="0"/><line nr="532" mi="0" ci="2" mb="1" cb="1"/><line nr="533" mi="5" ci="0" mb="0" cb="0"/><line nr="535" mi="0" ci="3" mb="0" cb="0"/><line nr="536" mi="0" ci="2" mb="1" cb="1"/><line nr="537" mi="0" ci="3" mb="0" cb="0"/><line nr="539" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="89" covered="266"/><counter type="BRANCH" missed="25" covered="19"/><counter type="LINE" missed="27" covered="84"/><counter type="COMPLEXITY" missed="23" covered="26"/><counter type="METHOD" missed="4" covered="23"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="89" covered="266"/><counter type="BRANCH" missed="25" covered="19"/><counter type="LINE" missed="27" covered="84"/><counter type="COMPLEXITY" missed="23" covered="26"/><counter type="METHOD" missed="4" covered="23"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/apache/shiro/spring"><class name="org/apache/shiro/spring/ShiroEventBusBeanPostProcessor" sourcefilename="ShiroEventBusBeanPostProcessor.java"><method name="&lt;init&gt;" desc="(Lorg/apache/shiro/event/EventBus;)V" line="47"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessBeforeInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="53"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessAfterInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="58"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isEventSubscriber" desc="(Ljava/lang/Object;)Z" line="69"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/apache/shiro/spring/LifecycleBeanPostProcessor" sourcefilename="LifecycleBeanPostProcessor.java"><method name="&lt;init&gt;" desc="()V" line="62"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(I)V" line="70"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessBeforeInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="83"><counter type="INSTRUCTION" missed="28" covered="12"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessAfterInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="103"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="postProcessBeforeDestruction" desc="(Ljava/lang/Object;Ljava/lang/String;)V" line="115"><counter type="INSTRUCTION" missed="28" covered="11"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="3" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOrder" desc="()I" line="135"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="requiresDestruction" desc="(Ljava/lang/Object;)Z" line="146"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="51"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="56" covered="45"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="6" covered="19"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="LifecycleBeanPostProcessor.java"><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="62" mi="0" ci="3" mb="0" cb="0"/><line nr="63" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="83" mi="0" ci="3" mb="0" cb="2"/><line nr="85" mi="0" ci="3" mb="1" cb="1"/><line nr="86" mi="12" ci="0" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="90" mi="1" ci="0" mb="0" cb="0"/><line nr="91" mi="15" ci="0" mb="0" cb="0"/><line nr="92" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="2" mb="0" cb="0"/><line nr="115" mi="0" ci="3" mb="1" cb="1"/><line nr="117" mi="0" ci="3" mb="1" cb="1"/><line nr="118" mi="12" ci="0" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line nr="122" mi="1" ci="0" mb="0" cb="0"/><line nr="123" mi="15" ci="0" mb="0" cb="0"/><line nr="124" mi="0" ci="1" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="135" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="56" covered="45"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="6" covered="19"/><counter type="COMPLEXITY" missed="3" covered="9"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ShiroEventBusBeanPostProcessor.java"><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="61" mi="0" ci="4" mb="0" cb="2"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="5" mb="0" cb="0"/><line nr="70" mi="0" ci="7" mb="0" cb="2"/><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="56" covered="84"/><counter type="BRANCH" missed="3" covered="11"/><counter type="LINE" missed="6" covered="30"/><counter type="COMPLEXITY" missed="3" covered="16"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="2"/></package><package name="org/apache/shiro/spring/aop"><class name="org/apache/shiro/spring/aop/SpringAnnotationResolver" sourcefilename="SpringAnnotationResolver.java"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAnnotation" desc="(Lorg/apache/shiro/aop/MethodInvocation;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" line="40"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SpringAnnotationResolver.java"><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="4" mb="0" cb="2"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="4" mb="0" cb="2"/><line nr="55" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></package><counter type="INSTRUCTION" missed="418" covered="1093"/><counter type="BRANCH" missed="56" covered="72"/><counter type="LINE" missed="104" covered="306"/><counter type="COMPLEXITY" missed="61" covered="145"/><counter type="METHOD" missed="21" covered="121"/><counter type="CLASS" missed="4" covered="18"/></report>