--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
+
+<coverage line-rate="0.6748129675810474" branch-rate="0.5783664459161147" lines-covered="1353" lines-valid="2005"
+ branches-covered="524" branches-valid="906" complexity="2.2051282051282053" version="1.9.2"
+ timestamp="1253257458277">
+ <sources>
+ <source>/Users/simon/projects/commons-chain/src/java</source>
+ <source>--source</source>
+ </sources>
+ <packages>
+ <package name="org.apache.commons.chain" line-rate="0.9024390243902439" branch-rate="0.6818181818181818"
+ complexity="1.6875">
+ <classes>
+ <class name="org.apache.commons.chain.Catalog" filename="org/apache/commons/chain/Catalog.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ </methods>
+ <lines>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.CatalogFactory" filename="org/apache/commons/chain/CatalogFactory.java"
+ line-rate="0.9024390243902439" branch-rate="0.6818181818181818" complexity="2.2222222222222223">
+ <methods>
+ <method name="<clinit>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="172" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="41" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="147" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="212" hits="39" branch="false"/>
+ <line number="213" hits="39" branch="false"/>
+ <line number="214" hits="39" branch="false"/>
+ <line number="216" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="getClassLoader" signature="()Ljava/lang/ClassLoader;" line-rate="0.75" branch-rate="0.25">
+ <lines>
+ <line number="229" hits="234" branch="false"/>
+ <line number="230" hits="234" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="231" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="234" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommand" signature="(Ljava/lang/String;)Lorg/apache/commons/chain/Command;"
+ line-rate="0.8571428571428571" branch-rate="0.7142857142857143">
+ <lines>
+ <line number="127" hits="21" branch="false"/>
+ <line number="128" hits="21" branch="false"/>
+ <line number="129" hits="21" branch="false"/>
+ <line number="131" hits="21" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="132" hits="21" branch="false"/>
+ <line number="133" hits="21" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="134" hits="15" branch="false"/>
+ <line number="135" hits="15" branch="false"/>
+ <line number="136" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="137" hits="3" branch="false"/>
+ <line number="144" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="145" hits="12" branch="false"/>
+ <line number="146" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="6" branch="false"/>
+ <line number="149" hits="6" branch="false"/>
+ <line number="152" hits="6" branch="false"/>
+ <line number="153" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="0" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ <line number="160" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getInstance" signature="()Lorg/apache/commons/chain/CatalogFactory;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="190" hits="195" branch="false"/>
+ <line number="191" hits="195" branch="false"/>
+ <line number="192" hits="195" branch="false"/>
+ <line number="193" hits="195" branch="false"/>
+ <line number="194" hits="195" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="36" branch="false"/>
+ <line number="196" hits="36" branch="false"/>
+ <line number="198" hits="195" branch="false"/>
+ <line number="199" hits="195" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="41" hits="36" branch="false"/>
+ <line number="127" hits="21" branch="false"/>
+ <line number="128" hits="21" branch="false"/>
+ <line number="129" hits="21" branch="false"/>
+ <line number="131" hits="21" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="132" hits="21" branch="false"/>
+ <line number="133" hits="21" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="134" hits="15" branch="false"/>
+ <line number="135" hits="15" branch="false"/>
+ <line number="136" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="137" hits="3" branch="false"/>
+ <line number="144" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="145" hits="12" branch="false"/>
+ <line number="146" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="6" branch="false"/>
+ <line number="149" hits="6" branch="false"/>
+ <line number="152" hits="6" branch="false"/>
+ <line number="153" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="0" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ <line number="160" hits="12" branch="false"/>
+ <line number="172" hits="3" branch="false"/>
+ <line number="190" hits="195" branch="false"/>
+ <line number="191" hits="195" branch="false"/>
+ <line number="192" hits="195" branch="false"/>
+ <line number="193" hits="195" branch="false"/>
+ <line number="194" hits="195" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="36" branch="false"/>
+ <line number="196" hits="36" branch="false"/>
+ <line number="198" hits="195" branch="false"/>
+ <line number="199" hits="195" branch="false"/>
+ <line number="212" hits="39" branch="false"/>
+ <line number="213" hits="39" branch="false"/>
+ <line number="214" hits="39" branch="false"/>
+ <line number="216" hits="39" branch="false"/>
+ <line number="229" hits="234" branch="false"/>
+ <line number="230" hits="234" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="231" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="234" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.Chain" filename="org/apache/commons/chain/Chain.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ </methods>
+ <lines>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.Command" filename="org/apache/commons/chain/Command.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ </methods>
+ <lines>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.Context" filename="org/apache/commons/chain/Context.java" line-rate="1.0"
+ branch-rate="1.0" complexity="0.0">
+ <methods>
+ </methods>
+ <lines>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.Filter" filename="org/apache/commons/chain/Filter.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ </methods>
+ <lines>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.config" line-rate="0.8048780487804879" branch-rate="0.7083333333333334"
+ complexity="1.4333333333333333">
+ <classes>
+ <class name="org.apache.commons.chain.config.ConfigCatalogRule"
+ filename="org/apache/commons/chain/config/ConfigCatalogRule.java" line-rate="1.0" branch-rate="1.0"
+ complexity="2.5">
+ <methods>
+ <method name="<init>" signature="(Ljava/lang/String;Ljava/lang/String;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="53" hits="60" branch="false"/>
+ <line number="54" hits="60" branch="false"/>
+ <line number="55" hits="60" branch="false"/>
+ <line number="56" hits="60" branch="false"/>
+ <line number="66" hits="60" branch="false"/>
+ <line number="73" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="begin" signature="(Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="96" hits="54" branch="false"/>
+ <line number="97" hits="54" branch="false"/>
+ <line number="98" hits="54" branch="false"/>
+ <line number="99" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="100" hits="27" branch="false"/>
+ <line number="102" hits="27" branch="false"/>
+ <line number="106" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="6" branch="false"/>
+ <line number="108" hits="6" branch="false"/>
+ <line number="109" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="110" hits="3" branch="false"/>
+ <line number="112" hits="3" branch="false"/>
+ <line number="117" hits="54" branch="false"/>
+ <line number="119" hits="54" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="53" hits="60" branch="false"/>
+ <line number="54" hits="60" branch="false"/>
+ <line number="55" hits="60" branch="false"/>
+ <line number="56" hits="60" branch="false"/>
+ <line number="66" hits="60" branch="false"/>
+ <line number="73" hits="60" branch="false"/>
+ <line number="96" hits="54" branch="false"/>
+ <line number="97" hits="54" branch="false"/>
+ <line number="98" hits="54" branch="false"/>
+ <line number="99" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="100" hits="27" branch="false"/>
+ <line number="102" hits="27" branch="false"/>
+ <line number="106" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="6" branch="false"/>
+ <line number="108" hits="6" branch="false"/>
+ <line number="109" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="110" hits="3" branch="false"/>
+ <line number="112" hits="3" branch="false"/>
+ <line number="117" hits="54" branch="false"/>
+ <line number="119" hits="54" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.config.ConfigDefineRule"
+ filename="org/apache/commons/chain/config/ConfigDefineRule.java" line-rate="1.0" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="(Ljava/lang/String;Ljava/lang/String;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="52" hits="60" branch="false"/>
+ <line number="53" hits="60" branch="false"/>
+ <line number="54" hits="60" branch="false"/>
+ <line number="55" hits="60" branch="false"/>
+ <line number="66" hits="60" branch="false"/>
+ <line number="73" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="begin" signature="(Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="93" hits="243" branch="false"/>
+ <line number="94" hits="243" branch="false"/>
+ <line number="97" hits="243" branch="false"/>
+ <line number="98" hits="243" branch="false"/>
+ <line number="99" hits="243" branch="false"/>
+ <line number="102" hits="243" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="52" hits="60" branch="false"/>
+ <line number="53" hits="60" branch="false"/>
+ <line number="54" hits="60" branch="false"/>
+ <line number="55" hits="60" branch="false"/>
+ <line number="66" hits="60" branch="false"/>
+ <line number="73" hits="60" branch="false"/>
+ <line number="93" hits="243" branch="false"/>
+ <line number="94" hits="243" branch="false"/>
+ <line number="97" hits="243" branch="false"/>
+ <line number="98" hits="243" branch="false"/>
+ <line number="99" hits="243" branch="false"/>
+ <line number="102" hits="243" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.config.ConfigParser"
+ filename="org/apache/commons/chain/config/ConfigParser.java" line-rate="0.8333333333333334"
+ branch-rate="0.6666666666666666" complexity="1.2857142857142858">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="38" hits="63" branch="false"/>
+ <line number="47" hits="63" branch="false"/>
+ <line number="54" hits="63" branch="false"/>
+ <line number="60" hits="63" branch="false"/>
+ </lines>
+ </method>
+ <method name="getDigester" signature="()Lorg/apache/commons/digester/Digester;" line-rate="1.0"
+ branch-rate="0.5">
+ <lines>
+ <line number="73" hits="60" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="74" hits="60" branch="false"/>
+ <line number="75" hits="60" branch="false"/>
+ <line number="76" hits="60" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="60" branch="false"/>
+ <line number="78" hits="60" branch="false"/>
+ <line number="79" hits="60" branch="false"/>
+ <line number="81" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRuleSet" signature="()Lorg/apache/commons/digester/RuleSet;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="93" hits="66" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="60" branch="false"/>
+ <line number="96" hits="66" branch="false"/>
+ </lines>
+ </method>
+ <method name="getUseContextClassLoader" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="123" hits="66" branch="false"/>
+ </lines>
+ </method>
+ <method name="parse" signature="(Ljava/net/URL;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="186" hits="27" branch="false"/>
+ <line number="187" hits="27" branch="false"/>
+ <line number="190" hits="27" branch="false"/>
+ <line number="192" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="parse" signature="(Lorg/apache/commons/chain/Catalog;Ljava/net/URL;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="27" branch="false"/>
+ <line number="164" hits="27" branch="false"/>
+ <line number="167" hits="27" branch="false"/>
+ <line number="169" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="setRuleSet" signature="(Lorg/apache/commons/digester/RuleSet;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="109" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ <line number="112" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setUseContextClassLoader" signature="(Z)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="135" hits="0" branch="false"/>
+ <line number="137" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="38" hits="63" branch="false"/>
+ <line number="47" hits="63" branch="false"/>
+ <line number="54" hits="63" branch="false"/>
+ <line number="60" hits="63" branch="false"/>
+ <line number="73" hits="60" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="74" hits="60" branch="false"/>
+ <line number="75" hits="60" branch="false"/>
+ <line number="76" hits="60" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="60" branch="false"/>
+ <line number="78" hits="60" branch="false"/>
+ <line number="79" hits="60" branch="false"/>
+ <line number="81" hits="60" branch="false"/>
+ <line number="93" hits="66" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="60" branch="false"/>
+ <line number="96" hits="66" branch="false"/>
+ <line number="109" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ <line number="112" hits="0" branch="false"/>
+ <line number="123" hits="66" branch="false"/>
+ <line number="135" hits="0" branch="false"/>
+ <line number="137" hits="0" branch="false"/>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="27" branch="false"/>
+ <line number="164" hits="27" branch="false"/>
+ <line number="167" hits="27" branch="false"/>
+ <line number="169" hits="27" branch="false"/>
+ <line number="186" hits="27" branch="false"/>
+ <line number="187" hits="27" branch="false"/>
+ <line number="190" hits="27" branch="false"/>
+ <line number="192" hits="27" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.config.ConfigRegisterRule"
+ filename="org/apache/commons/chain/config/ConfigRegisterRule.java" line-rate="0.8888888888888888"
+ branch-rate="0.5833333333333334" complexity="5.0">
+ <methods>
+ <method name="<init>" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="363" branch="false"/>
+ <line number="53" hits="363" branch="false"/>
+ <line number="54" hits="363" branch="false"/>
+ <line number="64" hits="363" branch="false"/>
+ </lines>
+ </method>
+ <method name="begin" signature="(Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V"
+ line-rate="0.8571428571428571" branch-rate="0.5833333333333334">
+ <lines>
+ <line number="84" hits="2214" branch="false"/>
+ <line number="85" hits="2214" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="2214" branch="false"/>
+ <line number="92" hits="2214" branch="false"/>
+ <line number="93" hits="2214" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="0" branch="false"/>
+ <line number="98" hits="2214" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="99" hits="918" branch="false"/>
+ <line number="100" hits="918" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="101" hits="918" branch="false"/>
+ <line number="103" hits="918" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="1296" branch="false"/>
+ <line number="107" hits="2214" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="52" hits="363" branch="false"/>
+ <line number="53" hits="363" branch="false"/>
+ <line number="54" hits="363" branch="false"/>
+ <line number="64" hits="363" branch="false"/>
+ <line number="84" hits="2214" branch="false"/>
+ <line number="85" hits="2214" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="2214" branch="false"/>
+ <line number="92" hits="2214" branch="false"/>
+ <line number="93" hits="2214" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="0" branch="false"/>
+ <line number="98" hits="2214" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="99" hits="918" branch="false"/>
+ <line number="100" hits="918" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="101" hits="918" branch="false"/>
+ <line number="103" hits="918" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="1296" branch="false"/>
+ <line number="107" hits="2214" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.config.ConfigRuleSet"
+ filename="org/apache/commons/chain/config/ConfigRuleSet.java" line-rate="0.6046511627906976"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="60" branch="false"/>
+ <line number="86" hits="60" branch="false"/>
+ <line number="87" hits="60" branch="false"/>
+ <line number="88" hits="60" branch="false"/>
+ <line number="89" hits="60" branch="false"/>
+ <line number="90" hits="60" branch="false"/>
+ <line number="91" hits="60" branch="false"/>
+ <line number="92" hits="60" branch="false"/>
+ <line number="93" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="addRuleInstances" signature="(Lorg/apache/commons/digester/Digester;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="272" hits="60" branch="false"/>
+ <line number="274" hits="60" branch="false"/>
+ <line number="277" hits="60" branch="false"/>
+ <line number="280" hits="60" branch="false"/>
+ <line number="281" hits="60" branch="false"/>
+ <line number="285" hits="60" branch="false"/>
+ <line number="288" hits="60" branch="false"/>
+ <line number="289" hits="60" branch="false"/>
+ <line number="293" hits="60" branch="false"/>
+ <line number="297" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogClass" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogElement" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="126" hits="120" branch="false"/>
+ </lines>
+ </method>
+ <method name="getChainClass" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="146" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="getChainElement" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="167" hits="186" branch="false"/>
+ </lines>
+ </method>
+ <method name="getClassAttribute" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="186" hits="186" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommandElement" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="205" hits="186" branch="false"/>
+ </lines>
+ </method>
+ <method name="getDefineElement" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="224" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="getNameAttribute" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="243" hits="66" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogClass" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="117" hits="0" branch="false"/>
+ <line number="118" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogElement" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="136" hits="0" branch="false"/>
+ <line number="137" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setChainClass" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="158" hits="0" branch="false"/>
+ <line number="159" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setChainElement" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="177" hits="0" branch="false"/>
+ <line number="178" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setClassAttribute" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCommandElement" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="215" hits="0" branch="false"/>
+ <line number="216" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setDefineElement" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="234" hits="0" branch="false"/>
+ <line number="235" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setNameAttribute" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="253" hits="0" branch="false"/>
+ <line number="254" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="80" hits="60" branch="false"/>
+ <line number="86" hits="60" branch="false"/>
+ <line number="87" hits="60" branch="false"/>
+ <line number="88" hits="60" branch="false"/>
+ <line number="89" hits="60" branch="false"/>
+ <line number="90" hits="60" branch="false"/>
+ <line number="91" hits="60" branch="false"/>
+ <line number="92" hits="60" branch="false"/>
+ <line number="93" hits="60" branch="false"/>
+ <line number="105" hits="0" branch="false"/>
+ <line number="117" hits="0" branch="false"/>
+ <line number="118" hits="0" branch="false"/>
+ <line number="126" hits="120" branch="false"/>
+ <line number="136" hits="0" branch="false"/>
+ <line number="137" hits="0" branch="false"/>
+ <line number="146" hits="60" branch="false"/>
+ <line number="158" hits="0" branch="false"/>
+ <line number="159" hits="0" branch="false"/>
+ <line number="167" hits="186" branch="false"/>
+ <line number="177" hits="0" branch="false"/>
+ <line number="178" hits="0" branch="false"/>
+ <line number="186" hits="186" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="205" hits="186" branch="false"/>
+ <line number="215" hits="0" branch="false"/>
+ <line number="216" hits="0" branch="false"/>
+ <line number="224" hits="60" branch="false"/>
+ <line number="234" hits="0" branch="false"/>
+ <line number="235" hits="0" branch="false"/>
+ <line number="243" hits="66" branch="false"/>
+ <line number="253" hits="0" branch="false"/>
+ <line number="254" hits="0" branch="false"/>
+ <line number="272" hits="60" branch="false"/>
+ <line number="274" hits="60" branch="false"/>
+ <line number="277" hits="60" branch="false"/>
+ <line number="280" hits="60" branch="false"/>
+ <line number="281" hits="60" branch="false"/>
+ <line number="285" hits="60" branch="false"/>
+ <line number="288" hits="60" branch="false"/>
+ <line number="289" hits="60" branch="false"/>
+ <line number="293" hits="60" branch="false"/>
+ <line number="297" hits="60" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.generic" line-rate="0.6388888888888888" branch-rate="0.515625"
+ complexity="1.98">
+ <classes>
+ <class name="org.apache.commons.chain.generic.CopyCommand"
+ filename="org/apache/commons/chain/generic/CopyCommand.java" line-rate="0.0" branch-rate="0.0"
+ complexity="1.2857142857142858">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="32" hits="0" branch="false"/>
+ <line number="38" hits="0" branch="false"/>
+ <line number="64" hits="0" branch="false"/>
+ <line number="90" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="130" hits="0" branch="false"/>
+ <line number="132" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="0" branch="false"/>
+ <line number="136" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="137" hits="0" branch="false"/>
+ <line number="139" hits="0" branch="false"/>
+ <line number="142" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getFromKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="47" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getToKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getValue" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="99" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setFromKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="59" hits="0" branch="false"/>
+ <line number="61" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setToKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setValue" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="111" hits="0" branch="false"/>
+ <line number="113" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="32" hits="0" branch="false"/>
+ <line number="38" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="59" hits="0" branch="false"/>
+ <line number="61" hits="0" branch="false"/>
+ <line number="64" hits="0" branch="false"/>
+ <line number="73" hits="0" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ <line number="90" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="111" hits="0" branch="false"/>
+ <line number="113" hits="0" branch="false"/>
+ <line number="130" hits="0" branch="false"/>
+ <line number="132" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="0" branch="false"/>
+ <line number="136" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="137" hits="0" branch="false"/>
+ <line number="139" hits="0" branch="false"/>
+ <line number="142" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.generic.DispatchCommand"
+ filename="org/apache/commons/chain/generic/DispatchCommand.java" line-rate="0.8157894736842105"
+ branch-rate="0.625" complexity="2.4444444444444446">
+ <methods>
+ <method name="<clinit>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="49" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="34" hits="9" branch="false"/>
+ <line number="37" hits="9" branch="false"/>
+ <line number="40" hits="9" branch="false"/>
+ <line number="43" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="evaluateResult" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.75">
+ <lines>
+ <line number="128" hits="9" branch="false"/>
+ <line number="129" hits="9" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.3333333333333333"
+ branch-rate="0.5">
+ <lines>
+ <line number="65" hits="9" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="69" hits="9" branch="false"/>
+ <line number="72" hits="9" branch="false"/>
+ <line number="73" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="76" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="extractMethod" signature="(Lorg/apache/commons/chain/Context;)Ljava/lang/reflect/Method;"
+ line-rate="0.9285714285714286" branch-rate="0.6666666666666666">
+ <lines>
+ <line number="94" hits="9" branch="false"/>
+ <line number="96" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="97" hits="3" branch="false"/>
+ <line number="98" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="99" hits="0" branch="false"/>
+ <line number="101" hits="3" branch="false"/>
+ <line number="105" hits="9" branch="false"/>
+ <line number="107" hits="9" branch="false"/>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="111" hits="9" branch="false"/>
+ <line number="112" hits="9" branch="false"/>
+ <line number="114" hits="9" branch="false"/>
+ <line number="116" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="getArguments" signature="(Lorg/apache/commons/chain/Context;)[Ljava/lang/Object;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="151" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="getMethod" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="159" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="getMethodKey" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="167" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="getSignature" signature="()[Ljava/lang/Class;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="138" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="setMethod" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="175" hits="6" branch="false"/>
+ <line number="176" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="setMethodKey" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="183" hits="3" branch="false"/>
+ <line number="184" hits="3" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="34" hits="9" branch="false"/>
+ <line number="37" hits="9" branch="false"/>
+ <line number="40" hits="9" branch="false"/>
+ <line number="43" hits="9" branch="false"/>
+ <line number="49" hits="6" branch="false"/>
+ <line number="65" hits="9" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="69" hits="9" branch="false"/>
+ <line number="72" hits="9" branch="false"/>
+ <line number="73" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="76" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ <line number="94" hits="9" branch="false"/>
+ <line number="96" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="97" hits="3" branch="false"/>
+ <line number="98" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="99" hits="0" branch="false"/>
+ <line number="101" hits="3" branch="false"/>
+ <line number="105" hits="9" branch="false"/>
+ <line number="107" hits="9" branch="false"/>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="111" hits="9" branch="false"/>
+ <line number="112" hits="9" branch="false"/>
+ <line number="114" hits="9" branch="false"/>
+ <line number="116" hits="9" branch="false"/>
+ <line number="128" hits="9" branch="false"/>
+ <line number="129" hits="9" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="138" hits="6" branch="false"/>
+ <line number="151" hits="6" branch="false"/>
+ <line number="159" hits="18" branch="false"/>
+ <line number="167" hits="6" branch="false"/>
+ <line number="175" hits="6" branch="false"/>
+ <line number="176" hits="6" branch="false"/>
+ <line number="183" hits="3" branch="false"/>
+ <line number="184" hits="3" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.generic.DispatchLookupCommand"
+ filename="org/apache/commons/chain/generic/DispatchLookupCommand.java" line-rate="0.8717948717948718"
+ branch-rate="0.625" complexity="2.0">
+ <methods>
+ <method name="<clinit>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="81" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="64" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/CatalogFactory;)V" line-rate="0.6"
+ branch-rate="1.0">
+ <lines>
+ <line number="72" hits="0" branch="false"/>
+ <line number="73" hits="0" branch="false"/>
+ <line number="87" hits="9" branch="false"/>
+ <line number="92" hits="9" branch="false"/>
+ <line number="93" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="82" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.7777777777777778"
+ branch-rate="0.6">
+ <lines>
+ <line number="142" hits="15" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="143" hits="0" branch="false"/>
+ <line number="148" hits="15" branch="false"/>
+ <line number="150" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="12" branch="false"/>
+ <line number="152" hits="12" branch="false"/>
+ <line number="153" hits="12" branch="false"/>
+ <line number="155" hits="12" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="157" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="extractMethod"
+ signature="(Lorg/apache/commons/chain/Command;Lorg/apache/commons/chain/Context;)Ljava/lang/reflect/Method;"
+ line-rate="0.9285714285714286" branch-rate="0.6666666666666666">
+ <lines>
+ <line number="214" hits="12" branch="false"/>
+ <line number="216" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="217" hits="6" branch="false"/>
+ <line number="218" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="219" hits="0" branch="false"/>
+ <line number="222" hits="6" branch="false"/>
+ <line number="226" hits="12" branch="false"/>
+ <line number="228" hits="12" branch="false"/>
+ <line number="229" hits="12" branch="false"/>
+ <line number="231" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="232" hits="12" branch="false"/>
+ <line number="234" hits="12" branch="false"/>
+ <line number="236" hits="12" branch="false"/>
+ <line number="238" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getArguments" signature="(Lorg/apache/commons/chain/Context;)[Ljava/lang/Object;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="189" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getMethod" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="100" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="getMethodKey" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="108" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getSignature" signature="()[Ljava/lang/Class;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="174" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="setMethod" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="116" hits="9" branch="false"/>
+ <line number="117" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="setMethodKey" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="124" hits="6" branch="false"/>
+ <line number="125" hits="6" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="64" hits="18" branch="false"/>
+ <line number="72" hits="0" branch="false"/>
+ <line number="73" hits="0" branch="false"/>
+ <line number="81" hits="3" branch="false"/>
+ <line number="82" hits="3" branch="false"/>
+ <line number="87" hits="9" branch="false"/>
+ <line number="92" hits="9" branch="false"/>
+ <line number="93" hits="9" branch="false"/>
+ <line number="100" hits="27" branch="false"/>
+ <line number="108" hits="12" branch="false"/>
+ <line number="116" hits="9" branch="false"/>
+ <line number="117" hits="9" branch="false"/>
+ <line number="124" hits="6" branch="false"/>
+ <line number="125" hits="6" branch="false"/>
+ <line number="142" hits="15" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="143" hits="0" branch="false"/>
+ <line number="148" hits="15" branch="false"/>
+ <line number="150" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="12" branch="false"/>
+ <line number="152" hits="12" branch="false"/>
+ <line number="153" hits="12" branch="false"/>
+ <line number="155" hits="12" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="157" hits="0" branch="false"/>
+ <line number="174" hits="12" branch="false"/>
+ <line number="189" hits="12" branch="false"/>
+ <line number="214" hits="12" branch="false"/>
+ <line number="216" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="217" hits="6" branch="false"/>
+ <line number="218" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="219" hits="0" branch="false"/>
+ <line number="222" hits="6" branch="false"/>
+ <line number="226" hits="12" branch="false"/>
+ <line number="228" hits="12" branch="false"/>
+ <line number="229" hits="12" branch="false"/>
+ <line number="231" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="232" hits="12" branch="false"/>
+ <line number="234" hits="12" branch="false"/>
+ <line number="236" hits="12" branch="false"/>
+ <line number="238" hits="12" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.generic.LookupCommand"
+ filename="org/apache/commons/chain/generic/LookupCommand.java" line-rate="0.6578947368421053"
+ branch-rate="0.4642857142857143" complexity="2.142857142857143">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="59" hits="24" branch="false"/>
+ <line number="60" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/CatalogFactory;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="70" hits="24" branch="false"/>
+ <line number="71" hits="24" branch="false"/>
+ <line number="72" hits="24" branch="false"/>
+ <line number="77" hits="24" branch="false"/>
+ <line number="103" hits="24" branch="false"/>
+ <line number="130" hits="24" branch="false"/>
+ <line number="158" hits="24" branch="false"/>
+ <line number="186" hits="24" branch="false"/>
+ <line number="212" hits="24" branch="false"/>
+ <line number="245" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.8571428571428571"
+ branch-rate="0.75">
+ <lines>
+ <line number="303" hits="15" branch="false"/>
+ <line number="304" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="305" hits="15" branch="false"/>
+ <line number="306" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="307" hits="3" branch="false"/>
+ <line number="309" hits="12" branch="false"/>
+ <line number="311" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="(Lorg/apache/commons/chain/Context;)Lorg/apache/commons/chain/Catalog;"
+ line-rate="0.6153846153846154" branch-rate="0.375">
+ <lines>
+ <line number="361" hits="30" branch="false"/>
+ <line number="362" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="363" hits="0" branch="false"/>
+ <line number="366" hits="30" branch="false"/>
+ <line number="367" hits="30" branch="false"/>
+ <line number="368" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="370" hits="30" branch="false"/>
+ <line number="372" hits="0" branch="false"/>
+ <line number="374" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="375" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="376" hits="0" branch="false"/>
+ <line number="379" hits="0" branch="false"/>
+ <line number="384" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogFactory" signature="()Lorg/apache/commons/chain/CatalogFactory;" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="99" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogName" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommand" signature="(Lorg/apache/commons/chain/Context;)Lorg/apache/commons/chain/Command;"
+ line-rate="0.8181818181818182" branch-rate="0.625">
+ <lines>
+ <line number="398" hits="30" branch="false"/>
+ <line number="400" hits="30" branch="false"/>
+ <line number="401" hits="30" branch="false"/>
+ <line number="402" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="403" hits="30" branch="false"/>
+ <line number="404" hits="30" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="405" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="406" hits="3" branch="false"/>
+ <line number="410" hits="0" branch="false"/>
+ <line number="415" hits="27" branch="false"/>
+ <line number="417" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommandName" signature="(Lorg/apache/commons/chain/Context;)Ljava/lang/String;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="432" hits="30" branch="false"/>
+ <line number="433" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="434" hits="6" branch="false"/>
+ <line number="436" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="getName" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="140" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="getNameKey" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="168" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="isIgnoreExecuteResult" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="226" hits="15" branch="false"/>
+ </lines>
+ </method>
+ <method name="isIgnorePostprocessResult" signature="()Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="260" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="isOptional" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="196" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="postprocess" signature="(Lorg/apache/commons/chain/Context;Ljava/lang/Exception;)Z"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="332" hits="0" branch="false"/>
+ <line number="333" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="334" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="335" hits="0" branch="false"/>
+ <line number="336" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="337" hits="0" branch="false"/>
+ <line number="339" hits="0" branch="false"/>
+ <line number="342" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogFactory" signature="(Lorg/apache/commons/chain/CatalogFactory;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="88" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogName" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setIgnoreExecuteResult" signature="(Z)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="242" hits="3" branch="false"/>
+ <line number="243" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="setIgnorePostprocessResult" signature="(Z)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="276" hits="0" branch="false"/>
+ <line number="277" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setName" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="153" hits="18" branch="false"/>
+ <line number="155" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="setNameKey" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="181" hits="6" branch="false"/>
+ <line number="183" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="setOptional" signature="(Z)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="208" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="59" hits="24" branch="false"/>
+ <line number="60" hits="24" branch="false"/>
+ <line number="70" hits="24" branch="false"/>
+ <line number="71" hits="24" branch="false"/>
+ <line number="72" hits="24" branch="false"/>
+ <line number="77" hits="24" branch="false"/>
+ <line number="88" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="103" hits="24" branch="false"/>
+ <line number="112" hits="30" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="false"/>
+ <line number="130" hits="24" branch="false"/>
+ <line number="140" hits="30" branch="false"/>
+ <line number="153" hits="18" branch="false"/>
+ <line number="155" hits="18" branch="false"/>
+ <line number="158" hits="24" branch="false"/>
+ <line number="168" hits="6" branch="false"/>
+ <line number="181" hits="6" branch="false"/>
+ <line number="183" hits="6" branch="false"/>
+ <line number="186" hits="24" branch="false"/>
+ <line number="196" hits="3" branch="false"/>
+ <line number="208" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="false"/>
+ <line number="212" hits="24" branch="false"/>
+ <line number="226" hits="15" branch="false"/>
+ <line number="242" hits="3" branch="false"/>
+ <line number="243" hits="3" branch="false"/>
+ <line number="245" hits="24" branch="false"/>
+ <line number="260" hits="0" branch="false"/>
+ <line number="276" hits="0" branch="false"/>
+ <line number="277" hits="0" branch="false"/>
+ <line number="303" hits="15" branch="false"/>
+ <line number="304" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="305" hits="15" branch="false"/>
+ <line number="306" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="307" hits="3" branch="false"/>
+ <line number="309" hits="12" branch="false"/>
+ <line number="311" hits="0" branch="false"/>
+ <line number="332" hits="0" branch="false"/>
+ <line number="333" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="334" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="335" hits="0" branch="false"/>
+ <line number="336" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="337" hits="0" branch="false"/>
+ <line number="339" hits="0" branch="false"/>
+ <line number="342" hits="0" branch="false"/>
+ <line number="361" hits="30" branch="false"/>
+ <line number="362" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="363" hits="0" branch="false"/>
+ <line number="366" hits="30" branch="false"/>
+ <line number="367" hits="30" branch="false"/>
+ <line number="368" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="370" hits="30" branch="false"/>
+ <line number="372" hits="0" branch="false"/>
+ <line number="374" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="375" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="376" hits="0" branch="false"/>
+ <line number="379" hits="0" branch="false"/>
+ <line number="384" hits="30" branch="false"/>
+ <line number="398" hits="30" branch="false"/>
+ <line number="400" hits="30" branch="false"/>
+ <line number="401" hits="30" branch="false"/>
+ <line number="402" hits="30" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="403" hits="30" branch="false"/>
+ <line number="404" hits="30" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="405" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="406" hits="3" branch="false"/>
+ <line number="410" hits="0" branch="false"/>
+ <line number="415" hits="27" branch="false"/>
+ <line number="417" hits="0" branch="false"/>
+ <line number="432" hits="30" branch="false"/>
+ <line number="433" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="434" hits="6" branch="false"/>
+ <line number="436" hits="30" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.generic.RemoveCommand"
+ filename="org/apache/commons/chain/generic/RemoveCommand.java" line-rate="0.0" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="37" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="77" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getFromKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="46" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setFromKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="37" hits="0" branch="false"/>
+ <line number="46" hits="0" branch="false"/>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.impl" line-rate="0.5766423357664233" branch-rate="0.546875"
+ complexity="2.59375">
+ <classes>
+ <class name="org.apache.commons.chain.impl.CatalogBase"
+ filename="org/apache/commons/chain/impl/CatalogBase.java" line-rate="0.35294117647058826"
+ branch-rate="0.0" complexity="1.3333333333333333">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="56" hits="234" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Ljava/util/Map;)V" line-rate="0.25" branch-rate="1.0">
+ <lines>
+ <line number="48" hits="117" branch="false"/>
+ <line number="66" hits="0" branch="false"/>
+ <line number="67" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="addCommand" signature="(Ljava/lang/String;Lorg/apache/commons/chain/Command;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="84" hits="999" branch="false"/>
+ <line number="86" hits="999" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommand" signature="(Ljava/lang/String;)Lorg/apache/commons/chain/Command;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="98" hits="318" branch="false"/>
+ </lines>
+ </method>
+ <method name="getNames" signature="()Ljava/util/Iterator;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="111" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="126" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="128" hits="0" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ <line number="133" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="48" hits="117" branch="false"/>
+ <line number="56" hits="234" branch="false"/>
+ <line number="66" hits="0" branch="false"/>
+ <line number="67" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="84" hits="999" branch="false"/>
+ <line number="86" hits="999" branch="false"/>
+ <line number="98" hits="318" branch="false"/>
+ <line number="111" hits="18" branch="false"/>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="126" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="128" hits="0" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ <line number="133" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.CatalogFactoryBase"
+ filename="org/apache/commons/chain/impl/CatalogFactoryBase.java" line-rate="0.875" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="72" branch="false"/>
+ <line number="52" hits="36" branch="false"/>
+ <line number="58" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="addCatalog" signature="(Ljava/lang/String;Lorg/apache/commons/chain/Catalog;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="114" hits="12" branch="false"/>
+ <line number="115" hits="12" branch="false"/>
+ <line number="116" hits="12" branch="false"/>
+ <line number="118" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="()Lorg/apache/commons/chain/Catalog;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="72" hits="96" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="(Ljava/lang/String;)Lorg/apache/commons/chain/Catalog;"
+ line-rate="0.6666666666666666" branch-rate="1.0">
+ <lines>
+ <line number="98" hits="75" branch="false"/>
+ <line number="99" hits="75" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getNames" signature="()Ljava/util/Iterator;" line-rate="0.6666666666666666" branch-rate="1.0">
+ <lines>
+ <line number="129" hits="15" branch="false"/>
+ <line number="130" hits="15" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalog" signature="(Lorg/apache/commons/chain/Catalog;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="84" hits="36" branch="false"/>
+ <line number="86" hits="36" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="72" branch="false"/>
+ <line number="52" hits="36" branch="false"/>
+ <line number="58" hits="36" branch="false"/>
+ <line number="72" hits="96" branch="false"/>
+ <line number="84" hits="36" branch="false"/>
+ <line number="86" hits="36" branch="false"/>
+ <line number="98" hits="75" branch="false"/>
+ <line number="99" hits="75" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ <line number="114" hits="12" branch="false"/>
+ <line number="115" hits="12" branch="false"/>
+ <line number="116" hits="12" branch="false"/>
+ <line number="118" hits="12" branch="false"/>
+ <line number="129" hits="15" branch="false"/>
+ <line number="130" hits="15" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ChainBase" filename="org/apache/commons/chain/impl/ChainBase.java"
+ line-rate="0.576271186440678" branch-rate="0.5" complexity="4.285714285714286">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="44" hits="552" branch="false"/>
+ <line number="46" hits="552" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Ljava/util/Collection;)V" line-rate="0.2222222222222222"
+ branch-rate="0.0">
+ <lines>
+ <line number="97" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="false"/>
+ <line number="103" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="107" hits="0" branch="false"/>
+ <line number="118" hits="552" branch="false"/>
+ <line number="125" hits="552" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/Command;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="false"/>
+ <line number="62" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="([Lorg/apache/commons/chain/Command;)V" line-rate="0.0"
+ branch-rate="0.0">
+ <lines>
+ <line number="75" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="81" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="addCommand" signature="(Lorg/apache/commons/chain/Command;)V" line-rate="0.7777777777777778"
+ branch-rate="0.5">
+ <lines>
+ <line number="142" hits="1416" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="143" hits="0" branch="false"/>
+ <line number="145" hits="1416" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="146" hits="0" branch="false"/>
+ <line number="148" hits="1416" branch="false"/>
+ <line number="149" hits="1416" branch="false"/>
+ <line number="150" hits="1416" branch="false"/>
+ <line number="151" hits="1416" branch="false"/>
+ <line number="153" hits="1416" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.7586206896551724"
+ branch-rate="0.7222222222222222">
+ <lines>
+ <line number="176" hits="99" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="177" hits="0" branch="false"/>
+ <line number="181" hits="99" branch="false"/>
+ <line number="185" hits="99" branch="false"/>
+ <line number="186" hits="99" branch="false"/>
+ <line number="187" hits="99" branch="false"/>
+ <line number="188" hits="99" branch="false"/>
+ <line number="189" hits="261" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="237" branch="false"/>
+ <line number="192" hits="237" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="193" hits="75" branch="false"/>
+ <line number="195" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="198" hits="162" branch="false"/>
+ <line number="202" hits="99" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="203" hits="24" branch="false"/>
+ <line number="205" hits="99" branch="false"/>
+ <line number="206" hits="99" branch="false"/>
+ <line number="207" hits="336" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="208" hits="237" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="210" hits="81" branch="false"/>
+ <line number="213" hits="81" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="214" hits="0" branch="false"/>
+ <line number="216" hits="0" branch="false"/>
+ <line number="218" hits="81" branch="false"/>
+ <line number="223" hits="99" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="224" hits="0" branch="false"/>
+ <line number="226" hits="99" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommands" signature="()[Lorg/apache/commons/chain/Command;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="242" hits="15" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="44" hits="552" branch="false"/>
+ <line number="46" hits="552" branch="false"/>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="false"/>
+ <line number="62" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="81" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ <line number="97" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="false"/>
+ <line number="103" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="107" hits="0" branch="false"/>
+ <line number="118" hits="552" branch="false"/>
+ <line number="125" hits="552" branch="false"/>
+ <line number="142" hits="1416" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="143" hits="0" branch="false"/>
+ <line number="145" hits="1416" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="146" hits="0" branch="false"/>
+ <line number="148" hits="1416" branch="false"/>
+ <line number="149" hits="1416" branch="false"/>
+ <line number="150" hits="1416" branch="false"/>
+ <line number="151" hits="1416" branch="false"/>
+ <line number="153" hits="1416" branch="false"/>
+ <line number="176" hits="99" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="177" hits="0" branch="false"/>
+ <line number="181" hits="99" branch="false"/>
+ <line number="185" hits="99" branch="false"/>
+ <line number="186" hits="99" branch="false"/>
+ <line number="187" hits="99" branch="false"/>
+ <line number="188" hits="99" branch="false"/>
+ <line number="189" hits="261" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="237" branch="false"/>
+ <line number="192" hits="237" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="193" hits="75" branch="false"/>
+ <line number="195" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="198" hits="162" branch="false"/>
+ <line number="202" hits="99" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="203" hits="24" branch="false"/>
+ <line number="205" hits="99" branch="false"/>
+ <line number="206" hits="99" branch="false"/>
+ <line number="207" hits="336" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="208" hits="237" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="210" hits="81" branch="false"/>
+ <line number="213" hits="81" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="214" hits="0" branch="false"/>
+ <line number="216" hits="0" branch="false"/>
+ <line number="218" hits="81" branch="false"/>
+ <line number="223" hits="99" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="224" hits="0" branch="false"/>
+ <line number="226" hits="99" branch="false"/>
+ <line number="242" hits="15" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.7927927927927928"
+ branch-rate="0.7878787878787878" complexity="2.7111111111111112">
+ <methods>
+ <method name="<clinit>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="64" hits="558" branch="false"/>
+ <line number="65" hits="558" branch="false"/>
+ <line number="67" hits="558" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Ljava/util/Map;)V" line-rate="0.3333333333333333" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ <line number="86" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ <line number="107" hits="558" branch="false"/>
+ <line number="113" hits="558" branch="false"/>
+ </lines>
+ </method>
+ <method name="access$400"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Ljava/lang/Object;)Ljava/util/Map$Entry;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="access$500" signature="(Lorg/apache/commons/chain/impl/ContextBase;)Ljava/util/Iterator;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="access$600" signature="(Lorg/apache/commons/chain/impl/ContextBase;Ljava/util/Map$Entry;)Z"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="access$700" signature="(Lorg/apache/commons/chain/impl/ContextBase;)Ljava/util/Iterator;"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="53" hits="816" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="150" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="6" branch="false"/>
+ <line number="153" hits="18" branch="false"/>
+ <line number="154" hits="207" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="189" branch="false"/>
+ <line number="156" hits="189" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="157" hits="27" branch="false"/>
+ <line number="159" hits="189" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.7692307692307693"
+ branch-rate="0.7142857142857143">
+ <lines>
+ <line number="179" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="180" hits="27" branch="false"/>
+ <line number="184" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="185" hits="36" branch="false"/>
+ <line number="189" hits="540" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="190" hits="495" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="480" branch="false"/>
+ <line number="192" hits="480" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="0" branch="false"/>
+ <line number="196" hits="480" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="197" hits="0" branch="false"/>
+ <line number="201" hits="45" branch="false"/>
+ </lines>
+ </method>
+ <method name="entriesIterator" signature="()Ljava/util/Iterator;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="428" hits="108" branch="false"/>
+ </lines>
+ </method>
+ <method name="entry" signature="(Ljava/lang/Object;)Ljava/util/Map$Entry;" line-rate="0.6666666666666666"
+ branch-rate="0.5">
+ <lines>
+ <line number="441" hits="708" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="442" hits="708" branch="false"/>
+ <line number="444" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="217" hits="108" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="0.875">
+ <lines>
+ <line number="243" hits="1593" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="244" hits="561" branch="false"/>
+ <line number="248" hits="1032" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="249" hits="1032" branch="false"/>
+ <line number="251" hits="1032" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="252" hits="816" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="253" hits="783" branch="false"/>
+ <line number="255" hits="33" branch="false"/>
+ <line number="261" hits="216" branch="false"/>
+ </lines>
+ </method>
+ <method name="initialize" signature="()V" line-rate="0.8333333333333334" branch-rate="1.0">
+ <lines>
+ <line number="465" hits="558" branch="false"/>
+ <line number="467" hits="0" branch="false"/>
+ <line number="468" hits="0" branch="false"/>
+ <line number="469" hits="558" branch="false"/>
+ <line number="472" hits="4833" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="473" hits="4275" branch="false"/>
+ <line number="476" hits="4275" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="477" hits="3159" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="478" hits="333" branch="false"/>
+ <line number="480" hits="3159" branch="false"/>
+ <line number="481" hits="3159" branch="false"/>
+ <line number="485" hits="558" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="277" hits="177" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="278" hits="39" branch="false"/>
+ <line number="282" hits="138" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="299" hits="330" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="0.875">
+ <lines>
+ <line number="321" hits="375" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="322" hits="195" branch="false"/>
+ <line number="326" hits="180" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="327" hits="180" branch="false"/>
+ <line number="329" hits="180" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="330" hits="9" branch="false"/>
+ <line number="331" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="332" hits="6" branch="false"/>
+ <line number="334" hits="9" branch="false"/>
+ <line number="335" hits="6" branch="false"/>
+ <line number="340" hits="171" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="360" hits="12" branch="false"/>
+ <line number="361" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="362" hits="36" branch="false"/>
+ <line number="363" hits="36" branch="false"/>
+ <line number="364" hits="36" branch="false"/>
+ <line number="366" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="readProperty" signature="(Ljava/beans/PropertyDescriptor;)Ljava/lang/Object;" line-rate="0.5"
+ branch-rate="0.5">
+ <lines>
+ <line number="502" hits="1269" branch="false"/>
+ <line number="503" hits="1269" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="504" hits="0" branch="false"/>
+ <line number="508" hits="1269" branch="false"/>
+ <line number="509" hits="0" branch="false"/>
+ <line number="510" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="0.8571428571428571"
+ branch-rate="0.6666666666666666">
+ <lines>
+ <line number="383" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="384" hits="9" branch="false"/>
+ <line number="388" hits="27" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="389" hits="27" branch="false"/>
+ <line number="391" hits="27" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="392" hits="0" branch="false"/>
+ <line number="398" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/util/Map$Entry;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="530" hits="0" branch="false"/>
+ <line number="531" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="532" hits="0" branch="false"/>
+ <line number="533" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="534" hits="0" branch="false"/>
+ <line number="536" hits="0" branch="false"/>
+ <line number="537" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="414" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="valuesIterator" signature="()Ljava/util/Iterator;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="549" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="writeProperty" signature="(Ljava/beans/PropertyDescriptor;Ljava/lang/Object;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="570" hits="9" branch="false"/>
+ <line number="571" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="572" hits="3" branch="false"/>
+ <line number="576" hits="6" branch="false"/>
+ <line number="577" hits="3" branch="false"/>
+ <line number="578" hits="3" branch="false"/>
+ <line number="581" hits="6" branch="false"/>
+ <line number="583" hits="6" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="53" hits="816" branch="false"/>
+ <line number="64" hits="558" branch="false"/>
+ <line number="65" hits="558" branch="false"/>
+ <line number="67" hits="558" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="86" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ <line number="107" hits="558" branch="false"/>
+ <line number="113" hits="558" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ <line number="150" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="6" branch="false"/>
+ <line number="153" hits="18" branch="false"/>
+ <line number="154" hits="207" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="189" branch="false"/>
+ <line number="156" hits="189" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="157" hits="27" branch="false"/>
+ <line number="159" hits="189" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ <line number="179" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="180" hits="27" branch="false"/>
+ <line number="184" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="185" hits="36" branch="false"/>
+ <line number="189" hits="540" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="190" hits="495" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="480" branch="false"/>
+ <line number="192" hits="480" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="0" branch="false"/>
+ <line number="196" hits="480" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="197" hits="0" branch="false"/>
+ <line number="201" hits="45" branch="false"/>
+ <line number="217" hits="108" branch="false"/>
+ <line number="243" hits="1593" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="244" hits="561" branch="false"/>
+ <line number="248" hits="1032" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="249" hits="1032" branch="false"/>
+ <line number="251" hits="1032" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="252" hits="816" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="253" hits="783" branch="false"/>
+ <line number="255" hits="33" branch="false"/>
+ <line number="261" hits="216" branch="false"/>
+ <line number="277" hits="177" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="278" hits="39" branch="false"/>
+ <line number="282" hits="138" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="299" hits="330" branch="false"/>
+ <line number="321" hits="375" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="322" hits="195" branch="false"/>
+ <line number="326" hits="180" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="327" hits="180" branch="false"/>
+ <line number="329" hits="180" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="330" hits="9" branch="false"/>
+ <line number="331" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="332" hits="6" branch="false"/>
+ <line number="334" hits="9" branch="false"/>
+ <line number="335" hits="6" branch="false"/>
+ <line number="340" hits="171" branch="false"/>
+ <line number="360" hits="12" branch="false"/>
+ <line number="361" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="362" hits="36" branch="false"/>
+ <line number="363" hits="36" branch="false"/>
+ <line number="364" hits="36" branch="false"/>
+ <line number="366" hits="12" branch="false"/>
+ <line number="383" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="384" hits="9" branch="false"/>
+ <line number="388" hits="27" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="389" hits="27" branch="false"/>
+ <line number="391" hits="27" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="392" hits="0" branch="false"/>
+ <line number="398" hits="27" branch="false"/>
+ <line number="414" hits="0" branch="false"/>
+ <line number="428" hits="108" branch="false"/>
+ <line number="441" hits="708" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="442" hits="708" branch="false"/>
+ <line number="444" hits="0" branch="false"/>
+ <line number="465" hits="558" branch="false"/>
+ <line number="467" hits="0" branch="false"/>
+ <line number="468" hits="0" branch="false"/>
+ <line number="469" hits="558" branch="false"/>
+ <line number="472" hits="4833" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="473" hits="4275" branch="false"/>
+ <line number="476" hits="4275" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="477" hits="3159" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="478" hits="333" branch="false"/>
+ <line number="480" hits="3159" branch="false"/>
+ <line number="481" hits="3159" branch="false"/>
+ <line number="485" hits="558" branch="false"/>
+ <line number="502" hits="1269" branch="false"/>
+ <line number="503" hits="1269" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="504" hits="0" branch="false"/>
+ <line number="508" hits="1269" branch="false"/>
+ <line number="509" hits="0" branch="false"/>
+ <line number="510" hits="0" branch="false"/>
+ <line number="530" hits="0" branch="false"/>
+ <line number="531" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="532" hits="0" branch="false"/>
+ <line number="533" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="534" hits="0" branch="false"/>
+ <line number="536" hits="0" branch="false"/>
+ <line number="537" hits="0" branch="false"/>
+ <line number="549" hits="0" branch="false"/>
+ <line number="570" hits="9" branch="false"/>
+ <line number="571" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="572" hits="3" branch="false"/>
+ <line number="576" hits="6" branch="false"/>
+ <line number="577" hits="3" branch="false"/>
+ <line number="578" hits="3" branch="false"/>
+ <line number="581" hits="6" branch="false"/>
+ <line number="583" hits="6" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$1"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.5" branch-rate="1.0"
+ complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="126" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="127" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="126" hits="3" branch="false"/>
+ <line number="127" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$EntrySetImpl"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.125" branch-rate="0.0"
+ complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/impl/ContextBase;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Lorg/apache/commons/chain/impl/ContextBase$1;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="593" hits="216" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="596" hits="0" branch="false"/>
+ <line number="597" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="contains" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="600" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="601" hits="0" branch="false"/>
+ <line number="603" hits="0" branch="false"/>
+ <line number="604" hits="0" branch="false"/>
+ <line number="605" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="606" hits="0" branch="false"/>
+ <line number="608" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="613" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="iterator" signature="()Ljava/util/Iterator;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="617" hits="108" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="621" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="622" hits="0" branch="false"/>
+ <line number="624" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="629" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="593" hits="216" branch="false"/>
+ <line number="596" hits="0" branch="false"/>
+ <line number="597" hits="0" branch="false"/>
+ <line number="600" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="601" hits="0" branch="false"/>
+ <line number="603" hits="0" branch="false"/>
+ <line number="604" hits="0" branch="false"/>
+ <line number="605" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="606" hits="0" branch="false"/>
+ <line number="608" hits="0" branch="false"/>
+ <line number="613" hits="0" branch="false"/>
+ <line number="617" hits="108" branch="false"/>
+ <line number="621" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="622" hits="0" branch="false"/>
+ <line number="624" hits="0" branch="false"/>
+ <line number="629" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$EntrySetIterator"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.75" branch-rate="1.0"
+ complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/impl/ContextBase;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="641" hits="108" branch="false"/>
+ <line number="642" hits="108" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Lorg/apache/commons/chain/impl/ContextBase$1;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="639" hits="216" branch="false"/>
+ </lines>
+ </method>
+ <method name="hasNext" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="645" hits="816" branch="false"/>
+ </lines>
+ </method>
+ <method name="next" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="649" hits="708" branch="false"/>
+ <line number="650" hits="708" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="654" hits="0" branch="false"/>
+ <line number="655" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="639" hits="216" branch="false"/>
+ <line number="641" hits="108" branch="false"/>
+ <line number="642" hits="108" branch="false"/>
+ <line number="645" hits="816" branch="false"/>
+ <line number="649" hits="708" branch="false"/>
+ <line number="650" hits="708" branch="false"/>
+ <line number="654" hits="0" branch="false"/>
+ <line number="655" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$MapEntryImpl"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.2916666666666667"
+ branch-rate="0.16666666666666666" complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Ljava/lang/Object;Ljava/lang/Object;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="666" hits="708" branch="false"/>
+ <line number="667" hits="708" branch="false"/>
+ <line number="668" hits="708" branch="false"/>
+ <line number="669" hits="708" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="675" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="676" hits="0" branch="false"/>
+ <line number="677" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="678" hits="0" branch="false"/>
+ <line number="680" hits="0" branch="false"/>
+ <line number="681" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="682" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="684" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="685" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="686" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="688" hits="0" branch="false"/>
+ <line number="691" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getKey" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="696" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="getValue" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="700" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="0.75">
+ <lines>
+ <line number="704" hits="672" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="setValue" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="709" hits="0" branch="false"/>
+ <line number="710" hits="0" branch="false"/>
+ <line number="711" hits="0" branch="false"/>
+ <line number="712" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="toString" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="716" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="666" hits="708" branch="false"/>
+ <line number="667" hits="708" branch="false"/>
+ <line number="668" hits="708" branch="false"/>
+ <line number="669" hits="708" branch="false"/>
+ <line number="675" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="676" hits="0" branch="false"/>
+ <line number="677" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="678" hits="0" branch="false"/>
+ <line number="680" hits="0" branch="false"/>
+ <line number="681" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="682" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="684" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="685" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="686" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="688" hits="0" branch="false"/>
+ <line number="691" hits="0" branch="false"/>
+ <line number="696" hits="36" branch="false"/>
+ <line number="700" hits="36" branch="false"/>
+ <line number="704" hits="672" branch="true" condition-coverage="75% (3/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="709" hits="0" branch="false"/>
+ <line number="710" hits="0" branch="false"/>
+ <line number="711" hits="0" branch="false"/>
+ <line number="712" hits="0" branch="false"/>
+ <line number="716" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$ValuesImpl"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.0" branch-rate="0.0"
+ complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/impl/ContextBase;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Lorg/apache/commons/chain/impl/ContextBase$1;)V"
+ line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="725" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="728" hits="0" branch="false"/>
+ <line number="729" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="contains" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="732" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="733" hits="0" branch="false"/>
+ <line number="735" hits="0" branch="false"/>
+ <line number="736" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="740" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="iterator" signature="()Ljava/util/Iterator;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="744" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="748" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="749" hits="0" branch="false"/>
+ <line number="751" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="756" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="725" hits="0" branch="false"/>
+ <line number="728" hits="0" branch="false"/>
+ <line number="729" hits="0" branch="false"/>
+ <line number="732" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="733" hits="0" branch="false"/>
+ <line number="735" hits="0" branch="false"/>
+ <line number="736" hits="0" branch="false"/>
+ <line number="740" hits="0" branch="false"/>
+ <line number="744" hits="0" branch="false"/>
+ <line number="748" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="749" hits="0" branch="false"/>
+ <line number="751" hits="0" branch="false"/>
+ <line number="756" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.impl.ContextBase$ValuesIterator"
+ filename="org/apache/commons/chain/impl/ContextBase.java" line-rate="0.0" branch-rate="1.0"
+ complexity="2.7111111111111112">
+ <methods>
+ <method name="<init>" signature="(Lorg/apache/commons/chain/impl/ContextBase;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="768" hits="0" branch="false"/>
+ <line number="769" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Lorg/apache/commons/chain/impl/ContextBase;Lorg/apache/commons/chain/impl/ContextBase$1;)V"
+ line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="766" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="hasNext" signature="()Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="772" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="next" signature="()Ljava/lang/Object;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="776" hits="0" branch="false"/>
+ <line number="777" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="781" hits="0" branch="false"/>
+ <line number="782" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="766" hits="0" branch="false"/>
+ <line number="768" hits="0" branch="false"/>
+ <line number="769" hits="0" branch="false"/>
+ <line number="772" hits="0" branch="false"/>
+ <line number="776" hits="0" branch="false"/>
+ <line number="777" hits="0" branch="false"/>
+ <line number="781" hits="0" branch="false"/>
+ <line number="782" hits="0" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.web" line-rate="0.22014925373134328" branch-rate="0.16666666666666666"
+ complexity="3.5277777777777777">
+ <classes>
+ <class name="org.apache.commons.chain.web.AbstractGetLocaleCommand"
+ filename="org/apache/commons/chain/web/AbstractGetLocaleCommand.java" line-rate="1.0" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="34" hits="18" branch="false"/>
+ <line number="43" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="86" hits="18" branch="false"/>
+ <line number="87" hits="18" branch="false"/>
+ </lines>
+ </method>
+ <method name="getLocaleKey" signature="()Ljava/lang/String;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="54" hits="54" branch="false"/>
+ </lines>
+ </method>
+ <method name="setLocaleKey" signature="(Ljava/lang/String;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="67" hits="9" branch="false"/>
+ <line number="69" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="34" hits="18" branch="false"/>
+ <line number="43" hits="18" branch="false"/>
+ <line number="54" hits="54" branch="false"/>
+ <line number="67" hits="9" branch="false"/>
+ <line number="69" hits="9" branch="false"/>
+ <line number="86" hits="18" branch="false"/>
+ <line number="87" hits="18" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.AbstractSetLocaleCommand"
+ filename="org/apache/commons/chain/web/AbstractSetLocaleCommand.java" line-rate="0.0" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="35" hits="0" branch="false"/>
+ <line number="44" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="execute" signature="(Lorg/apache/commons/chain/Context;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getLocaleKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="55" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setLocaleKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="68" hits="0" branch="false"/>
+ <line number="70" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="35" hits="0" branch="false"/>
+ <line number="44" hits="0" branch="false"/>
+ <line number="55" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="70" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ <line number="89" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.ChainListener"
+ filename="org/apache/commons/chain/web/ChainListener.java" line-rate="0.0" branch-rate="0.0"
+ complexity="7.4">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="99" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="169" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="contextDestroyed" signature="(Ljavax/servlet/ServletContextEvent;)V" line-rate="0.0"
+ branch-rate="0.0">
+ <lines>
+ <line number="150" hits="0" branch="false"/>
+ <line number="151" hits="0" branch="false"/>
+ <line number="152" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="0" branch="false"/>
+ <line number="155" hits="0" branch="false"/>
+ <line number="157" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="contextInitialized" signature="(Ljavax/servlet/ServletContextEvent;)V" line-rate="0.0"
+ branch-rate="0.0">
+ <lines>
+ <line number="170" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="171" hits="0" branch="false"/>
+ <line number="173" hits="0" branch="false"/>
+ <line number="176" hits="0" branch="false"/>
+ <line number="177" hits="0" branch="false"/>
+ <line number="179" hits="0" branch="false"/>
+ <line number="180" hits="0" branch="false"/>
+ <line number="183" hits="0" branch="false"/>
+ <line number="184" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="185" hits="0" branch="false"/>
+ <line number="186" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="187" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="198" hits="0" branch="false"/>
+ <line number="200" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="false"/>
+ <line number="202" hits="0" branch="false"/>
+ <line number="203" hits="0" branch="false"/>
+ <line number="206" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="211" hits="0" branch="false"/>
+ <line number="212" hits="0" branch="false"/>
+ <line number="214" hits="0" branch="false"/>
+ <line number="217" hits="0" branch="false"/>
+ <line number="218" hits="0" branch="false"/>
+ <line number="220" hits="0" branch="false"/>
+ <line number="225" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="226" hits="0" branch="false"/>
+ <line number="229" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseJarResources"
+ signature="(Ljavax/servlet/ServletContext;Lorg/apache/commons/chain/config/ConfigParser;Lorg/apache/commons/logging/Log;)V"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="245" hits="0" branch="false"/>
+ <line number="246" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="247" hits="0" branch="false"/>
+ <line number="249" hits="0" branch="false"/>
+ <line number="250" hits="0" branch="false"/>
+ <line number="251" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="253" hits="0" branch="false"/>
+ <line number="254" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="255" hits="0" branch="false"/>
+ <line number="257" hits="0" branch="false"/>
+ <line number="259" hits="0" branch="false"/>
+ <line number="260" hits="0" branch="false"/>
+ <line number="263" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="264" hits="0" branch="false"/>
+ <line number="266" hits="0" branch="false"/>
+ <line number="268" hits="0" branch="false"/>
+ <line number="269" hits="0" branch="false"/>
+ <line number="271" hits="0" branch="false"/>
+ <line number="272" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="273" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="274" hits="0" branch="false"/>
+ <line number="276" hits="0" branch="false"/>
+ <line number="278" hits="0" branch="false"/>
+ <line number="280" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="281" hits="0" branch="false"/>
+ <line number="283" hits="0" branch="false"/>
+ <line number="284" hits="0" branch="false"/>
+ <line number="285" hits="0" branch="false"/>
+ <line number="289" hits="0" branch="false"/>
+ <line number="290" hits="0" branch="false"/>
+ <line number="292" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseJarResources"
+ signature="(Lorg/apache/commons/chain/Catalog;Ljavax/servlet/ServletContext;Lorg/apache/commons/chain/config/ConfigParser;Lorg/apache/commons/logging/Log;)V"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="309" hits="0" branch="false"/>
+ <line number="310" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="311" hits="0" branch="false"/>
+ <line number="313" hits="0" branch="false"/>
+ <line number="314" hits="0" branch="false"/>
+ <line number="315" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="317" hits="0" branch="false"/>
+ <line number="318" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="319" hits="0" branch="false"/>
+ <line number="321" hits="0" branch="false"/>
+ <line number="323" hits="0" branch="false"/>
+ <line number="324" hits="0" branch="false"/>
+ <line number="327" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="328" hits="0" branch="false"/>
+ <line number="330" hits="0" branch="false"/>
+ <line number="332" hits="0" branch="false"/>
+ <line number="333" hits="0" branch="false"/>
+ <line number="335" hits="0" branch="false"/>
+ <line number="336" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="337" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="338" hits="0" branch="false"/>
+ <line number="340" hits="0" branch="false"/>
+ <line number="342" hits="0" branch="false"/>
+ <line number="344" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="345" hits="0" branch="false"/>
+ <line number="347" hits="0" branch="false"/>
+ <line number="348" hits="0" branch="false"/>
+ <line number="349" hits="0" branch="false"/>
+ <line number="353" hits="0" branch="false"/>
+ <line number="354" hits="0" branch="false"/>
+ <line number="356" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="translate" signature="(Ljava/lang/String;)Ljava/lang/String;" line-rate="0.0"
+ branch-rate="0.0">
+ <lines>
+ <line number="368" hits="0" branch="false"/>
+ <line number="369" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="370" hits="0" branch="false"/>
+ <line number="372" hits="0" branch="false"/>
+ <line number="373" hits="0" branch="false"/>
+ <line number="374" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="99" hits="0" branch="false"/>
+ <line number="150" hits="0" branch="false"/>
+ <line number="151" hits="0" branch="false"/>
+ <line number="152" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="0" branch="false"/>
+ <line number="155" hits="0" branch="false"/>
+ <line number="157" hits="0" branch="false"/>
+ <line number="169" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="170" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="171" hits="0" branch="false"/>
+ <line number="173" hits="0" branch="false"/>
+ <line number="176" hits="0" branch="false"/>
+ <line number="177" hits="0" branch="false"/>
+ <line number="179" hits="0" branch="false"/>
+ <line number="180" hits="0" branch="false"/>
+ <line number="183" hits="0" branch="false"/>
+ <line number="184" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="185" hits="0" branch="false"/>
+ <line number="186" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="187" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="198" hits="0" branch="false"/>
+ <line number="200" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="false"/>
+ <line number="202" hits="0" branch="false"/>
+ <line number="203" hits="0" branch="false"/>
+ <line number="206" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="211" hits="0" branch="false"/>
+ <line number="212" hits="0" branch="false"/>
+ <line number="214" hits="0" branch="false"/>
+ <line number="217" hits="0" branch="false"/>
+ <line number="218" hits="0" branch="false"/>
+ <line number="220" hits="0" branch="false"/>
+ <line number="225" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="226" hits="0" branch="false"/>
+ <line number="229" hits="0" branch="false"/>
+ <line number="245" hits="0" branch="false"/>
+ <line number="246" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="247" hits="0" branch="false"/>
+ <line number="249" hits="0" branch="false"/>
+ <line number="250" hits="0" branch="false"/>
+ <line number="251" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="253" hits="0" branch="false"/>
+ <line number="254" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="255" hits="0" branch="false"/>
+ <line number="257" hits="0" branch="false"/>
+ <line number="259" hits="0" branch="false"/>
+ <line number="260" hits="0" branch="false"/>
+ <line number="263" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="264" hits="0" branch="false"/>
+ <line number="266" hits="0" branch="false"/>
+ <line number="268" hits="0" branch="false"/>
+ <line number="269" hits="0" branch="false"/>
+ <line number="271" hits="0" branch="false"/>
+ <line number="272" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="273" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="274" hits="0" branch="false"/>
+ <line number="276" hits="0" branch="false"/>
+ <line number="278" hits="0" branch="false"/>
+ <line number="280" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="281" hits="0" branch="false"/>
+ <line number="283" hits="0" branch="false"/>
+ <line number="284" hits="0" branch="false"/>
+ <line number="285" hits="0" branch="false"/>
+ <line number="289" hits="0" branch="false"/>
+ <line number="290" hits="0" branch="false"/>
+ <line number="292" hits="0" branch="false"/>
+ <line number="309" hits="0" branch="false"/>
+ <line number="310" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="311" hits="0" branch="false"/>
+ <line number="313" hits="0" branch="false"/>
+ <line number="314" hits="0" branch="false"/>
+ <line number="315" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="317" hits="0" branch="false"/>
+ <line number="318" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="319" hits="0" branch="false"/>
+ <line number="321" hits="0" branch="false"/>
+ <line number="323" hits="0" branch="false"/>
+ <line number="324" hits="0" branch="false"/>
+ <line number="327" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="328" hits="0" branch="false"/>
+ <line number="330" hits="0" branch="false"/>
+ <line number="332" hits="0" branch="false"/>
+ <line number="333" hits="0" branch="false"/>
+ <line number="335" hits="0" branch="false"/>
+ <line number="336" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="337" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="338" hits="0" branch="false"/>
+ <line number="340" hits="0" branch="false"/>
+ <line number="342" hits="0" branch="false"/>
+ <line number="344" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="345" hits="0" branch="false"/>
+ <line number="347" hits="0" branch="false"/>
+ <line number="348" hits="0" branch="false"/>
+ <line number="349" hits="0" branch="false"/>
+ <line number="353" hits="0" branch="false"/>
+ <line number="354" hits="0" branch="false"/>
+ <line number="356" hits="0" branch="false"/>
+ <line number="368" hits="0" branch="false"/>
+ <line number="369" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="370" hits="0" branch="false"/>
+ <line number="372" hits="0" branch="false"/>
+ <line number="373" hits="0" branch="false"/>
+ <line number="374" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.ChainResources"
+ filename="org/apache/commons/chain/web/ChainResources.java" line-rate="0.1744186046511628"
+ branch-rate="0.17857142857142858" complexity="8.6">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="57" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="getResourcePaths" signature="(Ljava/lang/String;)[Ljava/lang/String;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="227" hits="30" branch="false"/>
+ <line number="229" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="87" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="234" hits="60" branch="false"/>
+ <line number="235" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="236" hits="39" branch="false"/>
+ <line number="238" hits="60" branch="false"/>
+ <line number="240" hits="27" branch="false"/>
+ <line number="241" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="242" hits="15" branch="false"/>
+ <line number="246" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseClassResources"
+ signature="(Ljava/lang/String;Lorg/apache/commons/chain/config/ConfigParser;)V"
+ line-rate="0.10526315789473684" branch-rate="0.08333333333333333">
+ <lines>
+ <line number="54" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="55" hits="3" branch="false"/>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="61" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="0" branch="false"/>
+ <line number="64" hits="0" branch="false"/>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="67" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="73" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="74" hits="0" branch="false"/>
+ <line number="76" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="false"/>
+ <line number="82" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseClassResources"
+ signature="(Lorg/apache/commons/chain/Catalog;Ljava/lang/String;Lorg/apache/commons/chain/config/ConfigParser;)V"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="101" hits="0" branch="false"/>
+ <line number="103" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="109" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ <line number="112" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="113" hits="0" branch="false"/>
+ <line number="114" hits="0" branch="false"/>
+ <line number="115" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="116" hits="0" branch="false"/>
+ <line number="119" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="120" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="false"/>
+ <line number="124" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ <line number="128" hits="0" branch="false"/>
+ <line number="130" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseWebResources"
+ signature="(Ljavax/servlet/ServletContext;Ljava/lang/String;Lorg/apache/commons/chain/config/ConfigParser;)V"
+ line-rate="0.11764705882352941" branch-rate="0.1">
+ <lines>
+ <line number="144" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="145" hits="3" branch="false"/>
+ <line number="147" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="0" branch="false"/>
+ <line number="149" hits="0" branch="false"/>
+ <line number="151" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="0" branch="false"/>
+ <line number="154" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="0" branch="false"/>
+ <line number="158" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="159" hits="0" branch="false"/>
+ <line number="161" hits="0" branch="false"/>
+ <line number="163" hits="0" branch="false"/>
+ <line number="164" hits="0" branch="false"/>
+ <line number="167" hits="0" branch="false"/>
+ <line number="169" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="parseWebResources"
+ signature="(Lorg/apache/commons/chain/Catalog;Ljavax/servlet/ServletContext;Ljava/lang/String;Lorg/apache/commons/chain/config/ConfigParser;)V"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="187" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="188" hits="0" branch="false"/>
+ <line number="190" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ <line number="194" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="198" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="202" hits="0" branch="false"/>
+ <line number="204" hits="0" branch="false"/>
+ <line number="206" hits="0" branch="false"/>
+ <line number="207" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="false"/>
+ <line number="212" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ <line number="54" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="55" hits="3" branch="false"/>
+ <line number="57" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="58" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="61" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="0" branch="false"/>
+ <line number="64" hits="0" branch="false"/>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="67" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="73" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="74" hits="0" branch="false"/>
+ <line number="76" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="false"/>
+ <line number="82" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="101" hits="0" branch="false"/>
+ <line number="103" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="109" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ <line number="112" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="113" hits="0" branch="false"/>
+ <line number="114" hits="0" branch="false"/>
+ <line number="115" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="116" hits="0" branch="false"/>
+ <line number="119" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="120" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="false"/>
+ <line number="124" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ <line number="128" hits="0" branch="false"/>
+ <line number="130" hits="0" branch="false"/>
+ <line number="144" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="145" hits="3" branch="false"/>
+ <line number="147" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="0" branch="false"/>
+ <line number="149" hits="0" branch="false"/>
+ <line number="151" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="0" branch="false"/>
+ <line number="154" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="155" hits="0" branch="false"/>
+ <line number="158" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="159" hits="0" branch="false"/>
+ <line number="161" hits="0" branch="false"/>
+ <line number="163" hits="0" branch="false"/>
+ <line number="164" hits="0" branch="false"/>
+ <line number="167" hits="0" branch="false"/>
+ <line number="169" hits="0" branch="false"/>
+ <line number="187" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="188" hits="0" branch="false"/>
+ <line number="190" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ <line number="194" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="195" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="198" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="202" hits="0" branch="false"/>
+ <line number="204" hits="0" branch="false"/>
+ <line number="206" hits="0" branch="false"/>
+ <line number="207" hits="0" branch="false"/>
+ <line number="210" hits="0" branch="false"/>
+ <line number="212" hits="0" branch="false"/>
+ <line number="227" hits="30" branch="false"/>
+ <line number="229" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="87" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="234" hits="60" branch="false"/>
+ <line number="235" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="236" hits="39" branch="false"/>
+ <line number="238" hits="60" branch="false"/>
+ <line number="240" hits="27" branch="false"/>
+ <line number="241" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="242" hits="15" branch="false"/>
+ <line number="246" hits="30" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.ChainServlet"
+ filename="org/apache/commons/chain/web/ChainServlet.java" line-rate="0.4634146341463415"
+ branch-rate="0.3333333333333333" complexity="4.333333333333333">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="96" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="class$" signature="(Ljava/lang/String;)Ljava/lang/Class;" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="163" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="destroy" signature="()V" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="144" hits="0" branch="false"/>
+ <line number="145" hits="0" branch="false"/>
+ <line number="146" hits="0" branch="false"/>
+ <line number="147" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="0" branch="false"/>
+ <line number="150" hits="0" branch="false"/>
+ <line number="152" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="init" signature="()V" line-rate="0.5483870967741935" branch-rate="0.35714285714285715">
+ <lines>
+ <line number="164" hits="3" branch="false"/>
+ <line number="165" hits="3" branch="false"/>
+ <line number="166" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="167" hits="3" branch="false"/>
+ <line number="172" hits="3" branch="false"/>
+ <line number="173" hits="3" branch="false"/>
+ <line number="175" hits="3" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ <line number="179" hits="3" branch="false"/>
+ <line number="180" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="181" hits="0" branch="false"/>
+ <line number="182" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="183" hits="0" branch="false"/>
+ <line number="188" hits="3" branch="false"/>
+ <line number="189" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="0" branch="false"/>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="198" hits="0" branch="false"/>
+ <line number="199" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="false"/>
+ <line number="205" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="206" hits="3" branch="false"/>
+ <line number="208" hits="3" branch="false"/>
+ <line number="211" hits="0" branch="false"/>
+ <line number="213" hits="0" branch="false"/>
+ <line number="218" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="219" hits="0" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="service"
+ signature="(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V"
+ line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="241" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="96" hits="3" branch="false"/>
+ <line number="144" hits="0" branch="false"/>
+ <line number="145" hits="0" branch="false"/>
+ <line number="146" hits="0" branch="false"/>
+ <line number="147" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="148" hits="0" branch="false"/>
+ <line number="150" hits="0" branch="false"/>
+ <line number="152" hits="0" branch="false"/>
+ <line number="163" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="3" branch="false"/>
+ <line number="165" hits="3" branch="false"/>
+ <line number="166" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="167" hits="3" branch="false"/>
+ <line number="172" hits="3" branch="false"/>
+ <line number="173" hits="3" branch="false"/>
+ <line number="175" hits="3" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ <line number="179" hits="3" branch="false"/>
+ <line number="180" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="181" hits="0" branch="false"/>
+ <line number="182" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="183" hits="0" branch="false"/>
+ <line number="188" hits="3" branch="false"/>
+ <line number="189" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="191" hits="0" branch="false"/>
+ <line number="193" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="0" branch="false"/>
+ <line number="196" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="198" hits="0" branch="false"/>
+ <line number="199" hits="0" branch="false"/>
+ <line number="201" hits="0" branch="false"/>
+ <line number="205" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="206" hits="3" branch="false"/>
+ <line number="208" hits="3" branch="false"/>
+ <line number="211" hits="0" branch="false"/>
+ <line number="213" hits="0" branch="false"/>
+ <line number="218" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="219" hits="0" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="241" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.MapEntry" filename="org/apache/commons/chain/web/MapEntry.java"
+ line-rate="0.9444444444444444" branch-rate="0.36363636363636365" complexity="2.8333333333333335">
+ <methods>
+ <method name="<init>" signature="(Ljava/lang/Object;Ljava/lang/Object;Z)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="46" hits="474" branch="false"/>
+ <line number="56" hits="474" branch="false"/>
+ <line number="57" hits="474" branch="false"/>
+ <line number="58" hits="474" branch="false"/>
+ <line number="59" hits="474" branch="false"/>
+ <line number="60" hits="474" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.75" branch-rate="0.25">
+ <lines>
+ <line number="108" hits="84" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="109" hits="84" branch="false"/>
+ <line number="110" hits="84" branch="true" condition-coverage="16% (2/12)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ <condition number="2" type="jump" coverage="50%"/>
+ <condition number="3" type="jump" coverage="0%"/>
+ <condition number="4" type="jump" coverage="0%"/>
+ <condition number="5" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getKey" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="69" hits="1200" branch="false"/>
+ </lines>
+ </method>
+ <method name="getValue" signature="()Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="79" hits="948" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="125" hits="474" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="setValue" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="91" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="92" hits="36" branch="false"/>
+ <line number="93" hits="36" branch="false"/>
+ <line number="94" hits="36" branch="false"/>
+ <line number="96" hits="18" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="46" hits="474" branch="false"/>
+ <line number="56" hits="474" branch="false"/>
+ <line number="57" hits="474" branch="false"/>
+ <line number="58" hits="474" branch="false"/>
+ <line number="59" hits="474" branch="false"/>
+ <line number="60" hits="474" branch="false"/>
+ <line number="69" hits="1200" branch="false"/>
+ <line number="79" hits="948" branch="false"/>
+ <line number="91" hits="54" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="92" hits="36" branch="false"/>
+ <line number="93" hits="36" branch="false"/>
+ <line number="94" hits="36" branch="false"/>
+ <line number="96" hits="18" branch="false"/>
+ <line number="108" hits="84" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="109" hits="84" branch="false"/>
+ <line number="110" hits="84" branch="true" condition-coverage="16% (2/12)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ <condition number="2" type="jump" coverage="50%"/>
+ <condition number="3" type="jump" coverage="0%"/>
+ <condition number="4" type="jump" coverage="0%"/>
+ <condition number="5" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="0" branch="false"/>
+ <line number="125" hits="474" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.WebContext" filename="org/apache/commons/chain/web/WebContext.java"
+ line-rate="1.0" branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="42" hits="240" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="42" hits="240" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.web.faces" line-rate="0.0" branch-rate="1.0" complexity="1.0">
+ <classes>
+ <class name="org.apache.commons.chain.web.faces.FacesGetLocaleCommand"
+ filename="org/apache/commons/chain/web/faces/FacesGetLocaleCommand.java" line-rate="0.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getLocale" signature="(Lorg/apache/commons/chain/Context;)Ljava/util/Locale;" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.faces.FacesSetLocaleCommand"
+ filename="org/apache/commons/chain/web/faces/FacesSetLocaleCommand.java" line-rate="0.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setLocale" signature="(Lorg/apache/commons/chain/Context;Ljava/util/Locale;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="49" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="49" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.faces.FacesWebContext"
+ filename="org/apache/commons/chain/web/faces/FacesWebContext.java" line-rate="0.0" branch-rate="1.0"
+ complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="44" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>" signature="(Ljavax/faces/context/FacesContext;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="54" hits="0" branch="false"/>
+ <line number="56" hits="0" branch="false"/>
+ <line number="58" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getApplicationScope" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="124" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getContext" signature="()Ljavax/faces/context/FacesContext;" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="82" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCookies" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="197" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeader" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="136" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeaderValues" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="148" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getInitParam" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="160" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParam" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="172" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParamValues" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="184" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRequestScope" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="209" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getSessionScope" signature="()Ljava/util/Map;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="221" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="initialize" signature="(Ljavax/faces/context/FacesContext;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="95" hits="0" branch="false"/>
+ <line number="97" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="release" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="108" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="44" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="54" hits="0" branch="false"/>
+ <line number="56" hits="0" branch="false"/>
+ <line number="58" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="82" hits="0" branch="false"/>
+ <line number="95" hits="0" branch="false"/>
+ <line number="97" hits="0" branch="false"/>
+ <line number="108" hits="0" branch="false"/>
+ <line number="110" hits="0" branch="false"/>
+ <line number="124" hits="0" branch="false"/>
+ <line number="136" hits="0" branch="false"/>
+ <line number="148" hits="0" branch="false"/>
+ <line number="160" hits="0" branch="false"/>
+ <line number="172" hits="0" branch="false"/>
+ <line number="184" hits="0" branch="false"/>
+ <line number="197" hits="0" branch="false"/>
+ <line number="209" hits="0" branch="false"/>
+ <line number="221" hits="0" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.web.portlet" line-rate="0.8608490566037735" branch-rate="0.7259615384615384"
+ complexity="2.1826086956521737">
+ <classes>
+ <class name="org.apache.commons.chain.web.portlet.PortletApplicationScopeMap"
+ filename="org/apache/commons/chain/web/portlet/PortletApplicationScopeMap.java"
+ line-rate="0.7846153846153846" branch-rate="0.5714285714285714" complexity="2.0625">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletContext;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="12" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="27" branch="false"/>
+ <line number="81" hits="27" branch="false"/>
+ <line number="83" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="78" branch="false"/>
+ <line number="85" hits="78" branch="false"/>
+ <line number="87" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="92" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="97" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="102" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="171" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="39" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="27" branch="false"/>
+ <line number="113" hits="27" branch="false"/>
+ <line number="114" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="78" branch="false"/>
+ <line number="117" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.8333333333333334" branch-rate="0.5">
+ <lines>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="135" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="102" branch="false"/>
+ <line number="154" hits="102" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="161" hits="24" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ <line number="163" hits="90" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="66" branch="false"/>
+ <line number="166" hits="24" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="12" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ <line number="80" hits="27" branch="false"/>
+ <line number="81" hits="27" branch="false"/>
+ <line number="83" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="78" branch="false"/>
+ <line number="85" hits="78" branch="false"/>
+ <line number="87" hits="27" branch="false"/>
+ <line number="92" hits="0" branch="false"/>
+ <line number="97" hits="27" branch="false"/>
+ <line number="102" hits="24" branch="false"/>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="112" hits="27" branch="false"/>
+ <line number="113" hits="27" branch="false"/>
+ <line number="114" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="78" branch="false"/>
+ <line number="117" hits="27" branch="false"/>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="135" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="102" branch="false"/>
+ <line number="154" hits="102" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ <line number="161" hits="24" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ <line number="163" hits="90" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="66" branch="false"/>
+ <line number="166" hits="24" branch="false"/>
+ <line number="171" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="39" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletGetLocaleCommand"
+ filename="org/apache/commons/chain/web/portlet/PortletGetLocaleCommand.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="getLocale" signature="(Lorg/apache/commons/chain/Context;)Ljava/util/Locale;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="45" hits="6" branch="false"/>
+ <line number="47" hits="6" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="6" branch="false"/>
+ <line number="45" hits="6" branch="false"/>
+ <line number="47" hits="6" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletInitParamMap"
+ filename="org/apache/commons/chain/web/portlet/PortletInitParamMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletContext;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="9" branch="false"/>
+ <line number="63" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="9" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="18" branch="false"/>
+ <line number="78" hits="18" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="18" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="27" branch="false"/>
+ <line number="134" hits="27" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="12" branch="false"/>
+ <line number="142" hits="12" branch="false"/>
+ <line number="143" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="36" branch="false"/>
+ <line number="146" hits="12" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="9" branch="false"/>
+ <line number="63" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="9" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="18" branch="false"/>
+ <line number="78" hits="18" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="9" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="27" branch="false"/>
+ <line number="134" hits="27" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ <line number="141" hits="12" branch="false"/>
+ <line number="142" hits="12" branch="false"/>
+ <line number="143" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="36" branch="false"/>
+ <line number="146" hits="12" branch="false"/>
+ <line number="151" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="18" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletParamMap"
+ filename="org/apache/commons/chain/web/portlet/PortletParamMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletRequest;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="6" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletParamValuesMap"
+ filename="org/apache/commons/chain/web/portlet/PortletParamValuesMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletRequest;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="false"/>
+ <line number="76" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="6" branch="false"/>
+ <line number="78" hits="6" branch="false"/>
+ <line number="80" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="3" branch="false"/>
+ <line number="131" hits="3" branch="false"/>
+ <line number="132" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="6" branch="false"/>
+ <line number="134" hits="6" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="false"/>
+ <line number="76" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="6" branch="false"/>
+ <line number="78" hits="6" branch="false"/>
+ <line number="80" hits="3" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="6" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="3" branch="false"/>
+ <line number="131" hits="3" branch="false"/>
+ <line number="132" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="6" branch="false"/>
+ <line number="134" hits="6" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletRequestScopeMap"
+ filename="org/apache/commons/chain/web/portlet/PortletRequestScopeMap.java"
+ line-rate="0.7846153846153846" branch-rate="0.5714285714285714" complexity="2.0625">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletRequest;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="6" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="30" branch="false"/>
+ <line number="81" hits="30" branch="false"/>
+ <line number="83" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="42" branch="false"/>
+ <line number="85" hits="42" branch="false"/>
+ <line number="87" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="92" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="97" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="102" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="171" hits="36" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="33" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="30" branch="false"/>
+ <line number="113" hits="30" branch="false"/>
+ <line number="114" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="42" branch="false"/>
+ <line number="117" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.8333333333333334" branch-rate="0.5">
+ <lines>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="48" branch="false"/>
+ <line number="154" hits="48" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="161" hits="27" branch="false"/>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="63" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="36" branch="false"/>
+ <line number="166" hits="27" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="6" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ <line number="80" hits="30" branch="false"/>
+ <line number="81" hits="30" branch="false"/>
+ <line number="83" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="42" branch="false"/>
+ <line number="85" hits="42" branch="false"/>
+ <line number="87" hits="30" branch="false"/>
+ <line number="92" hits="0" branch="false"/>
+ <line number="97" hits="21" branch="false"/>
+ <line number="102" hits="24" branch="false"/>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="112" hits="30" branch="false"/>
+ <line number="113" hits="30" branch="false"/>
+ <line number="114" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="42" branch="false"/>
+ <line number="117" hits="30" branch="false"/>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="48" branch="false"/>
+ <line number="154" hits="48" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ <line number="161" hits="27" branch="false"/>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="63" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="36" branch="false"/>
+ <line number="166" hits="27" branch="false"/>
+ <line number="171" hits="36" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="33" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletSessionScopeMap"
+ filename="org/apache/commons/chain/web/portlet/PortletSessionScopeMap.java"
+ line-rate="0.8723404255319149" branch-rate="0.75" complexity="3.411764705882353">
+ <methods>
+ <method name="<init>" signature="(Ljavax/portlet/PortletRequest;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="44" hits="24" branch="false"/>
+ <line number="45" hits="24" branch="false"/>
+ <line number="46" hits="24" branch="false"/>
+ <line number="47" hits="24" branch="false"/>
+ <line number="50" hits="24" branch="false"/>
+ <line number="51" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="55" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="56" hits="3" branch="false"/>
+ <line number="57" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="58" hits="9" branch="false"/>
+ <line number="61" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.6666666666666666"
+ branch-rate="0.25">
+ <lines>
+ <line number="65" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.2222222222222222"
+ branch-rate="0.25">
+ <lines>
+ <line number="74" hits="3" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="75" hits="3" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="80" hits="0" branch="false"/>
+ <line number="81" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="82" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="33" branch="false"/>
+ <line number="91" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="92" hits="30" branch="false"/>
+ <line number="95" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="96" hits="66" branch="false"/>
+ <line number="97" hits="66" branch="false"/>
+ <line number="100" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.6666666666666666" branch-rate="0.5">
+ <lines>
+ <line number="105" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="106" hits="0" branch="false"/>
+ <line number="108" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="114" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="24" branch="false"/>
+ <line number="117" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="123" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="124" hits="24" branch="false"/>
+ <line number="126" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.6666666666666666" branch-rate="0.25">
+ <lines>
+ <line number="132" hits="3" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="134" hits="0" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="222" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="223" hits="0" branch="false"/>
+ <line number="224" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="225" hits="39" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="142" hits="33" branch="false"/>
+ <line number="143" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="30" branch="false"/>
+ <line number="146" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="66" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.8888888888888888" branch-rate="0.75">
+ <lines>
+ <line number="155" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="156" hits="0" branch="false"/>
+ <line number="161" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="162" hits="3" branch="false"/>
+ <line number="163" hits="3" branch="false"/>
+ <line number="166" hits="15" branch="false"/>
+ <line number="167" hits="15" branch="false"/>
+ <line number="168" hits="15" branch="false"/>
+ <line number="169" hits="15" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="174" hits="6" branch="false"/>
+ <line number="175" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="176" hits="6" branch="false"/>
+ <line number="177" hits="6" branch="false"/>
+ <line number="178" hits="6" branch="false"/>
+ <line number="179" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="183" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="184" hits="3" branch="false"/>
+ <line number="185" hits="3" branch="false"/>
+ <line number="186" hits="3" branch="false"/>
+ <line number="187" hits="3" branch="false"/>
+ <line number="189" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="sessionExists" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="232" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="60" branch="false"/>
+ <line number="234" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="235" hits="21" branch="false"/>
+ <line number="238" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="239" hits="195" branch="false"/>
+ <line number="241" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="195" hits="36" branch="false"/>
+ <line number="196" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="197" hits="33" branch="false"/>
+ <line number="199" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="200" hits="75" branch="false"/>
+ <line number="201" hits="75" branch="false"/>
+ <line number="204" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="209" hits="30" branch="false"/>
+ <line number="210" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="211" hits="27" branch="false"/>
+ <line number="213" hits="84" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="214" hits="57" branch="false"/>
+ <line number="217" hits="30" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="44" hits="24" branch="false"/>
+ <line number="45" hits="24" branch="false"/>
+ <line number="46" hits="24" branch="false"/>
+ <line number="47" hits="24" branch="false"/>
+ <line number="50" hits="24" branch="false"/>
+ <line number="51" hits="24" branch="false"/>
+ <line number="55" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="56" hits="3" branch="false"/>
+ <line number="57" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="58" hits="9" branch="false"/>
+ <line number="61" hits="6" branch="false"/>
+ <line number="65" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="75" hits="3" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="80" hits="0" branch="false"/>
+ <line number="81" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="82" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="33" branch="false"/>
+ <line number="91" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="92" hits="30" branch="false"/>
+ <line number="95" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="96" hits="66" branch="false"/>
+ <line number="97" hits="66" branch="false"/>
+ <line number="100" hits="33" branch="false"/>
+ <line number="105" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="106" hits="0" branch="false"/>
+ <line number="108" hits="3" branch="false"/>
+ <line number="114" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="24" branch="false"/>
+ <line number="117" hits="3" branch="false"/>
+ <line number="123" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="124" hits="24" branch="false"/>
+ <line number="126" hits="3" branch="false"/>
+ <line number="132" hits="3" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="134" hits="0" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ <line number="142" hits="33" branch="false"/>
+ <line number="143" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="30" branch="false"/>
+ <line number="146" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="66" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ <line number="155" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="156" hits="0" branch="false"/>
+ <line number="161" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="162" hits="3" branch="false"/>
+ <line number="163" hits="3" branch="false"/>
+ <line number="166" hits="15" branch="false"/>
+ <line number="167" hits="15" branch="false"/>
+ <line number="168" hits="15" branch="false"/>
+ <line number="169" hits="15" branch="false"/>
+ <line number="174" hits="6" branch="false"/>
+ <line number="175" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="176" hits="6" branch="false"/>
+ <line number="177" hits="6" branch="false"/>
+ <line number="178" hits="6" branch="false"/>
+ <line number="179" hits="6" branch="false"/>
+ <line number="183" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="184" hits="3" branch="false"/>
+ <line number="185" hits="3" branch="false"/>
+ <line number="186" hits="3" branch="false"/>
+ <line number="187" hits="3" branch="false"/>
+ <line number="189" hits="3" branch="false"/>
+ <line number="195" hits="36" branch="false"/>
+ <line number="196" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="197" hits="33" branch="false"/>
+ <line number="199" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="200" hits="75" branch="false"/>
+ <line number="201" hits="75" branch="false"/>
+ <line number="204" hits="36" branch="false"/>
+ <line number="209" hits="30" branch="false"/>
+ <line number="210" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="211" hits="27" branch="false"/>
+ <line number="213" hits="84" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="214" hits="57" branch="false"/>
+ <line number="217" hits="30" branch="false"/>
+ <line number="222" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="223" hits="0" branch="false"/>
+ <line number="224" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="225" hits="39" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ <line number="232" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="233" hits="60" branch="false"/>
+ <line number="234" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="235" hits="21" branch="false"/>
+ <line number="238" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="239" hits="195" branch="false"/>
+ <line number="241" hits="39" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletSetLocaleCommand"
+ filename="org/apache/commons/chain/web/portlet/PortletSetLocaleCommand.java" line-rate="0.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setLocale" signature="(Lorg/apache/commons/chain/Context;Ljava/util/Locale;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="50" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="50" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.portlet.PortletWebContext"
+ filename="org/apache/commons/chain/web/portlet/PortletWebContext.java" line-rate="0.9666666666666667"
+ branch-rate="1.0" complexity="2.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="47" hits="0" branch="false"/>
+ <line number="48" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Ljavax/portlet/PortletContext;Ljavax/portlet/PortletRequest;Ljavax/portlet/PortletResponse;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="61" hits="117" branch="false"/>
+ <line number="63" hits="117" branch="false"/>
+ <line number="65" hits="117" branch="false"/>
+ <line number="75" hits="117" branch="false"/>
+ <line number="81" hits="117" branch="false"/>
+ <line number="88" hits="117" branch="false"/>
+ <line number="95" hits="117" branch="false"/>
+ <line number="102" hits="117" branch="false"/>
+ <line number="109" hits="117" branch="false"/>
+ <line number="116" hits="117" branch="false"/>
+ <line number="122" hits="117" branch="false"/>
+ <line number="129" hits="117" branch="false"/>
+ <line number="135" hits="117" branch="false"/>
+ <line number="142" hits="117" branch="false"/>
+ </lines>
+ </method>
+ <method name="getApplicationScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="243" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="244" hits="21" branch="false"/>
+ <line number="246" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getContext" signature="()Ljavax/portlet/PortletContext;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="155" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCookies" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="336" hits="51" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeader" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="258" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="260" hits="21" branch="false"/>
+ <line number="262" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeaderValues" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="274" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="276" hits="21" branch="false"/>
+ <line number="278" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getInitParam" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="290" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="291" hits="21" branch="false"/>
+ <line number="293" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParam" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="305" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="306" hits="21" branch="false"/>
+ <line number="308" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParamValues" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="320" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="321" hits="21" branch="false"/>
+ <line number="323" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRequest" signature="()Ljavax/portlet/PortletRequest;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="167" hits="93" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRequestScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="348" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="349" hits="21" branch="false"/>
+ <line number="351" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getResponse" signature="()Ljavax/portlet/PortletResponse;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="179" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="getSessionScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="363" hits="60" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="364" hits="24" branch="false"/>
+ <line number="367" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="initialize"
+ signature="(Ljavax/portlet/PortletContext;Ljavax/portlet/PortletRequest;Ljavax/portlet/PortletResponse;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="197" hits="117" branch="false"/>
+ <line number="198" hits="117" branch="false"/>
+ <line number="199" hits="117" branch="false"/>
+ <line number="203" hits="117" branch="false"/>
+ </lines>
+ </method>
+ <method name="release" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="215" hits="3" branch="false"/>
+ <line number="216" hits="3" branch="false"/>
+ <line number="217" hits="3" branch="false"/>
+ <line number="218" hits="3" branch="false"/>
+ <line number="219" hits="3" branch="false"/>
+ <line number="220" hits="3" branch="false"/>
+ <line number="221" hits="3" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="225" hits="3" branch="false"/>
+ <line number="226" hits="3" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ <line number="229" hits="3" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="47" hits="0" branch="false"/>
+ <line number="48" hits="0" branch="false"/>
+ <line number="61" hits="117" branch="false"/>
+ <line number="63" hits="117" branch="false"/>
+ <line number="65" hits="117" branch="false"/>
+ <line number="75" hits="117" branch="false"/>
+ <line number="81" hits="117" branch="false"/>
+ <line number="88" hits="117" branch="false"/>
+ <line number="95" hits="117" branch="false"/>
+ <line number="102" hits="117" branch="false"/>
+ <line number="109" hits="117" branch="false"/>
+ <line number="116" hits="117" branch="false"/>
+ <line number="122" hits="117" branch="false"/>
+ <line number="129" hits="117" branch="false"/>
+ <line number="135" hits="117" branch="false"/>
+ <line number="142" hits="117" branch="false"/>
+ <line number="155" hits="39" branch="false"/>
+ <line number="167" hits="93" branch="false"/>
+ <line number="179" hits="39" branch="false"/>
+ <line number="197" hits="117" branch="false"/>
+ <line number="198" hits="117" branch="false"/>
+ <line number="199" hits="117" branch="false"/>
+ <line number="203" hits="117" branch="false"/>
+ <line number="215" hits="3" branch="false"/>
+ <line number="216" hits="3" branch="false"/>
+ <line number="217" hits="3" branch="false"/>
+ <line number="218" hits="3" branch="false"/>
+ <line number="219" hits="3" branch="false"/>
+ <line number="220" hits="3" branch="false"/>
+ <line number="221" hits="3" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="225" hits="3" branch="false"/>
+ <line number="226" hits="3" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ <line number="229" hits="3" branch="false"/>
+ <line number="243" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="244" hits="21" branch="false"/>
+ <line number="246" hits="57" branch="false"/>
+ <line number="258" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="260" hits="21" branch="false"/>
+ <line number="262" hits="57" branch="false"/>
+ <line number="274" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="276" hits="21" branch="false"/>
+ <line number="278" hits="57" branch="false"/>
+ <line number="290" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="291" hits="21" branch="false"/>
+ <line number="293" hits="57" branch="false"/>
+ <line number="305" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="306" hits="21" branch="false"/>
+ <line number="308" hits="57" branch="false"/>
+ <line number="320" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="321" hits="21" branch="false"/>
+ <line number="323" hits="57" branch="false"/>
+ <line number="336" hits="51" branch="false"/>
+ <line number="348" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="349" hits="21" branch="false"/>
+ <line number="351" hits="57" branch="false"/>
+ <line number="363" hits="60" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="364" hits="24" branch="false"/>
+ <line number="367" hits="60" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ <package name="org.apache.commons.chain.web.servlet" line-rate="0.7784431137724551" branch-rate="0.6772151898734177"
+ complexity="2.161111111111111">
+ <classes>
+ <class name="org.apache.commons.chain.web.servlet.ChainProcessor"
+ filename="org/apache/commons/chain/web/servlet/ChainProcessor.java" line-rate="0.3548387096774194"
+ branch-rate="0.125" complexity="3.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="57" hits="3" branch="false"/>
+ <line number="104" hits="3" branch="false"/>
+ <line number="112" hits="3" branch="false"/>
+ <line number="119" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="destroy" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="0" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ <line number="132" hits="0" branch="false"/>
+ <line number="133" hits="0" branch="false"/>
+ <line number="135" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="init" signature="()V" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="145" hits="3" branch="false"/>
+ <line number="146" hits="3" branch="false"/>
+ <line number="147" hits="3" branch="false"/>
+ <line number="148" hits="3" branch="false"/>
+ <line number="149" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="150" hits="3" branch="false"/>
+ <line number="153" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="service"
+ signature="(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="171" hits="0" branch="false"/>
+ <line number="173" hits="0" branch="false"/>
+ <line number="174" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="175" hits="0" branch="false"/>
+ <line number="177" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="178" hits="0" branch="false"/>
+ <line number="180" hits="0" branch="false"/>
+ <line number="182" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="183" hits="0" branch="false"/>
+ <line number="185" hits="0" branch="false"/>
+ <line number="187" hits="0" branch="false"/>
+ <line number="188" hits="0" branch="false"/>
+ <line number="189" hits="0" branch="false"/>
+ <line number="190" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="57" hits="3" branch="false"/>
+ <line number="104" hits="3" branch="false"/>
+ <line number="112" hits="3" branch="false"/>
+ <line number="119" hits="3" branch="false"/>
+ <line number="130" hits="0" branch="false"/>
+ <line number="131" hits="0" branch="false"/>
+ <line number="132" hits="0" branch="false"/>
+ <line number="133" hits="0" branch="false"/>
+ <line number="135" hits="0" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ <line number="146" hits="3" branch="false"/>
+ <line number="147" hits="3" branch="false"/>
+ <line number="148" hits="3" branch="false"/>
+ <line number="149" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="150" hits="3" branch="false"/>
+ <line number="153" hits="3" branch="false"/>
+ <line number="171" hits="0" branch="false"/>
+ <line number="173" hits="0" branch="false"/>
+ <line number="174" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="175" hits="0" branch="false"/>
+ <line number="177" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="178" hits="0" branch="false"/>
+ <line number="180" hits="0" branch="false"/>
+ <line number="182" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="183" hits="0" branch="false"/>
+ <line number="185" hits="0" branch="false"/>
+ <line number="187" hits="0" branch="false"/>
+ <line number="188" hits="0" branch="false"/>
+ <line number="189" hits="0" branch="false"/>
+ <line number="190" hits="0" branch="false"/>
+ <line number="192" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.PathInfoMapper"
+ filename="org/apache/commons/chain/web/servlet/PathInfoMapper.java" line-rate="0.0" branch-rate="0.0"
+ complexity="1.5">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="(Lorg/apache/commons/chain/Context;)Lorg/apache/commons/chain/Catalog;"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="62" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommandName" signature="(Lorg/apache/commons/chain/Context;)Ljava/lang/String;"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="98" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="103" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="62" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="false"/>
+ <line number="98" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="103" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="false"/>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.RequestParameterMapper"
+ filename="org/apache/commons/chain/web/servlet/RequestParameterMapper.java" line-rate="0.0"
+ branch-rate="0.0" complexity="1.1666666666666667">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="40" hits="0" branch="false"/>
+ <line number="46" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="(Lorg/apache/commons/chain/Context;)Lorg/apache/commons/chain/Catalog;"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="145" hits="0" branch="false"/>
+ <line number="146" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="0" branch="false"/>
+ <line number="149" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="61" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommandName" signature="(Lorg/apache/commons/chain/Context;)Ljava/lang/String;"
+ line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="126" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="false"/>
+ <line number="128" hits="0" branch="false"/>
+ <line number="129" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParameter" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="93" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="77" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setParameter" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="106" hits="0" branch="false"/>
+ <line number="108" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="40" hits="0" branch="false"/>
+ <line number="46" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="61" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="79" hits="0" branch="false"/>
+ <line number="93" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="false"/>
+ <line number="108" hits="0" branch="false"/>
+ <line number="126" hits="0" branch="false"/>
+ <line number="127" hits="0" branch="false"/>
+ <line number="128" hits="0" branch="false"/>
+ <line number="129" hits="0" branch="false"/>
+ <line number="145" hits="0" branch="false"/>
+ <line number="146" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="0" branch="false"/>
+ <line number="149" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletApplicationScopeMap"
+ filename="org/apache/commons/chain/web/servlet/ServletApplicationScopeMap.java"
+ line-rate="0.7846153846153846" branch-rate="0.5714285714285714" complexity="2.0625">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/ServletContext;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="12" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="27" branch="false"/>
+ <line number="81" hits="27" branch="false"/>
+ <line number="83" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="78" branch="false"/>
+ <line number="85" hits="78" branch="false"/>
+ <line number="87" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="92" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="97" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="102" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="171" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="39" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="27" branch="false"/>
+ <line number="113" hits="27" branch="false"/>
+ <line number="114" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="78" branch="false"/>
+ <line number="117" hits="27" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.8333333333333334" branch-rate="0.5">
+ <lines>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="135" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="102" branch="false"/>
+ <line number="154" hits="102" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="161" hits="24" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ <line number="163" hits="90" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="66" branch="false"/>
+ <line number="166" hits="24" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="12" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ <line number="80" hits="27" branch="false"/>
+ <line number="81" hits="27" branch="false"/>
+ <line number="83" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="78" branch="false"/>
+ <line number="85" hits="78" branch="false"/>
+ <line number="87" hits="27" branch="false"/>
+ <line number="92" hits="0" branch="false"/>
+ <line number="97" hits="27" branch="false"/>
+ <line number="102" hits="24" branch="false"/>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="112" hits="27" branch="false"/>
+ <line number="113" hits="27" branch="false"/>
+ <line number="114" hits="105" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="78" branch="false"/>
+ <line number="117" hits="27" branch="false"/>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="135" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="102" branch="false"/>
+ <line number="154" hits="102" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ <line number="161" hits="24" branch="false"/>
+ <line number="162" hits="24" branch="false"/>
+ <line number="163" hits="90" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="66" branch="false"/>
+ <line number="166" hits="24" branch="false"/>
+ <line number="171" hits="42" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="42" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="39" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletCookieMap"
+ filename="org/apache/commons/chain/web/servlet/ServletCookieMap.java" line-rate="0.8775510204081632"
+ branch-rate="0.6176470588235294" complexity="2.4375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="42" hits="21" branch="false"/>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="47" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="51" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="56" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8333333333333334"
+ branch-rate="0.6666666666666666">
+ <lines>
+ <line number="61" hits="6" branch="false"/>
+ <line number="62" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="69" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="0.75">
+ <lines>
+ <line number="74" hits="3" branch="false"/>
+ <line number="75" hits="3" branch="false"/>
+ <line number="76" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="6" branch="false"/>
+ <line number="81" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="86" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="0.8333333333333334"
+ branch-rate="0.6666666666666666">
+ <lines>
+ <line number="91" hits="12" branch="false"/>
+ <line number="92" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="93" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="95" hits="12" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="104" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="109" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="159" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="160" hits="0" branch="false"/>
+ <line number="161" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="162" hits="18" branch="false"/>
+ <line number="164" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="0.75">
+ <lines>
+ <line number="114" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="116" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="117" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="118" hits="6" branch="false"/>
+ <line number="121" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="126" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="131" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="136" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="141" hits="6" branch="false"/>
+ <line number="142" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="0.75">
+ <lines>
+ <line number="147" hits="3" branch="false"/>
+ <line number="148" hits="3" branch="false"/>
+ <line number="149" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="150" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="6" branch="false"/>
+ <line number="154" hits="3" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="42" hits="21" branch="false"/>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="47" hits="21" branch="false"/>
+ <line number="51" hits="3" branch="false"/>
+ <line number="56" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="61" hits="6" branch="false"/>
+ <line number="62" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="69" hits="0" branch="false"/>
+ <line number="74" hits="3" branch="false"/>
+ <line number="75" hits="3" branch="false"/>
+ <line number="76" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="6" branch="false"/>
+ <line number="81" hits="3" branch="false"/>
+ <line number="86" hits="0" branch="false"/>
+ <line number="91" hits="12" branch="false"/>
+ <line number="92" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="93" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="95" hits="12" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="104" hits="24" branch="false"/>
+ <line number="109" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="114" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="116" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="117" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="118" hits="6" branch="false"/>
+ <line number="121" hits="3" branch="false"/>
+ <line number="126" hits="3" branch="false"/>
+ <line number="131" hits="3" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ <line number="141" hits="6" branch="false"/>
+ <line number="142" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="147" hits="3" branch="false"/>
+ <line number="148" hits="3" branch="false"/>
+ <line number="149" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="150" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="151" hits="6" branch="false"/>
+ <line number="154" hits="3" branch="false"/>
+ <line number="159" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="160" hits="0" branch="false"/>
+ <line number="161" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="162" hits="18" branch="false"/>
+ <line number="164" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletGetLocaleCommand"
+ filename="org/apache/commons/chain/web/servlet/ServletGetLocaleCommand.java" line-rate="1.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="getLocale" signature="(Lorg/apache/commons/chain/Context;)Ljava/util/Locale;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="45" hits="12" branch="false"/>
+ <line number="47" hits="12" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="12" branch="false"/>
+ <line number="45" hits="12" branch="false"/>
+ <line number="47" hits="12" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletHeaderMap"
+ filename="org/apache/commons/chain/web/servlet/ServletHeaderMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="6" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletHeaderValuesMap"
+ filename="org/apache/commons/chain/web/servlet/ServletHeaderValuesMap.java"
+ line-rate="0.8787878787878788" branch-rate="0.71875" complexity="2.375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.75"
+ branch-rate="0.6666666666666666">
+ <lines>
+ <line number="62" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="0" branch="false"/>
+ <line number="65" hits="6" branch="false"/>
+ <line number="66" hits="6" branch="false"/>
+ <line number="67" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="9" branch="false"/>
+ <line number="69" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="6" branch="false"/>
+ <line number="71" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="73" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="77" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="6" branch="false"/>
+ <line number="81" hits="3" branch="false"/>
+ <line number="82" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="87" hits="6" branch="false"/>
+ <line number="88" hits="6" branch="false"/>
+ <line number="90" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="91" hits="12" branch="false"/>
+ <line number="92" hits="12" branch="false"/>
+ <line number="94" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="99" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="104" hits="6" branch="false"/>
+ <line number="105" hits="6" branch="false"/>
+ <line number="106" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="9" branch="false"/>
+ <line number="109" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="114" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="119" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="176" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="177" hits="0" branch="false"/>
+ <line number="178" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="179" hits="12" branch="false"/>
+ <line number="181" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="124" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="126" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="127" hits="6" branch="false"/>
+ <line number="129" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="134" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="139" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="144" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="149" hits="9" branch="false"/>
+ <line number="150" hits="9" branch="false"/>
+ <line number="151" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="18" branch="false"/>
+ <line number="153" hits="18" branch="false"/>
+ <line number="155" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="160" hits="9" branch="false"/>
+ <line number="161" hits="9" branch="false"/>
+ <line number="162" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="163" hits="18" branch="false"/>
+ <line number="164" hits="18" branch="false"/>
+ <line number="165" hits="18" branch="false"/>
+ <line number="166" hits="45" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="167" hits="27" branch="false"/>
+ <line number="169" hits="18" branch="false"/>
+ <line number="170" hits="18" branch="false"/>
+ <line number="171" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="63" hits="0" branch="false"/>
+ <line number="65" hits="6" branch="false"/>
+ <line number="66" hits="6" branch="false"/>
+ <line number="67" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="9" branch="false"/>
+ <line number="69" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="6" branch="false"/>
+ <line number="71" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="73" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="77" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="78" hits="6" branch="false"/>
+ <line number="81" hits="3" branch="false"/>
+ <line number="82" hits="0" branch="false"/>
+ <line number="87" hits="6" branch="false"/>
+ <line number="88" hits="6" branch="false"/>
+ <line number="90" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="91" hits="12" branch="false"/>
+ <line number="92" hits="12" branch="false"/>
+ <line number="94" hits="6" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="104" hits="6" branch="false"/>
+ <line number="105" hits="6" branch="false"/>
+ <line number="106" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="107" hits="9" branch="false"/>
+ <line number="109" hits="6" branch="false"/>
+ <line number="114" hits="24" branch="false"/>
+ <line number="119" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="124" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="126" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="127" hits="6" branch="false"/>
+ <line number="129" hits="3" branch="false"/>
+ <line number="134" hits="3" branch="false"/>
+ <line number="139" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="149" hits="9" branch="false"/>
+ <line number="150" hits="9" branch="false"/>
+ <line number="151" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="18" branch="false"/>
+ <line number="153" hits="18" branch="false"/>
+ <line number="155" hits="9" branch="false"/>
+ <line number="160" hits="9" branch="false"/>
+ <line number="161" hits="9" branch="false"/>
+ <line number="162" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="163" hits="18" branch="false"/>
+ <line number="164" hits="18" branch="false"/>
+ <line number="165" hits="18" branch="false"/>
+ <line number="166" hits="45" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="167" hits="27" branch="false"/>
+ <line number="169" hits="18" branch="false"/>
+ <line number="170" hits="18" branch="false"/>
+ <line number="171" hits="9" branch="false"/>
+ <line number="176" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="177" hits="0" branch="false"/>
+ <line number="178" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="179" hits="12" branch="false"/>
+ <line number="181" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletInitParamMap"
+ filename="org/apache/commons/chain/web/servlet/ServletInitParamMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/ServletContext;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="9" branch="false"/>
+ <line number="63" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="9" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="18" branch="false"/>
+ <line number="78" hits="18" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="18" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="27" branch="false"/>
+ <line number="134" hits="27" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="12" branch="false"/>
+ <line number="142" hits="12" branch="false"/>
+ <line number="143" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="36" branch="false"/>
+ <line number="146" hits="12" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="9" branch="false"/>
+ <line number="63" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="9" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="24" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="18" branch="false"/>
+ <line number="78" hits="18" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="9" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="9" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="27" branch="false"/>
+ <line number="134" hits="27" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ <line number="141" hits="12" branch="false"/>
+ <line number="142" hits="12" branch="false"/>
+ <line number="143" hits="48" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="36" branch="false"/>
+ <line number="146" hits="12" branch="false"/>
+ <line number="151" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="18" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="18" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletParamMap"
+ filename="org/apache/commons/chain/web/servlet/ServletParamMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="6" branch="false"/>
+ <line number="74" hits="6" branch="false"/>
+ <line number="76" hits="18" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="12" branch="false"/>
+ <line number="78" hits="12" branch="false"/>
+ <line number="80" hits="6" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="6" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="9" branch="false"/>
+ <line number="131" hits="9" branch="false"/>
+ <line number="132" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="18" branch="false"/>
+ <line number="134" hits="18" branch="false"/>
+ <line number="136" hits="9" branch="false"/>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletParamValuesMap"
+ filename="org/apache/commons/chain/web/servlet/ServletParamValuesMap.java" line-rate="0.8888888888888888"
+ branch-rate="0.7" complexity="1.9375">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="1.0" branch-rate="0.5">
+ <lines>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="73" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="false"/>
+ <line number="76" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="6" branch="false"/>
+ <line number="78" hits="6" branch="false"/>
+ <line number="80" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="85" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="90" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="95" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.6" branch-rate="0.5">
+ <lines>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="120" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="125" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="130" hits="3" branch="false"/>
+ <line number="131" hits="3" branch="false"/>
+ <line number="132" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="6" branch="false"/>
+ <line number="134" hits="6" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="57" hits="6" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="62" hits="6" branch="false"/>
+ <line number="63" hits="9" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="64" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="6" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="73" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="false"/>
+ <line number="76" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="77" hits="6" branch="false"/>
+ <line number="78" hits="6" branch="false"/>
+ <line number="80" hits="3" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="90" hits="6" branch="false"/>
+ <line number="95" hits="24" branch="false"/>
+ <line number="100" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="105" hits="3" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="107" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="108" hits="6" branch="false"/>
+ <line number="110" hits="3" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="120" hits="3" branch="false"/>
+ <line number="125" hits="3" branch="false"/>
+ <line number="130" hits="3" branch="false"/>
+ <line number="131" hits="3" branch="false"/>
+ <line number="132" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="133" hits="6" branch="false"/>
+ <line number="134" hits="6" branch="false"/>
+ <line number="136" hits="3" branch="false"/>
+ <line number="141" hits="9" branch="false"/>
+ <line number="142" hits="9" branch="false"/>
+ <line number="143" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="18" branch="false"/>
+ <line number="146" hits="9" branch="false"/>
+ <line number="151" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="152" hits="0" branch="false"/>
+ <line number="153" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="154" hits="12" branch="false"/>
+ <line number="156" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletPathMapper"
+ filename="org/apache/commons/chain/web/servlet/ServletPathMapper.java" line-rate="0.0" branch-rate="0.0"
+ complexity="1.5">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalog" signature="(Lorg/apache/commons/chain/Context;)Lorg/apache/commons/chain/Catalog;"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCatalogKey" signature="()Ljava/lang/String;" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="62" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCommandName" signature="(Lorg/apache/commons/chain/Context;)Ljava/lang/String;"
+ line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="98" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="103" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setCatalogKey" signature="(Ljava/lang/String;)V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="39" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="62" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="false"/>
+ <line number="98" hits="0" branch="false"/>
+ <line number="99" hits="0" branch="false"/>
+ <line number="100" hits="0" branch="false"/>
+ <line number="102" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="103" hits="0" branch="false"/>
+ <line number="106" hits="0" branch="false"/>
+ <line number="121" hits="0" branch="false"/>
+ <line number="122" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletRequestScopeMap"
+ filename="org/apache/commons/chain/web/servlet/ServletRequestScopeMap.java"
+ line-rate="0.7846153846153846" branch-rate="0.5714285714285714" complexity="2.0625">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="6" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="30" branch="false"/>
+ <line number="81" hits="30" branch="false"/>
+ <line number="83" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="42" branch="false"/>
+ <line number="85" hits="42" branch="false"/>
+ <line number="87" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="92" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="97" hits="21" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="102" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="171" hits="36" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="33" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="30" branch="false"/>
+ <line number="113" hits="30" branch="false"/>
+ <line number="114" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="42" branch="false"/>
+ <line number="117" hits="30" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.8333333333333334" branch-rate="0.5">
+ <lines>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="48" branch="false"/>
+ <line number="154" hits="48" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="161" hits="27" branch="false"/>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="63" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="36" branch="false"/>
+ <line number="166" hits="27" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="43" hits="21" branch="false"/>
+ <line number="44" hits="21" branch="false"/>
+ <line number="45" hits="21" branch="false"/>
+ <line number="48" hits="21" branch="false"/>
+ <line number="52" hits="3" branch="false"/>
+ <line number="53" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="54" hits="6" branch="false"/>
+ <line number="56" hits="3" branch="false"/>
+ <line number="60" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="65" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="false"/>
+ <line number="68" hits="0" branch="false"/>
+ <line number="69" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="70" hits="0" branch="false"/>
+ <line number="71" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="72" hits="0" branch="false"/>
+ <line number="74" hits="0" branch="false"/>
+ <line number="75" hits="0" branch="false"/>
+ <line number="80" hits="30" branch="false"/>
+ <line number="81" hits="30" branch="false"/>
+ <line number="83" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="84" hits="42" branch="false"/>
+ <line number="85" hits="42" branch="false"/>
+ <line number="87" hits="30" branch="false"/>
+ <line number="92" hits="0" branch="false"/>
+ <line number="97" hits="21" branch="false"/>
+ <line number="102" hits="24" branch="false"/>
+ <line number="107" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="112" hits="30" branch="false"/>
+ <line number="113" hits="30" branch="false"/>
+ <line number="114" hits="72" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="115" hits="42" branch="false"/>
+ <line number="117" hits="30" branch="false"/>
+ <line number="122" hits="12" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="123" hits="0" branch="false"/>
+ <line number="125" hits="12" branch="false"/>
+ <line number="126" hits="12" branch="false"/>
+ <line number="127" hits="12" branch="false"/>
+ <line number="128" hits="12" branch="false"/>
+ <line number="133" hits="3" branch="false"/>
+ <line number="134" hits="9" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="135" hits="6" branch="false"/>
+ <line number="136" hits="6" branch="false"/>
+ <line number="137" hits="6" branch="false"/>
+ <line number="138" hits="3" branch="false"/>
+ <line number="142" hits="3" branch="false"/>
+ <line number="143" hits="3" branch="false"/>
+ <line number="144" hits="3" branch="false"/>
+ <line number="145" hits="3" branch="false"/>
+ <line number="150" hits="33" branch="false"/>
+ <line number="151" hits="33" branch="false"/>
+ <line number="152" hits="81" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="48" branch="false"/>
+ <line number="154" hits="48" branch="false"/>
+ <line number="156" hits="33" branch="false"/>
+ <line number="161" hits="27" branch="false"/>
+ <line number="162" hits="27" branch="false"/>
+ <line number="163" hits="63" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="164" hits="36" branch="false"/>
+ <line number="166" hits="27" branch="false"/>
+ <line number="171" hits="36" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="172" hits="0" branch="false"/>
+ <line number="173" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="174" hits="33" branch="false"/>
+ <line number="176" hits="3" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletSessionScopeMap"
+ filename="org/apache/commons/chain/web/servlet/ServletSessionScopeMap.java"
+ line-rate="0.8617021276595744" branch-rate="0.75" complexity="3.411764705882353">
+ <methods>
+ <method name="<init>" signature="(Ljavax/servlet/http/HttpServletRequest;)V" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="44" hits="24" branch="false"/>
+ <line number="45" hits="24" branch="false"/>
+ <line number="46" hits="24" branch="false"/>
+ <line number="47" hits="24" branch="false"/>
+ <line number="50" hits="24" branch="false"/>
+ <line number="51" hits="24" branch="false"/>
+ </lines>
+ </method>
+ <method name="clear" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="55" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="56" hits="3" branch="false"/>
+ <line number="57" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="58" hits="9" branch="false"/>
+ <line number="61" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsKey" signature="(Ljava/lang/Object;)Z" line-rate="0.6666666666666666"
+ branch-rate="0.25">
+ <lines>
+ <line number="65" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="containsValue" signature="(Ljava/lang/Object;)Z" line-rate="0.2222222222222222"
+ branch-rate="0.25">
+ <lines>
+ <line number="74" hits="3" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="75" hits="3" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="79" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="81" hits="0" branch="false"/>
+ <line number="83" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="entrySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="89" hits="33" branch="false"/>
+ <line number="90" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="91" hits="30" branch="false"/>
+ <line number="93" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="66" branch="false"/>
+ <line number="95" hits="66" branch="false"/>
+ <line number="98" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="equals" signature="(Ljava/lang/Object;)Z" line-rate="0.6666666666666666" branch-rate="0.5">
+ <lines>
+ <line number="103" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="get" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="112" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="113" hits="24" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="hashCode" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="121" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="122" hits="24" branch="false"/>
+ <line number="124" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="isEmpty" signature="()Z" line-rate="0.6666666666666666" branch-rate="0.25">
+ <lines>
+ <line number="130" hits="3" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="132" hits="0" branch="false"/>
+ <line number="134" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="key" signature="(Ljava/lang/Object;)Ljava/lang/String;" line-rate="0.8" branch-rate="0.75">
+ <lines>
+ <line number="217" hits="39" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="218" hits="0" branch="false"/>
+ <line number="219" hits="39" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="220" hits="36" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="keySet" signature="()Ljava/util/Set;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="140" hits="33" branch="false"/>
+ <line number="141" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="142" hits="30" branch="false"/>
+ <line number="143" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="66" branch="false"/>
+ <line number="147" hits="33" branch="false"/>
+ </lines>
+ </method>
+ <method name="put" signature="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
+ line-rate="0.7777777777777778" branch-rate="0.75">
+ <lines>
+ <line number="152" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="0" branch="false"/>
+ <line number="158" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="159" hits="3" branch="false"/>
+ <line number="160" hits="0" branch="false"/>
+ <line number="163" hits="12" branch="false"/>
+ <line number="164" hits="12" branch="false"/>
+ <line number="165" hits="12" branch="false"/>
+ <line number="166" hits="12" branch="false"/>
+ </lines>
+ </method>
+ <method name="putAll" signature="(Ljava/util/Map;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="171" hits="6" branch="false"/>
+ <line number="172" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="173" hits="6" branch="false"/>
+ <line number="174" hits="6" branch="false"/>
+ <line number="175" hits="6" branch="false"/>
+ <line number="176" hits="6" branch="false"/>
+ </lines>
+ </method>
+ <method name="remove" signature="(Ljava/lang/Object;)Ljava/lang/Object;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="180" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="181" hits="3" branch="false"/>
+ <line number="182" hits="3" branch="false"/>
+ <line number="183" hits="3" branch="false"/>
+ <line number="184" hits="3" branch="false"/>
+ <line number="186" hits="3" branch="false"/>
+ </lines>
+ </method>
+ <method name="sessionExists" signature="()Z" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="227" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="228" hits="60" branch="false"/>
+ <line number="229" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="230" hits="21" branch="false"/>
+ <line number="233" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="234" hits="195" branch="false"/>
+ <line number="236" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="size" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="192" hits="36" branch="false"/>
+ <line number="193" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="33" branch="false"/>
+ <line number="195" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="196" hits="75" branch="false"/>
+ <line number="197" hits="75" branch="false"/>
+ <line number="200" hits="36" branch="false"/>
+ </lines>
+ </method>
+ <method name="values" signature="()Ljava/util/Collection;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="205" hits="30" branch="false"/>
+ <line number="206" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="207" hits="27" branch="false"/>
+ <line number="208" hits="84" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="209" hits="57" branch="false"/>
+ <line number="212" hits="30" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="44" hits="24" branch="false"/>
+ <line number="45" hits="24" branch="false"/>
+ <line number="46" hits="24" branch="false"/>
+ <line number="47" hits="24" branch="false"/>
+ <line number="50" hits="24" branch="false"/>
+ <line number="51" hits="24" branch="false"/>
+ <line number="55" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="56" hits="3" branch="false"/>
+ <line number="57" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="58" hits="9" branch="false"/>
+ <line number="61" hits="6" branch="false"/>
+ <line number="65" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="66" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="68" hits="3" branch="false"/>
+ <line number="74" hits="3" branch="true" condition-coverage="50% (2/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="75" hits="3" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="78" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="79" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="81" hits="0" branch="false"/>
+ <line number="83" hits="0" branch="false"/>
+ <line number="84" hits="0" branch="false"/>
+ <line number="89" hits="33" branch="false"/>
+ <line number="90" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="91" hits="30" branch="false"/>
+ <line number="93" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="94" hits="66" branch="false"/>
+ <line number="95" hits="66" branch="false"/>
+ <line number="98" hits="33" branch="false"/>
+ <line number="103" hits="3" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="104" hits="0" branch="false"/>
+ <line number="106" hits="3" branch="false"/>
+ <line number="112" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="113" hits="24" branch="false"/>
+ <line number="115" hits="3" branch="false"/>
+ <line number="121" hits="27" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="122" hits="24" branch="false"/>
+ <line number="124" hits="3" branch="false"/>
+ <line number="130" hits="3" branch="true" condition-coverage="25% (1/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ <condition number="1" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="132" hits="0" branch="false"/>
+ <line number="134" hits="3" branch="false"/>
+ <line number="140" hits="33" branch="false"/>
+ <line number="141" hits="33" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="142" hits="30" branch="false"/>
+ <line number="143" hits="96" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="144" hits="66" branch="false"/>
+ <line number="147" hits="33" branch="false"/>
+ <line number="152" hits="15" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="153" hits="0" branch="false"/>
+ <line number="158" hits="15" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="159" hits="3" branch="false"/>
+ <line number="160" hits="0" branch="false"/>
+ <line number="163" hits="12" branch="false"/>
+ <line number="164" hits="12" branch="false"/>
+ <line number="165" hits="12" branch="false"/>
+ <line number="166" hits="12" branch="false"/>
+ <line number="171" hits="6" branch="false"/>
+ <line number="172" hits="12" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="173" hits="6" branch="false"/>
+ <line number="174" hits="6" branch="false"/>
+ <line number="175" hits="6" branch="false"/>
+ <line number="176" hits="6" branch="false"/>
+ <line number="180" hits="6" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="181" hits="3" branch="false"/>
+ <line number="182" hits="3" branch="false"/>
+ <line number="183" hits="3" branch="false"/>
+ <line number="184" hits="3" branch="false"/>
+ <line number="186" hits="3" branch="false"/>
+ <line number="192" hits="36" branch="false"/>
+ <line number="193" hits="36" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="194" hits="33" branch="false"/>
+ <line number="195" hits="108" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="196" hits="75" branch="false"/>
+ <line number="197" hits="75" branch="false"/>
+ <line number="200" hits="36" branch="false"/>
+ <line number="205" hits="30" branch="false"/>
+ <line number="206" hits="30" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="207" hits="27" branch="false"/>
+ <line number="208" hits="84" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="209" hits="57" branch="false"/>
+ <line number="212" hits="30" branch="false"/>
+ <line number="217" hits="39" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="218" hits="0" branch="false"/>
+ <line number="219" hits="39" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="220" hits="36" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="227" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="228" hits="60" branch="false"/>
+ <line number="229" hits="60" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="230" hits="21" branch="false"/>
+ <line number="233" hits="234" branch="true" condition-coverage="100% (2/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="234" hits="195" branch="false"/>
+ <line number="236" hits="39" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletSetLocaleCommand"
+ filename="org/apache/commons/chain/web/servlet/ServletSetLocaleCommand.java" line-rate="0.0"
+ branch-rate="1.0" complexity="1.0">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="setLocale" signature="(Lorg/apache/commons/chain/Context;Ljava/util/Locale;)V" line-rate="0.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="49" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="31" hits="0" branch="false"/>
+ <line number="45" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="49" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.apache.commons.chain.web.servlet.ServletWebContext"
+ filename="org/apache/commons/chain/web/servlet/ServletWebContext.java" line-rate="0.96875"
+ branch-rate="1.0" complexity="2.125">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="46" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="<init>"
+ signature="(Ljavax/servlet/ServletContext;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="60" hits="123" branch="false"/>
+ <line number="62" hits="123" branch="false"/>
+ <line number="64" hits="123" branch="false"/>
+ <line number="74" hits="123" branch="false"/>
+ <line number="80" hits="123" branch="false"/>
+ <line number="87" hits="123" branch="false"/>
+ <line number="94" hits="123" branch="false"/>
+ <line number="101" hits="123" branch="false"/>
+ <line number="107" hits="123" branch="false"/>
+ <line number="114" hits="123" branch="false"/>
+ <line number="121" hits="123" branch="false"/>
+ <line number="127" hits="123" branch="false"/>
+ <line number="134" hits="123" branch="false"/>
+ <line number="140" hits="123" branch="false"/>
+ <line number="147" hits="123" branch="false"/>
+ </lines>
+ </method>
+ <method name="getApplicationScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="249" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="250" hits="21" branch="false"/>
+ <line number="252" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getContext" signature="()Ljavax/servlet/ServletContext;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="160" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="getCookies" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="340" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="341" hits="21" branch="false"/>
+ <line number="343" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeader" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="264" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="265" hits="21" branch="false"/>
+ <line number="267" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getHeaderValues" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="279" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="280" hits="21" branch="false"/>
+ <line number="282" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getInitParam" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="294" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="295" hits="21" branch="false"/>
+ <line number="297" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParam" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="309" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="310" hits="21" branch="false"/>
+ <line number="312" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getParamValues" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="324" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="325" hits="21" branch="false"/>
+ <line number="327" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRequest" signature="()Ljavax/servlet/http/HttpServletRequest;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="172" hits="96" branch="false"/>
+ </lines>
+ </method>
+ <method name="getRequestScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="355" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="356" hits="21" branch="false"/>
+ <line number="358" hits="57" branch="false"/>
+ </lines>
+ </method>
+ <method name="getResponse" signature="()Ljavax/servlet/http/HttpServletResponse;" line-rate="1.0"
+ branch-rate="1.0">
+ <lines>
+ <line number="184" hits="39" branch="false"/>
+ </lines>
+ </method>
+ <method name="getSessionScope" signature="()Ljava/util/Map;" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="370" hits="60" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="371" hits="24" branch="false"/>
+ <line number="373" hits="60" branch="false"/>
+ </lines>
+ </method>
+ <method name="initialize"
+ signature="(Ljavax/servlet/ServletContext;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V"
+ line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="202" hits="123" branch="false"/>
+ <line number="203" hits="123" branch="false"/>
+ <line number="204" hits="123" branch="false"/>
+ <line number="208" hits="123" branch="false"/>
+ </lines>
+ </method>
+ <method name="release" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="220" hits="3" branch="false"/>
+ <line number="221" hits="3" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="223" hits="3" branch="false"/>
+ <line number="224" hits="3" branch="false"/>
+ <line number="225" hits="3" branch="false"/>
+ <line number="226" hits="3" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ <line number="228" hits="3" branch="false"/>
+ <line number="231" hits="3" branch="false"/>
+ <line number="232" hits="3" branch="false"/>
+ <line number="233" hits="3" branch="false"/>
+ <line number="235" hits="3" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="46" hits="0" branch="false"/>
+ <line number="47" hits="0" branch="false"/>
+ <line number="60" hits="123" branch="false"/>
+ <line number="62" hits="123" branch="false"/>
+ <line number="64" hits="123" branch="false"/>
+ <line number="74" hits="123" branch="false"/>
+ <line number="80" hits="123" branch="false"/>
+ <line number="87" hits="123" branch="false"/>
+ <line number="94" hits="123" branch="false"/>
+ <line number="101" hits="123" branch="false"/>
+ <line number="107" hits="123" branch="false"/>
+ <line number="114" hits="123" branch="false"/>
+ <line number="121" hits="123" branch="false"/>
+ <line number="127" hits="123" branch="false"/>
+ <line number="134" hits="123" branch="false"/>
+ <line number="140" hits="123" branch="false"/>
+ <line number="147" hits="123" branch="false"/>
+ <line number="160" hits="39" branch="false"/>
+ <line number="172" hits="96" branch="false"/>
+ <line number="184" hits="39" branch="false"/>
+ <line number="202" hits="123" branch="false"/>
+ <line number="203" hits="123" branch="false"/>
+ <line number="204" hits="123" branch="false"/>
+ <line number="208" hits="123" branch="false"/>
+ <line number="220" hits="3" branch="false"/>
+ <line number="221" hits="3" branch="false"/>
+ <line number="222" hits="3" branch="false"/>
+ <line number="223" hits="3" branch="false"/>
+ <line number="224" hits="3" branch="false"/>
+ <line number="225" hits="3" branch="false"/>
+ <line number="226" hits="3" branch="false"/>
+ <line number="227" hits="3" branch="false"/>
+ <line number="228" hits="3" branch="false"/>
+ <line number="231" hits="3" branch="false"/>
+ <line number="232" hits="3" branch="false"/>
+ <line number="233" hits="3" branch="false"/>
+ <line number="235" hits="3" branch="false"/>
+ <line number="249" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="250" hits="21" branch="false"/>
+ <line number="252" hits="57" branch="false"/>
+ <line number="264" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="265" hits="21" branch="false"/>
+ <line number="267" hits="57" branch="false"/>
+ <line number="279" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="280" hits="21" branch="false"/>
+ <line number="282" hits="57" branch="false"/>
+ <line number="294" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="295" hits="21" branch="false"/>
+ <line number="297" hits="57" branch="false"/>
+ <line number="309" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="310" hits="21" branch="false"/>
+ <line number="312" hits="57" branch="false"/>
+ <line number="324" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="325" hits="21" branch="false"/>
+ <line number="327" hits="57" branch="false"/>
+ <line number="340" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="341" hits="21" branch="false"/>
+ <line number="343" hits="57" branch="false"/>
+ <line number="355" hits="57" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="356" hits="21" branch="false"/>
+ <line number="358" hits="57" branch="false"/>
+ <line number="370" hits="60" branch="true" condition-coverage="100% (4/4)">
+ <conditions>
+ <condition number="0" type="jump" coverage="100%"/>
+ <condition number="1" type="jump" coverage="100%"/>
+ </conditions>
+ </line>
+ <line number="371" hits="24" branch="false"/>
+ <line number="373" hits="60" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ </packages>
+</coverage>