blob: 9e8527dbb4584723fa0bdf6154d2d2bd09183d1d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Apache Shiro :: Support :: Spring"><sessioninfo id="Brians-MacBook-Pro.local-2af55309" start="1473731057270" dump="1473731059407"/><package name="org/apache/shiro/spring/remoting"><class name="org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor$1"><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/SecureRemoteInvocationFactory"><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><class name="org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor"><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><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/security/interceptor"><class name="org/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor$1"><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"><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"><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="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="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="1" covered="26"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="9"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAuthzAnnotationPresent" desc="(Ljava/lang/reflect/Method;)Z" line="106"><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="4" covered="94"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="2" covered="22"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><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><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="3" ci="0" 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="4" mb="0" cb="2"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="1" ci="0" mb="0" cb="0"/><line nr="99" mi="0" ci="1" mb="0" cb="0"/><line nr="102" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="16" mb="0" cb="2"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="108" mi="0" ci="2" mb="0" cb="2"/><line nr="109" mi="0" ci="2" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="94"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="2" covered="22"/><counter type="COMPLEXITY" missed="2" covered="9"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="27" covered="182"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="6" covered="39"/><counter type="COMPLEXITY" missed="5" covered="16"/><counter type="METHOD" missed="4" covered="12"/><counter type="CLASS" missed="0" covered="3"/></package><package name="org/apache/shiro/spring/web"><class name="org/apache/shiro/spring/web/ShiroFilterFactoryBean$SpringShiroFilter"><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"><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/LifecycleBeanPostProcessor"><method name="&lt;init&gt;" desc="()V" line="62"><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="&lt;init&gt;" desc="(I)V" line="70"><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="postProcessBeforeInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="83"><counter type="INSTRUCTION" missed="40" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="postProcessAfterInitialization" desc="(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" line="103"><counter type="INSTRUCTION" missed="2" 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="postProcessBeforeDestruction" desc="(Ljava/lang/Object;Ljava/lang/String;)V" line="115"><counter type="INSTRUCTION" missed="39" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getOrder" desc="()I" line="135"><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="&lt;clinit&gt;" desc="()V" line="51"><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="98" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="11" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="LifecycleBeanPostProcessor.java"><line nr="51" mi="4" 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="70" mi="2" 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="83" mi="3" ci="0" mb="2" cb="0"/><line nr="85" mi="3" ci="0" mb="2" cb="0"/><line nr="86" mi="12" ci="0" mb="0" cb="0"/><line nr="89" mi="3" ci="0" 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="1" ci="0" mb="0" cb="0"/><line nr="94" mi="2" ci="0" mb="0" cb="0"/><line nr="103" mi="2" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="2" cb="0"/><line nr="117" mi="3" ci="0" mb="2" cb="0"/><line nr="118" mi="12" ci="0" mb="0" cb="0"/><line nr="121" mi="3" ci="0" 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="1" ci="0" mb="0" cb="0"/><line nr="126" mi="1" ci="0" mb="0" cb="0"/><line nr="135" mi="3" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="98" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="11" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="98" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="24" covered="0"/><counter type="COMPLEXITY" missed="11" covered="0"/><counter type="METHOD" missed="7" covered="0"/><counter type="CLASS" missed="1" covered="0"/></package><package name="org/apache/shiro/spring/aop"><class name="org/apache/shiro/spring/aop/SpringAnnotationResolver"><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="379" covered="581"/><counter type="BRANCH" missed="59" covered="47"/><counter type="LINE" missed="100" covered="159"/><counter type="COMPLEXITY" missed="61" covered="54"/><counter type="METHOD" missed="22" covered="40"/><counter type="CLASS" missed="3" covered="7"/></report>