--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.api.utils;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang.StringUtils;
+import org.codehaus.staxmate.in.SMHierarchicCursor;
+import org.codehaus.staxmate.in.SMInputCursor;
+import org.sonar.api.batch.SensorContext;
+import org.sonar.api.measures.CoverageMeasuresBuilder;
+import org.sonar.api.measures.Measure;
+import org.sonar.api.resources.Resource;
+
+import javax.xml.stream.XMLStreamException;
+
+import java.io.File;
+import java.text.ParseException;
+import java.util.Map;
+
+import static java.util.Locale.ENGLISH;
+import static org.sonar.api.utils.ParsingUtils.parseNumber;
+
+/**
+ * @since 3.7
+ * @deprecated in 4.2. This class should be handled internally by plugins
+ */
+@Deprecated
+public class CoberturaReportParserUtils {
+
+ private CoberturaReportParserUtils() {
+ }
+
+ public interface FileResolver {
+
+ /**
+ * Return a SonarQube file resource from a filename present in Cobertura report
+ */
+ Resource resolve(String filename);
+ }
+
+ /**
+ * Parse a Cobertura xml report and create measures accordingly
+ */
+ public static void parseReport(File xmlFile, final SensorContext context, final FileResolver fileResolver) {
+ try {
+ StaxParser parser = new StaxParser(new StaxParser.XmlStreamHandler() {
+
+ public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException {
+ rootCursor.advance();
+ collectPackageMeasures(rootCursor.descendantElementCursor("package"), context, fileResolver);
+ }
+ });
+ parser.parse(xmlFile);
+ } catch (XMLStreamException e) {
+ throw new XmlParserException(e);
+ }
+ }
+
+ private static void collectPackageMeasures(SMInputCursor pack, SensorContext context, final FileResolver fileResolver) throws XMLStreamException {
+ while (pack.getNext() != null) {
+ Map<String, CoverageMeasuresBuilder> builderByFilename = Maps.newHashMap();
+ collectFileMeasures(pack.descendantElementCursor("class"), builderByFilename);
+ for (Map.Entry<String, CoverageMeasuresBuilder> entry : builderByFilename.entrySet()) {
+ String filename = sanitizeFilename(entry.getKey());
+ Resource file = fileResolver.resolve(filename);
+ if (fileExists(context, file)) {
+ for (Measure measure : entry.getValue().createMeasures()) {
+ context.saveMeasure(file, measure);
+ }
+ }
+ }
+ }
+ }
+
+ private static boolean fileExists(SensorContext context, Resource file) {
+ return context.getResource(file) != null;
+ }
+
+ private static void collectFileMeasures(SMInputCursor clazz, Map<String, CoverageMeasuresBuilder> builderByFilename) throws XMLStreamException {
+ while (clazz.getNext() != null) {
+ String fileName = clazz.getAttrValue("filename");
+ CoverageMeasuresBuilder builder = builderByFilename.get(fileName);
+ if (builder == null) {
+ builder = CoverageMeasuresBuilder.create();
+ builderByFilename.put(fileName, builder);
+ }
+ collectFileData(clazz, builder);
+ }
+ }
+
+ private static void collectFileData(SMInputCursor clazz, CoverageMeasuresBuilder builder) throws XMLStreamException {
+ SMInputCursor line = clazz.childElementCursor("lines").advance().childElementCursor("line");
+ while (line.getNext() != null) {
+ int lineId = Integer.parseInt(line.getAttrValue("number"));
+ try {
+ builder.setHits(lineId, (int) parseNumber(line.getAttrValue("hits"), ENGLISH));
+ } catch (ParseException e) {
+ throw new XmlParserException(e);
+ }
+
+ String isBranch = line.getAttrValue("branch");
+ String text = line.getAttrValue("condition-coverage");
+ if (StringUtils.equals(isBranch, "true") && StringUtils.isNotBlank(text)) {
+ String[] conditions = StringUtils.split(StringUtils.substringBetween(text, "(", ")"), "/");
+ builder.setConditions(lineId, Integer.parseInt(conditions[1]), Integer.parseInt(conditions[0]));
+ }
+ }
+ }
+
+ private static String sanitizeFilename(String s) {
+ String fileName = FilenameUtils.removeExtension(s);
+ fileName = fileName.replace('/', '.').replace('\\', '.');
+ return fileName;
+ }
+
+}
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.api.utils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.sonar.api.batch.SensorContext;
+import org.sonar.api.measures.CoreMetrics;
+import org.sonar.api.measures.Measure;
+import org.sonar.api.resources.JavaFile;
+import org.sonar.api.resources.JavaPackage;
+import org.sonar.api.resources.Qualifiers;
+import org.sonar.api.resources.Resource;
+import org.sonar.api.resources.Scopes;
+import org.sonar.api.test.IsMeasure;
+import org.sonar.api.test.IsResource;
+import org.sonar.api.utils.CoberturaReportParserUtils.FileResolver;
+
+import java.io.File;
+import java.net.URISyntaxException;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyDouble;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class CoberturaReportParserUtilsTest {
+
+ private SensorContext context;
+
+ @Before
+ public void setUp() {
+ context = mock(SensorContext.class);
+ }
+
+ private static FileResolver JAVA_FILE_RESOLVER = new FileResolver() {
+
+ @Override
+ public Resource resolve(String filename) {
+ return new JavaFile(filename);
+ }
+ };
+
+ @Test
+ public void doNotCollectProjectCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure(eq(CoreMetrics.COVERAGE), anyDouble());
+ }
+
+ @Test
+ public void doNotCollectProjectLineCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure(eq(CoreMetrics.LINE_COVERAGE), anyDouble());
+ verify(context, never()).saveMeasure(argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA)));
+ }
+
+ @Test
+ public void doNotCollectProjectBranchCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure(eq(CoreMetrics.BRANCH_COVERAGE), anyDouble());
+ }
+
+ @Test
+ public void collectPackageLineCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.LINE_COVERAGE), anyDouble());
+ verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.UNCOVERED_LINES), anyDouble());
+ }
+
+ @Test
+ public void collectPackageBranchCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.BRANCH_COVERAGE), anyDouble());
+ verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.UNCOVERED_CONDITIONS), anyDouble());
+ }
+
+ @Test
+ public void packageCoverageIsCalculatedLaterByDecorator() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.COVERAGE), anyDouble());
+ }
+
+ @Test
+ public void collectFileLineCoverage() throws URISyntaxException {
+ when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ final JavaFile file = new JavaFile("org.apache.commons.chain.config.ConfigParser");
+ verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 30.0)));
+ verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 5.0)));
+ }
+
+ @Test
+ public void collectFileBranchCoverage() throws URISyntaxException {
+ when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ final JavaFile file = new JavaFile("org.apache.commons.chain.config.ConfigParser");
+ verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 6.0)));
+ verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 2.0)));
+ }
+
+ @Test
+ public void testDoNotSaveMeasureOnResourceWhichDoesntExistInTheContext() throws URISyntaxException {
+ when(context.getResource(any(Resource.class))).thenReturn(null);
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+ verify(context, never()).saveMeasure(any(Resource.class), any(Measure.class));
+ }
+
+ @Test
+ public void javaInterfaceHasNoCoverage() throws URISyntaxException {
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+
+ final JavaFile interfaze = new JavaFile("org.apache.commons.chain.Chain");
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.COVERAGE)));
+
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.LINE_COVERAGE)));
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
+
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.BRANCH_COVERAGE)));
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
+ verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
+ }
+
+ @Test
+ public void shouldInsertCoverageAtFileLevel() throws URISyntaxException {
+ File coverage = new File(getClass().getResource(
+ "/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldInsertCoverageAtFileLevel/coverage.xml").toURI());
+ when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
+ CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
+
+ verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+ argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 35.0)));
+ verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 22.0)));
+
+ verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+ argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 4.0)));
+ verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 3.0)));
+
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+ argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+ argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
+
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+ argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+ argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
+ verify(context, never()).saveMeasure(
+ argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
+ argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
+
+ verify(context)
+ .saveMeasure(
+ eq(new JavaFile("org.sonar.samples.InnerClass")),
+ argThat(new IsMeasure(
+ CoreMetrics.COVERAGE_LINE_HITS_DATA,
+ "22=2;25=0;26=0;29=0;30=0;31=0;34=1;35=1;36=1;37=0;39=1;41=1;44=2;46=1;47=1;50=0;51=0;52=0;53=0;55=0;57=0;60=0;61=0;64=1;71=1;73=1;76=0;77=0;80=0;81=0;85=0;87=0;91=0;93=0;96=1")));
+ }
+
+ @Test
+ public void collectFileLineHitsData() throws URISyntaxException {
+ when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
+ CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
+ verify(context).saveMeasure(
+ eq(new JavaFile("org.apache.commons.chain.impl.CatalogBase")),
+ argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA,
+ "48=117;56=234;66=0;67=0;68=0;84=999;86=999;98=318;111=18;121=0;122=0;125=0;126=0;127=0;128=0;131=0;133=0")));
+ }
+
+ @Test
+ public void shouldNotCountTwiceAnonymousClasses() throws URISyntaxException {
+ File coverage = new File(getClass().getResource("/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldNotCountTwiceAnonymousClasses.xml").toURI());
+ when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.samples.MyClass"));
+ CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
+
+ verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.MyFile")),
+ argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 5.0))); // do not count line 26 twice
+ }
+
+ private File getCoverageReport() throws URISyntaxException {
+ return new File(getClass().getResource("/org/sonar/api/utils/CoberturaReportParserUtilsTest/commons-chain-coverage.xml").toURI());
+ }
+}
--- /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>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
+
+<coverage line-rate="0.37142857142857144" branch-rate="0.25" lines-covered="13" lines-valid="35" branches-covered="1"
+ branches-valid="4" complexity="1.3076923076923077" version="1.9.2" timestamp="1253274062754">
+ <sources>
+ <source>/Users/simon/projects/sonar/trunk/tests/integration/reference-projects/reference/src/main/java</source>
+ <source>--source</source>
+ </sources>
+ <packages>
+ <package name="org.sonar.samples" line-rate="0.37142857142857144" branch-rate="0.25"
+ complexity="1.3076923076923077">
+ <classes>
+ <class name="org.sonar.samples.InnerClass" filename="org/sonar/samples/InnerClass.java"
+ line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="22" hits="2" branch="false"/>
+ <line number="44" hits="2" branch="false"/>
+ </lines>
+ </method>
+ <method name="methodOne" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="25" hits="0" branch="false"/>
+ <line number="26" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="methodReturnThree" signature="()I" line-rate="0.8333333333333334" branch-rate="0.5">
+ <lines>
+ <line number="34" hits="1" branch="false"/>
+ <line number="35" hits="1" branch="false"/>
+ <line number="36" hits="1" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="37" hits="0" branch="false"/>
+ <line number="39" hits="1" branch="false"/>
+ <line number="41" hits="1" branch="false"/>
+ </lines>
+ </method>
+ <method name="methodTwo" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="29" hits="0" branch="false"/>
+ <line number="30" hits="0" branch="false"/>
+ <line number="31" hits="0" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="22" hits="2" branch="false"/>
+ <line number="25" hits="0" branch="false"/>
+ <line number="26" hits="0" branch="false"/>
+ <line number="29" hits="0" branch="false"/>
+ <line number="30" hits="0" branch="false"/>
+ <line number="31" hits="0" branch="false"/>
+ <line number="34" hits="1" branch="false"/>
+ <line number="35" hits="1" branch="false"/>
+ <line number="36" hits="1" branch="true" condition-coverage="50% (1/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="50%"/>
+ </conditions>
+ </line>
+ <line number="37" hits="0" branch="false"/>
+ <line number="39" hits="1" branch="false"/>
+ <line number="41" hits="1" branch="false"/>
+ <line number="44" hits="2" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.sonar.samples.InnerClass$InnerClassInside" filename="org/sonar/samples/InnerClass.java"
+ line-rate="0.2727272727272727" branch-rate="0.0" complexity="1.3076923076923077">
+ <methods>
+ <method name="<init>" signature="(Lorg/sonar/samples/InnerClass;)V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="46" hits="1" branch="false"/>
+ <line number="47" hits="1" branch="false"/>
+ </lines>
+ </method>
+ <method name="innerMethodOne" signature="()V" line-rate="0.0" branch-rate="0.0">
+ <lines>
+ <line number="50" hits="0" branch="false"/>
+ <line number="51" hits="0" branch="false"/>
+ <line number="52" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="53" hits="0" branch="false"/>
+ <line number="55" hits="0" branch="false"/>
+ <line number="57" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="innerMethodTwo" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="60" hits="0" branch="false"/>
+ <line number="61" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="methodReturnFour" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="64" hits="1" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="46" hits="1" branch="false"/>
+ <line number="47" hits="1" branch="false"/>
+ <line number="50" hits="0" branch="false"/>
+ <line number="51" hits="0" branch="false"/>
+ <line number="52" hits="0" branch="true" condition-coverage="0% (0/2)">
+ <conditions>
+ <condition number="0" type="jump" coverage="0%"/>
+ </conditions>
+ </line>
+ <line number="53" hits="0" branch="false"/>
+ <line number="55" hits="0" branch="false"/>
+ <line number="57" hits="0" branch="false"/>
+ <line number="60" hits="0" branch="false"/>
+ <line number="61" hits="0" branch="false"/>
+ <line number="64" hits="1" branch="false"/>
+ </lines>
+ </class>
+ <class name="org.sonar.samples.PrivateClass" filename="org/sonar/samples/InnerClass.java"
+ line-rate="0.2727272727272727" branch-rate="1.0" complexity="1.3076923076923077">
+ <methods>
+ <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="71" hits="1" branch="false"/>
+ <line number="73" hits="1" branch="false"/>
+ </lines>
+ </method>
+ <method name="innerMethodFive" signature="()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="innerMethodFour" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="80" hits="0" branch="false"/>
+ <line number="81" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="innerMethodSix" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="91" hits="0" branch="false"/>
+ <line number="93" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="innerMethodThree" signature="()V" line-rate="0.0" branch-rate="1.0">
+ <lines>
+ <line number="76" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ </lines>
+ </method>
+ <method name="methodReturnfive" signature="()I" line-rate="1.0" branch-rate="1.0">
+ <lines>
+ <line number="96" hits="1" branch="false"/>
+ </lines>
+ </method>
+ </methods>
+ <lines>
+ <line number="71" hits="1" branch="false"/>
+ <line number="73" hits="1" branch="false"/>
+ <line number="76" hits="0" branch="false"/>
+ <line number="77" hits="0" branch="false"/>
+ <line number="80" hits="0" branch="false"/>
+ <line number="81" hits="0" branch="false"/>
+ <line number="85" hits="0" branch="false"/>
+ <line number="87" hits="0" branch="false"/>
+ <line number="91" hits="0" branch="false"/>
+ <line number="93" hits="0" branch="false"/>
+ <line number="96" hits="1" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ </packages>
+</coverage>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
+
+
+
+<!-- line 26 is defined in two nodes -->
+
+
+
+<coverage line-rate="0.37142857142857144" branch-rate="0.25" lines-covered="13" lines-valid="35" branches-covered="1"
+ branches-valid="4" complexity="1.3076923076923077" version="1.9.2" timestamp="1253274062754">
+ <sources>
+ <source>/Users/simon/projects/sonar/trunk/tests/integration/reference-projects/reference/src/main/java</source>
+ <source>--source</source>
+ </sources>
+ <packages>
+ <package name="org.sonar.samples" line-rate="0.37142857142857144" branch-rate="0.25"
+ complexity="1.3076923076923077">
+ <classes>
+ <class name="MyClass" filename="org/sonar/samples/MyFile.java"
+ line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
+ <lines>
+ <line number="22" hits="2" branch="false"/>
+ <line number="25" hits="0" branch="false"/>
+ <line number="26" hits="0" branch="false"/>
+ </lines>
+ </class>
+ <class name="MyClass$1" filename="org/sonar/samples/MyFile.java"
+ line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
+ <lines>
+
+ <line number="26" hits="0" branch="false"/>
+ <line number="27" hits="0" branch="false"/>
+ <line number="28" hits="0" branch="false"/>
+ </lines>
+ </class>
+ </classes>
+ </package>
+ </packages>
+</coverage>
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2013 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.api.utils;
-
-import com.google.common.collect.Maps;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang.StringUtils;
-import org.codehaus.staxmate.in.SMHierarchicCursor;
-import org.codehaus.staxmate.in.SMInputCursor;
-import org.sonar.api.batch.SensorContext;
-import org.sonar.api.measures.CoverageMeasuresBuilder;
-import org.sonar.api.measures.Measure;
-import org.sonar.api.resources.Resource;
-
-import javax.xml.stream.XMLStreamException;
-
-import java.io.File;
-import java.text.ParseException;
-import java.util.Map;
-
-import static java.util.Locale.ENGLISH;
-import static org.sonar.api.utils.ParsingUtils.parseNumber;
-
-/**
- * @since 3.7
- * @deprecated since 4.2 should be handled by language plugins
- */
-@Deprecated
-public class CoberturaReportParserUtils {
-
- private CoberturaReportParserUtils() {
- }
-
- public interface FileResolver {
-
- /**
- * Return a SonarQube file resource from a filename present in Cobertura report
- */
- Resource resolve(String filename);
- }
-
- /**
- * Parse a Cobertura xml report and create measures accordingly
- */
- public static void parseReport(File xmlFile, final SensorContext context, final FileResolver fileResolver) {
- try {
- StaxParser parser = new StaxParser(new StaxParser.XmlStreamHandler() {
-
- public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException {
- rootCursor.advance();
- collectPackageMeasures(rootCursor.descendantElementCursor("package"), context, fileResolver);
- }
- });
- parser.parse(xmlFile);
- } catch (XMLStreamException e) {
- throw new XmlParserException(e);
- }
- }
-
- private static void collectPackageMeasures(SMInputCursor pack, SensorContext context, final FileResolver fileResolver) throws XMLStreamException {
- while (pack.getNext() != null) {
- Map<String, CoverageMeasuresBuilder> builderByFilename = Maps.newHashMap();
- collectFileMeasures(pack.descendantElementCursor("class"), builderByFilename);
- for (Map.Entry<String, CoverageMeasuresBuilder> entry : builderByFilename.entrySet()) {
- String filename = sanitizeFilename(entry.getKey());
- Resource file = fileResolver.resolve(filename);
- if (fileExists(context, file)) {
- for (Measure measure : entry.getValue().createMeasures()) {
- context.saveMeasure(file, measure);
- }
- }
- }
- }
- }
-
- private static boolean fileExists(SensorContext context, Resource file) {
- return context.getResource(file) != null;
- }
-
- private static void collectFileMeasures(SMInputCursor clazz, Map<String, CoverageMeasuresBuilder> builderByFilename) throws XMLStreamException {
- while (clazz.getNext() != null) {
- String fileName = clazz.getAttrValue("filename");
- CoverageMeasuresBuilder builder = builderByFilename.get(fileName);
- if (builder == null) {
- builder = CoverageMeasuresBuilder.create();
- builderByFilename.put(fileName, builder);
- }
- collectFileData(clazz, builder);
- }
- }
-
- private static void collectFileData(SMInputCursor clazz, CoverageMeasuresBuilder builder) throws XMLStreamException {
- SMInputCursor line = clazz.childElementCursor("lines").advance().childElementCursor("line");
- while (line.getNext() != null) {
- int lineId = Integer.parseInt(line.getAttrValue("number"));
- try {
- builder.setHits(lineId, (int) parseNumber(line.getAttrValue("hits"), ENGLISH));
- } catch (ParseException e) {
- throw new XmlParserException(e);
- }
-
- String isBranch = line.getAttrValue("branch");
- String text = line.getAttrValue("condition-coverage");
- if (StringUtils.equals(isBranch, "true") && StringUtils.isNotBlank(text)) {
- String[] conditions = StringUtils.split(StringUtils.substringBetween(text, "(", ")"), "/");
- builder.setConditions(lineId, Integer.parseInt(conditions[1]), Integer.parseInt(conditions[0]));
- }
- }
- }
-
- private static String sanitizeFilename(String s) {
- String fileName = FilenameUtils.removeExtension(s);
- fileName = fileName.replace('/', '.').replace('\\', '.');
- return fileName;
- }
-
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2013 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.api.utils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.sonar.api.batch.SensorContext;
-import org.sonar.api.measures.CoreMetrics;
-import org.sonar.api.measures.Measure;
-import org.sonar.api.resources.JavaFile;
-import org.sonar.api.resources.JavaPackage;
-import org.sonar.api.resources.Qualifiers;
-import org.sonar.api.resources.Resource;
-import org.sonar.api.resources.Scopes;
-import org.sonar.api.test.IsMeasure;
-import org.sonar.api.test.IsResource;
-import org.sonar.api.utils.CoberturaReportParserUtils.FileResolver;
-
-import java.io.File;
-import java.net.URISyntaxException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyDouble;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-public class CoberturaReportParserUtilsTest {
-
- private SensorContext context;
-
- @Before
- public void setUp() {
- context = mock(SensorContext.class);
- }
-
- private static FileResolver JAVA_FILE_RESOLVER = new FileResolver() {
-
- @Override
- public Resource resolve(String filename) {
- return new JavaFile(filename);
- }
- };
-
- @Test
- public void doNotCollectProjectCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure(eq(CoreMetrics.COVERAGE), anyDouble());
- }
-
- @Test
- public void doNotCollectProjectLineCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure(eq(CoreMetrics.LINE_COVERAGE), anyDouble());
- verify(context, never()).saveMeasure(argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA)));
- }
-
- @Test
- public void doNotCollectProjectBranchCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure(eq(CoreMetrics.BRANCH_COVERAGE), anyDouble());
- }
-
- @Test
- public void collectPackageLineCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.LINE_COVERAGE), anyDouble());
- verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.UNCOVERED_LINES), anyDouble());
- }
-
- @Test
- public void collectPackageBranchCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.BRANCH_COVERAGE), anyDouble());
- verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.UNCOVERED_CONDITIONS), anyDouble());
- }
-
- @Test
- public void packageCoverageIsCalculatedLaterByDecorator() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- verify(context, never()).saveMeasure((Resource) argThat(is(JavaPackage.class)), eq(CoreMetrics.COVERAGE), anyDouble());
- }
-
- @Test
- public void collectFileLineCoverage() throws URISyntaxException {
- when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- final JavaFile file = new JavaFile("org.apache.commons.chain.config.ConfigParser");
- verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 30.0)));
- verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 5.0)));
- }
-
- @Test
- public void collectFileBranchCoverage() throws URISyntaxException {
- when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- final JavaFile file = new JavaFile("org.apache.commons.chain.config.ConfigParser");
- verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 6.0)));
- verify(context).saveMeasure(eq(file), argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 2.0)));
- }
-
- @Test
- public void testDoNotSaveMeasureOnResourceWhichDoesntExistInTheContext() throws URISyntaxException {
- when(context.getResource(any(Resource.class))).thenReturn(null);
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
- verify(context, never()).saveMeasure(any(Resource.class), any(Measure.class));
- }
-
- @Test
- public void javaInterfaceHasNoCoverage() throws URISyntaxException {
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
-
- final JavaFile interfaze = new JavaFile("org.apache.commons.chain.Chain");
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.COVERAGE)));
-
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.LINE_COVERAGE)));
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
-
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.BRANCH_COVERAGE)));
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
- verify(context, never()).saveMeasure(eq(interfaze), argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
- }
-
- @Test
- public void shouldInsertCoverageAtFileLevel() throws URISyntaxException {
- File coverage = new File(getClass().getResource(
- "/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldInsertCoverageAtFileLevel/coverage.xml").toURI());
- when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
- CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
-
- verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
- argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 35.0)));
- verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES, 22.0)));
-
- verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
- argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER, 4.0)));
- verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS, 3.0)));
-
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
- argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
- argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.InnerClass$InnerClassInside")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
-
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
- argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
- argThat(new IsMeasure(CoreMetrics.CONDITIONS_TO_COVER)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_CONDITIONS)));
- verify(context, never()).saveMeasure(
- argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.PrivateClass")),
- argThat(new IsMeasure(CoreMetrics.UNCOVERED_LINES)));
-
- verify(context)
- .saveMeasure(
- eq(new JavaFile("org.sonar.samples.InnerClass")),
- argThat(new IsMeasure(
- CoreMetrics.COVERAGE_LINE_HITS_DATA,
- "22=2;25=0;26=0;29=0;30=0;31=0;34=1;35=1;36=1;37=0;39=1;41=1;44=2;46=1;47=1;50=0;51=0;52=0;53=0;55=0;57=0;60=0;61=0;64=1;71=1;73=1;76=0;77=0;80=0;81=0;85=0;87=0;91=0;93=0;96=1")));
- }
-
- @Test
- public void collectFileLineHitsData() throws URISyntaxException {
- when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.MyClass"));
- CoberturaReportParserUtils.parseReport(getCoverageReport(), context, JAVA_FILE_RESOLVER);
- verify(context).saveMeasure(
- eq(new JavaFile("org.apache.commons.chain.impl.CatalogBase")),
- argThat(new IsMeasure(CoreMetrics.COVERAGE_LINE_HITS_DATA,
- "48=117;56=234;66=0;67=0;68=0;84=999;86=999;98=318;111=18;121=0;122=0;125=0;126=0;127=0;128=0;131=0;133=0")));
- }
-
- @Test
- public void shouldNotCountTwiceAnonymousClasses() throws URISyntaxException {
- File coverage = new File(getClass().getResource("/org/sonar/api/utils/CoberturaReportParserUtilsTest/shouldNotCountTwiceAnonymousClasses.xml").toURI());
- when(context.getResource(any(Resource.class))).thenReturn(new JavaFile("org.sonar.samples.MyClass"));
- CoberturaReportParserUtils.parseReport(coverage, context, JAVA_FILE_RESOLVER);
-
- verify(context).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.FILE, "org.sonar.samples.MyFile")),
- argThat(new IsMeasure(CoreMetrics.LINES_TO_COVER, 5.0))); // do not count line 26 twice
- }
-
- private File getCoverageReport() throws URISyntaxException {
- return new File(getClass().getResource("/org/sonar/api/utils/CoberturaReportParserUtilsTest/commons-chain-coverage.xml").toURI());
- }
-}
+++ /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>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
-
-<coverage line-rate="0.37142857142857144" branch-rate="0.25" lines-covered="13" lines-valid="35" branches-covered="1"
- branches-valid="4" complexity="1.3076923076923077" version="1.9.2" timestamp="1253274062754">
- <sources>
- <source>/Users/simon/projects/sonar/trunk/tests/integration/reference-projects/reference/src/main/java</source>
- <source>--source</source>
- </sources>
- <packages>
- <package name="org.sonar.samples" line-rate="0.37142857142857144" branch-rate="0.25"
- complexity="1.3076923076923077">
- <classes>
- <class name="org.sonar.samples.InnerClass" filename="org/sonar/samples/InnerClass.java"
- line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
- <methods>
- <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
- <lines>
- <line number="22" hits="2" branch="false"/>
- <line number="44" hits="2" branch="false"/>
- </lines>
- </method>
- <method name="methodOne" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="25" hits="0" branch="false"/>
- <line number="26" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="methodReturnThree" signature="()I" line-rate="0.8333333333333334" branch-rate="0.5">
- <lines>
- <line number="34" hits="1" branch="false"/>
- <line number="35" hits="1" branch="false"/>
- <line number="36" hits="1" branch="true" condition-coverage="50% (1/2)">
- <conditions>
- <condition number="0" type="jump" coverage="50%"/>
- </conditions>
- </line>
- <line number="37" hits="0" branch="false"/>
- <line number="39" hits="1" branch="false"/>
- <line number="41" hits="1" branch="false"/>
- </lines>
- </method>
- <method name="methodTwo" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="29" hits="0" branch="false"/>
- <line number="30" hits="0" branch="false"/>
- <line number="31" hits="0" branch="false"/>
- </lines>
- </method>
- </methods>
- <lines>
- <line number="22" hits="2" branch="false"/>
- <line number="25" hits="0" branch="false"/>
- <line number="26" hits="0" branch="false"/>
- <line number="29" hits="0" branch="false"/>
- <line number="30" hits="0" branch="false"/>
- <line number="31" hits="0" branch="false"/>
- <line number="34" hits="1" branch="false"/>
- <line number="35" hits="1" branch="false"/>
- <line number="36" hits="1" branch="true" condition-coverage="50% (1/2)">
- <conditions>
- <condition number="0" type="jump" coverage="50%"/>
- </conditions>
- </line>
- <line number="37" hits="0" branch="false"/>
- <line number="39" hits="1" branch="false"/>
- <line number="41" hits="1" branch="false"/>
- <line number="44" hits="2" branch="false"/>
- </lines>
- </class>
- <class name="org.sonar.samples.InnerClass$InnerClassInside" filename="org/sonar/samples/InnerClass.java"
- line-rate="0.2727272727272727" branch-rate="0.0" complexity="1.3076923076923077">
- <methods>
- <method name="<init>" signature="(Lorg/sonar/samples/InnerClass;)V" line-rate="1.0" branch-rate="1.0">
- <lines>
- <line number="46" hits="1" branch="false"/>
- <line number="47" hits="1" branch="false"/>
- </lines>
- </method>
- <method name="innerMethodOne" signature="()V" line-rate="0.0" branch-rate="0.0">
- <lines>
- <line number="50" hits="0" branch="false"/>
- <line number="51" hits="0" branch="false"/>
- <line number="52" hits="0" branch="true" condition-coverage="0% (0/2)">
- <conditions>
- <condition number="0" type="jump" coverage="0%"/>
- </conditions>
- </line>
- <line number="53" hits="0" branch="false"/>
- <line number="55" hits="0" branch="false"/>
- <line number="57" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="innerMethodTwo" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="60" hits="0" branch="false"/>
- <line number="61" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="methodReturnFour" signature="()I" line-rate="1.0" branch-rate="1.0">
- <lines>
- <line number="64" hits="1" branch="false"/>
- </lines>
- </method>
- </methods>
- <lines>
- <line number="46" hits="1" branch="false"/>
- <line number="47" hits="1" branch="false"/>
- <line number="50" hits="0" branch="false"/>
- <line number="51" hits="0" branch="false"/>
- <line number="52" hits="0" branch="true" condition-coverage="0% (0/2)">
- <conditions>
- <condition number="0" type="jump" coverage="0%"/>
- </conditions>
- </line>
- <line number="53" hits="0" branch="false"/>
- <line number="55" hits="0" branch="false"/>
- <line number="57" hits="0" branch="false"/>
- <line number="60" hits="0" branch="false"/>
- <line number="61" hits="0" branch="false"/>
- <line number="64" hits="1" branch="false"/>
- </lines>
- </class>
- <class name="org.sonar.samples.PrivateClass" filename="org/sonar/samples/InnerClass.java"
- line-rate="0.2727272727272727" branch-rate="1.0" complexity="1.3076923076923077">
- <methods>
- <method name="<init>" signature="()V" line-rate="1.0" branch-rate="1.0">
- <lines>
- <line number="71" hits="1" branch="false"/>
- <line number="73" hits="1" branch="false"/>
- </lines>
- </method>
- <method name="innerMethodFive" signature="()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="innerMethodFour" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="80" hits="0" branch="false"/>
- <line number="81" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="innerMethodSix" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="91" hits="0" branch="false"/>
- <line number="93" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="innerMethodThree" signature="()V" line-rate="0.0" branch-rate="1.0">
- <lines>
- <line number="76" hits="0" branch="false"/>
- <line number="77" hits="0" branch="false"/>
- </lines>
- </method>
- <method name="methodReturnfive" signature="()I" line-rate="1.0" branch-rate="1.0">
- <lines>
- <line number="96" hits="1" branch="false"/>
- </lines>
- </method>
- </methods>
- <lines>
- <line number="71" hits="1" branch="false"/>
- <line number="73" hits="1" branch="false"/>
- <line number="76" hits="0" branch="false"/>
- <line number="77" hits="0" branch="false"/>
- <line number="80" hits="0" branch="false"/>
- <line number="81" hits="0" branch="false"/>
- <line number="85" hits="0" branch="false"/>
- <line number="87" hits="0" branch="false"/>
- <line number="91" hits="0" branch="false"/>
- <line number="93" hits="0" branch="false"/>
- <line number="96" hits="1" branch="false"/>
- </lines>
- </class>
- </classes>
- </package>
- </packages>
-</coverage>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
-
-
-
-<!-- line 26 is defined in two nodes -->
-
-
-
-<coverage line-rate="0.37142857142857144" branch-rate="0.25" lines-covered="13" lines-valid="35" branches-covered="1"
- branches-valid="4" complexity="1.3076923076923077" version="1.9.2" timestamp="1253274062754">
- <sources>
- <source>/Users/simon/projects/sonar/trunk/tests/integration/reference-projects/reference/src/main/java</source>
- <source>--source</source>
- </sources>
- <packages>
- <package name="org.sonar.samples" line-rate="0.37142857142857144" branch-rate="0.25"
- complexity="1.3076923076923077">
- <classes>
- <class name="MyClass" filename="org/sonar/samples/MyFile.java"
- line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
- <lines>
- <line number="22" hits="2" branch="false"/>
- <line number="25" hits="0" branch="false"/>
- <line number="26" hits="0" branch="false"/>
- </lines>
- </class>
- <class name="MyClass$1" filename="org/sonar/samples/MyFile.java"
- line-rate="0.5384615384615384" branch-rate="0.5" complexity="1.3076923076923077">
- <lines>
-
- <line number="26" hits="0" branch="false"/>
- <line number="27" hits="0" branch="false"/>
- <line number="28" hits="0" branch="false"/>
- </lines>
- </class>
- </classes>
- </package>
- </packages>
-</coverage>