Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReportGenerator Error during reading report cobertura.xml #485

Closed
vikashkumar-tomtom opened this issue Feb 10, 2022 · 2 comments
Closed
Labels

Comments

@vikashkumar-tomtom
Copy link

vikashkumar-tomtom commented Feb 10, 2022

ReportGenerator failed to read cobertura.xml

To Reproduce
The following input helps to reproduce your issue:

  1. Console output of ReportGenerator -
2022-02-10T17:20:06.3472529Z ##[section]Starting: reportgenerator
2022-02-10T17:20:06.3481216Z ==============================================================================
2022-02-10T17:20:06.3481792Z Task         : ReportGenerator
2022-02-10T17:20:06.3482499Z Description  : ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.
2022-02-10T17:20:06.3483335Z Version      : 5.0.3
2022-02-10T17:20:06.3483671Z Author       : Palmmedia
2022-02-10T17:20:06.3484109Z Help         : [More Information](https://github.com/danielpalme/ReportGenerator)
2022-02-10T17:20:06.3484633Z ==============================================================================
2022-02-10T17:20:06.9244468Z [command]/usr/bin/dotnet /__w/_tasks/reportgenerator_be803a55-9253-4895-a525-be570d86f161/5.0.3/tools/netcoreapp3.1/ReportGenerator.dll -reports:/__w/1/s/target/scala-2.13/coverage-report/cobertura.xml -targetdir:/__w/1/s/coverageReport -reporttypes:Cobertura -sourcedirs: -historydir: -plugins: -assemblyfilters:+* -classfilters:+* -filefilters:+* -verbosity:Info -title: -tag:20220210.8_#1322793
2022-02-10T17:20:06.9246669Z 2022-02-10T17:20:06: Error during reading report '/__w/1/s/target/scala-2.13/coverage-report/cobertura.xml' (Size: 104.9KB): Object reference not set to an instance of an object.
2022-02-10T17:20:06.9247914Z 2022-02-10T17:20:06: Writing report file '/__w/1/s/coverageReport/Cobertura.xml'
2022-02-10T17:20:06.9248775Z 2022-02-10T17:20:06: Report generation took 0.1 seconds
2022-02-10T17:20:06.9255663Z ##[section]Finishing: reportgenerator
  1. Issue is related to a specific cobertura coverage file that gets parsed by ReportGenerator, Please find below the content of the file -
    cobertura.xml -
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage 
line-rate="0.87" lines-valid="581" lines-covered="504" branches-valid="12" branches-covered="12" branch-rate="1.00" complexity="0" version="1.0" timestamp="1643965426452">
  <sources>
      <source>--source</source>
      <source>/__w/1/s/app</source>
      <source>/__w/1/s/target/scala-2.13/twirl/main</source>
      <source>/__w/1/s/target/scala-2.13/routes/main</source>
  </sources>
  <packages>
      <package name="configuration" line-rate="0.94" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="configuration.JsonConfiguration" filename="configuration/JsonConfigurationModule.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="configuration/JsonConfiguration/configureObjectMapper" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="29" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="false"/>
                              <line number="33" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="31" hits="1" branch="false"/>
                              <line number="33" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="configuration/JsonConfiguration/getObjectMapper" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="23" hits="1" branch="false"/>
                              <line number="22" hits="1" branch="false"/>
                              <line number="25" hits="1" branch="false"/>
                              <line number="24" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="29" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="false"/>
                      <line number="23" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                      <line number="22" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="25" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                      <line number="24" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="configuration.EagerLoaderModule" filename="configuration/EagerLoaderModule.scala" line-rate="0.00" branch-rate="0.00" complexity="0">
                  <methods>
                      <method 
                      name="configuration/EagerLoaderModule/configure" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="9" hits="0" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="9" hits="0" branch="false"/>
                  </lines>
</class>
              <class 
              name="configuration.ApplicationConfiguration" filename="configuration/ApplicationConfiguration.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="configuration/ApplicationConfiguration/getSecret" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="31" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="31" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="configuration.JsonConfigurationModule" filename="configuration/JsonConfigurationModule.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="configuration/JsonConfigurationModule/objectMapper" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="15" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="15" hits="1" branch="false"/>
                  </lines>
</class>
          </classes>
      </package>
      <package name="context" line-rate="1.00" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="context.MdcExecutionContext" filename="context/MdcExecutionContext.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="context/MdcExecutionContext/execute" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="17" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="true"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="true"/>
                              <line number="19" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="true"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="true"/>
                          </lines>
                      </method>
                      <method name="context/MdcExecutionContext/apply" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="9" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="context/MdcExecutionContext/reportFailure" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="26" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="17" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="true"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="true"/>
                      <line number="19" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="true"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="9" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="26" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="true"/>
                  </lines>
</class>
          </classes>
      </package>
      <package name="controllers" line-rate="0.89" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="controllers.TokenController" filename="controllers/TokenController.scala" line-rate="0.89" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="controllers/TokenController/validateUserCredentials" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                              <line number="327" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/validateApiVersion" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="315" hits="1" branch="false"/>
                              <line number="314" hits="1" branch="false"/>
                              <line number="314" hits="1" branch="false"/>
                              <line number="315" hits="1" branch="false"/>
                              <line number="315" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/handleCreatePasswordTokenResponse" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="264" hits="1" branch="false"/>
                              <line number="272" hits="1" branch="false"/>
                              <line number="268" hits="1" branch="false"/>
                              <line number="272" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="268" hits="1" branch="false"/>
                              <line number="273" hits="1" branch="false"/>
                              <line number="261" hits="1" branch="false"/>
                              <line number="267" hits="1" branch="false"/>
                              <line number="270" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="275" hits="1" branch="false"/>
                              <line number="267" hits="1" branch="false"/>
                              <line number="272" hits="1" branch="false"/>
                              <line number="275" hits="1" branch="false"/>
                              <line number="270" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="275" hits="1" branch="false"/>
                              <line number="268" hits="1" branch="false"/>
                              <line number="272" hits="1" branch="false"/>
                              <line number="265" hits="1" branch="false"/>
                              <line number="270" hits="1" branch="false"/>
                              <line number="273" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="267" hits="1" branch="false"/>
                              <line number="267" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="273" hits="1" branch="false"/>
                              <line number="270" hits="1" branch="false"/>
                              <line number="272" hits="1" branch="false"/>
                              <line number="275" hits="1" branch="false"/>
                              <line number="264" hits="1" branch="false"/>
                              <line number="267" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/getClientCredentialsToken" signature="()V" line-rate="0.64" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="110" hits="0" branch="false"/>
                              <line number="99" hits="1" branch="false"/>
                              <line number="110" hits="0" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="102" hits="1" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="108" hits="0" branch="false"/>
                              <line number="89" hits="1" branch="false"/>
                              <line number="90" hits="1" branch="false"/>
                              <line number="99" hits="1" branch="false"/>
                              <line number="108" hits="0" branch="false"/>
                              <line number="88" hits="1" branch="false"/>
                              <line number="102" hits="1" branch="false"/>
                              <line number="110" hits="0" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="97" hits="1" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="107" hits="0" branch="false"/>
                              <line number="107" hits="0" branch="false"/>
                              <line number="110" hits="0" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="108" hits="0" branch="false"/>
                              <line number="85" hits="1" branch="false"/>
                              <line number="87" hits="1" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="104" hits="1" branch="false"/>
                              <line number="110" hits="0" branch="false"/>
                              <line number="90" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/getTokenFromDatabase" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="280" hits="1" branch="false"/>
                              <line number="284" hits="1" branch="false"/>
                              <line number="280" hits="1" branch="false"/>
                              <line number="288" hits="1" branch="false"/>
                              <line number="285" hits="1" branch="false"/>
                              <line number="283" hits="1" branch="false"/>
                              <line number="290" hits="1" branch="false"/>
                              <line number="290" hits="1" branch="false"/>
                              <line number="283" hits="1" branch="false"/>
                              <line number="285" hits="1" branch="false"/>
                              <line number="290" hits="1" branch="false"/>
                              <line number="283" hits="1" branch="false"/>
                              <line number="285" hits="1" branch="false"/>
                              <line number="287" hits="1" branch="false"/>
                              <line number="284" hits="1" branch="false"/>
                              <line number="281" hits="1" branch="false"/>
                              <line number="285" hits="1" branch="false"/>
                              <line number="288" hits="1" branch="false"/>
                              <line number="284" hits="1" branch="false"/>
                              <line number="288" hits="1" branch="false"/>
                              <line number="283" hits="1" branch="false"/>
                              <line number="290" hits="1" branch="false"/>
                              <line number="285" hits="1" branch="false"/>
                              <line number="283" hits="1" branch="false"/>
                              <line number="287" hits="1" branch="false"/>
                              <line number="290" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/createPasswordToken" signature="()V" line-rate="0.57" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="176" hits="1" branch="false"/>
                              <line number="188" hits="1" branch="false"/>
                              <line number="196" hits="0" branch="false"/>
                              <line number="173" hits="1" branch="false"/>
                              <line number="183" hits="1" branch="false"/>
                              <line number="194" hits="0" branch="false"/>
                              <line number="185" hits="1" branch="false"/>
                              <line number="194" hits="0" branch="false"/>
                              <line number="175" hits="1" branch="false"/>
                              <line number="188" hits="1" branch="false"/>
                              <line number="196" hits="0" branch="false"/>
                              <line number="179" hits="1" branch="false"/>
                              <line number="193" hits="0" branch="false"/>
                              <line number="182" hits="1" branch="false"/>
                              <line number="193" hits="0" branch="false"/>
                              <line number="196" hits="0" branch="false"/>
                              <line number="180" hits="1" branch="false"/>
                              <line number="194" hits="0" branch="false"/>
                              <line number="183" hits="1" branch="false"/>
                              <line number="190" hits="1" branch="false"/>
                              <line number="196" hits="0" branch="false"/>
                              <line number="196" hits="0" branch="false"/>
                              <line number="185" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/redirectDocs" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="49" hits="1" branch="false"/>
                              <line number="55" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                              <line number="48" hits="1" branch="false"/>
                              <line number="55" hits="1" branch="false"/>
                              <line number="55" hits="1" branch="false"/>
                              <line number="50" hits="1" branch="false"/>
                              <line number="55" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="controllers/TokenController/metrics" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="68" hits="1" branch="false"/>
                              <line number="68" hits="1" branch="false"/>
                              <line number="68" hits="1" branch="false"/>
                              <line number="68" hits="1" branch="false"/>
                              <line number="68" hits="1" branch="false"/>
                              <line number="66" hits="1" branch="false"/>
                              <line number="67" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="controllers/TokenController/index" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="45" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                              <line number="44" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="controllers/TokenController/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="33" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="36" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/deletePasswordToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="229" hits="1" branch="false"/>
                              <line number="234" hits="1" branch="false"/>
                              <line number="224" hits="1" branch="false"/>
                              <line number="229" hits="1" branch="false"/>
                              <line number="234" hits="1" branch="false"/>
                              <line number="226" hits="1" branch="false"/>
                              <line number="234" hits="1" branch="false"/>
                              <line number="229" hits="1" branch="false"/>
                              <line number="226" hits="1" branch="false"/>
                              <line number="215" hits="1" branch="false"/>
                              <line number="226" hits="1" branch="false"/>
                              <line number="231" hits="1" branch="false"/>
                              <line number="212" hits="1" branch="false"/>
                              <line number="232" hits="1" branch="false"/>
                              <line number="221" hits="1" branch="false"/>
                              <line number="227" hits="1" branch="false"/>
                              <line number="232" hits="1" branch="false"/>
                              <line number="229" hits="1" branch="false"/>
                              <line number="234" hits="1" branch="false"/>
                              <line number="226" hits="1" branch="false"/>
                              <line number="218" hits="1" branch="false"/>
                              <line number="226" hits="1" branch="false"/>
                              <line number="231" hits="1" branch="false"/>
                              <line number="214" hits="1" branch="false"/>
                              <line number="227" hits="1" branch="false"/>
                              <line number="221" hits="1" branch="false"/>
                              <line number="232" hits="1" branch="false"/>
                              <line number="227" hits="1" branch="false"/>
                              <line number="217" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/getPasswordToken" signature="()V" line-rate="0.72" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="131" hits="1" branch="false"/>
                              <line number="147" hits="1" branch="false"/>
                              <line number="153" hits="0" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="139" hits="1" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="153" hits="0" branch="false"/>
                              <line number="150" hits="0" branch="false"/>
                              <line number="138" hits="1" branch="false"/>
                              <line number="156" hits="1" branch="false"/>
                              <line number="151" hits="0" branch="false"/>
                              <line number="142" hits="1" branch="false"/>
                              <line number="156" hits="1" branch="false"/>
                              <line number="155" hits="1" branch="true"/>
                              <line number="141" hits="1" branch="false"/>
                              <line number="151" hits="0" branch="false"/>
                              <line number="153" hits="0" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="130" hits="1" branch="false"/>
                              <line number="142" hits="1" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="153" hits="0" branch="false"/>
                              <line number="134" hits="1" branch="false"/>
                              <line number="145" hits="1" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="153" hits="0" branch="false"/>
                              <line number="157" hits="1" branch="false"/>
                              <line number="139" hits="1" branch="false"/>
                              <line number="150" hits="0" branch="false"/>
                              <line number="142" hits="1" branch="true"/>
                              <line number="156" hits="1" branch="false"/>
                              <line number="128" hits="1" branch="false"/>
                              <line number="142" hits="1" branch="false"/>
                              <line number="151" hits="0" branch="false"/>
                              <line number="135" hits="1" branch="false"/>
                              <line number="145" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/saveResponseToDatabase" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="299" hits="1" branch="false"/>
                              <line number="301" hits="1" branch="false"/>
                              <line number="302" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="295" hits="1" branch="false"/>
                              <line number="304" hits="1" branch="false"/>
                              <line number="298" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="304" hits="1" branch="false"/>
                              <line number="301" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="true"/>
                              <line number="302" hits="1" branch="false"/>
                              <line number="295" hits="1" branch="false"/>
                              <line number="298" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="304" hits="1" branch="false"/>
                              <line number="298" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="304" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="299" hits="1" branch="true"/>
                              <line number="299" hits="1" branch="false"/>
                              <line number="302" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="controllers/TokenController/getApiVersions" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="72" hits="1" branch="false"/>
                              <line number="71" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                              <line number="72" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="controllers/TokenController/status" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="62" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="61" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="controllers/TokenController/handleCreateClientCredentialsTokenResponse" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="256" hits="1" branch="false"/>
                              <line number="248" hits="1" branch="false"/>
                              <line number="253" hits="1" branch="false"/>
                              <line number="245" hits="1" branch="false"/>
                              <line number="246" hits="1" branch="false"/>
                              <line number="246" hits="1" branch="false"/>
                              <line number="253" hits="1" branch="false"/>
                              <line number="249" hits="1" branch="false"/>
                              <line number="251" hits="1" branch="false"/>
                              <line number="254" hits="1" branch="false"/>
                              <line number="248" hits="1" branch="false"/>
                              <line number="248" hits="1" branch="false"/>
                              <line number="253" hits="1" branch="false"/>
                              <line number="256" hits="1" branch="false"/>
                              <line number="244" hits="1" branch="false"/>
                              <line number="244" hits="1" branch="false"/>
                              <line number="251" hits="1" branch="false"/>
                              <line number="256" hits="1" branch="false"/>
                              <line number="248" hits="1" branch="false"/>
                              <line number="253" hits="1" branch="false"/>
                              <line number="256" hits="1" branch="false"/>
                              <line number="246" hits="1" branch="false"/>
                              <line number="249" hits="1" branch="false"/>
                              <line number="254" hits="1" branch="false"/>
                              <line number="246" hits="1" branch="false"/>
                              <line number="251" hits="1" branch="false"/>
                              <line number="249" hits="1" branch="false"/>
                              <line number="253" hits="1" branch="false"/>
                              <line number="241" hits="1" branch="false"/>
                              <line number="254" hits="1" branch="false"/>
                              <line number="248" hits="1" branch="false"/>
                              <line number="251" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="176" hits="1" branch="false"/>
                      <line number="188" hits="1" branch="false"/>
                      <line number="256" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="110" hits="0" branch="false"/>
                      <line number="131" hits="1" branch="false"/>
                      <line number="248" hits="1" branch="false"/>
                      <line number="229" hits="1" branch="false"/>
                      <line number="253" hits="1" branch="false"/>
                      <line number="234" hits="1" branch="false"/>
                      <line number="245" hits="1" branch="false"/>
                      <line number="280" hits="1" branch="false"/>
                      <line number="99" hits="1" branch="false"/>
                      <line number="196" hits="0" branch="false"/>
                      <line number="224" hits="1" branch="false"/>
                      <line number="272" hits="1" branch="false"/>
                      <line number="147" hits="1" branch="false"/>
                      <line number="153" hits="0" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="268" hits="1" branch="false"/>
                      <line number="110" hits="0" branch="false"/>
                      <line number="139" hits="1" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="153" hits="0" branch="false"/>
                      <line number="246" hits="1" branch="false"/>
                      <line number="229" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="102" hits="1" branch="false"/>
                      <line number="234" hits="1" branch="false"/>
                      <line number="173" hits="1" branch="false"/>
                      <line number="226" hits="1" branch="false"/>
                      <line number="62" hits="1" branch="false"/>
                      <line number="68" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                      <line number="49" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="183" hits="1" branch="false"/>
                      <line number="150" hits="0" branch="false"/>
                      <line number="194" hits="0" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="68" hits="1" branch="false"/>
                      <line number="138" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="55" hits="1" branch="false"/>
                      <line number="156" hits="1" branch="false"/>
                      <line number="315" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="108" hits="0" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="301" hits="1" branch="false"/>
                      <line number="151" hits="0" branch="false"/>
                      <line number="89" hits="1" branch="false"/>
                      <line number="71" hits="1" branch="false"/>
                      <line number="142" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="314" hits="1" branch="false"/>
                      <line number="90" hits="1" branch="false"/>
                      <line number="61" hits="1" branch="false"/>
                      <line number="284" hits="1" branch="false"/>
                      <line number="302" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="272" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="280" hits="1" branch="false"/>
                      <line number="268" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="288" hits="1" branch="false"/>
                      <line number="295" hits="1" branch="false"/>
                      <line number="234" hits="1" branch="false"/>
                      <line number="246" hits="1" branch="false"/>
                      <line number="285" hits="1" branch="false"/>
                      <line number="304" hits="1" branch="false"/>
                      <line number="229" hits="1" branch="false"/>
                      <line number="283" hits="1" branch="false"/>
                      <line number="253" hits="1" branch="false"/>
                      <line number="298" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="226" hits="1" branch="false"/>
                      <line number="273" hits="1" branch="false"/>
                      <line number="290" hits="1" branch="false"/>
                      <line number="261" hits="1" branch="false"/>
                      <line number="267" hits="1" branch="false"/>
                      <line number="249" hits="1" branch="false"/>
                      <line number="270" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="290" hits="1" branch="false"/>
                      <line number="185" hits="1" branch="false"/>
                      <line number="194" hits="0" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="275" hits="1" branch="false"/>
                      <line number="267" hits="1" branch="false"/>
                      <line number="283" hits="1" branch="false"/>
                      <line number="156" hits="1" branch="false"/>
                      <line number="155" hits="1" branch="true"/>
                      <line number="141" hits="1" branch="false"/>
                      <line number="251" hits="1" branch="false"/>
                      <line number="254" hits="1" branch="false"/>
                      <line number="215" hits="1" branch="false"/>
                      <line number="226" hits="1" branch="false"/>
                      <line number="231" hits="1" branch="false"/>
                      <line number="151" hits="0" branch="false"/>
                      <line number="212" hits="1" branch="false"/>
                      <line number="248" hits="1" branch="false"/>
                      <line number="272" hits="1" branch="false"/>
                      <line number="285" hits="1" branch="false"/>
                      <line number="232" hits="1" branch="false"/>
                      <line number="221" hits="1" branch="false"/>
                      <line number="227" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="153" hits="0" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="175" hits="1" branch="false"/>
                      <line number="248" hits="1" branch="false"/>
                      <line number="253" hits="1" branch="false"/>
                      <line number="256" hits="1" branch="false"/>
                      <line number="130" hits="1" branch="false"/>
                      <line number="142" hits="1" branch="false"/>
                      <line number="99" hits="1" branch="false"/>
                      <line number="108" hits="0" branch="false"/>
                      <line number="244" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="88" hits="1" branch="false"/>
                      <line number="188" hits="1" branch="false"/>
                      <line number="196" hits="0" branch="false"/>
                      <line number="102" hits="1" branch="false"/>
                      <line number="68" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="110" hits="0" branch="false"/>
                      <line number="179" hits="1" branch="false"/>
                      <line number="304" hits="1" branch="false"/>
                      <line number="44" hits="1" branch="false"/>
                      <line number="48" hits="1" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="193" hits="0" branch="false"/>
                      <line number="153" hits="0" branch="false"/>
                      <line number="182" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="134" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="145" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="97" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="107" hits="0" branch="false"/>
                      <line number="301" hits="1" branch="false"/>
                      <line number="314" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="55" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="275" hits="1" branch="false"/>
                      <line number="290" hits="1" branch="false"/>
                      <line number="283" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="285" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="270" hits="1" branch="false"/>
                      <line number="68" hits="1" branch="false"/>
                      <line number="244" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="315" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="232" hits="1" branch="false"/>
                      <line number="251" hits="1" branch="false"/>
                      <line number="256" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="true"/>
                      <line number="302" hits="1" branch="false"/>
                      <line number="248" hits="1" branch="false"/>
                      <line number="287" hits="1" branch="false"/>
                      <line number="275" hits="1" branch="false"/>
                      <line number="295" hits="1" branch="false"/>
                      <line number="268" hits="1" branch="false"/>
                      <line number="284" hits="1" branch="false"/>
                      <line number="272" hits="1" branch="false"/>
                      <line number="298" hits="1" branch="false"/>
                      <line number="229" hits="1" branch="false"/>
                      <line number="193" hits="0" branch="false"/>
                      <line number="234" hits="1" branch="false"/>
                      <line number="196" hits="0" branch="false"/>
                      <line number="281" hits="1" branch="false"/>
                      <line number="265" hits="1" branch="false"/>
                      <line number="285" hits="1" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="180" hits="1" branch="false"/>
                      <line number="253" hits="1" branch="false"/>
                      <line number="256" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="153" hits="0" branch="false"/>
                      <line number="226" hits="1" branch="false"/>
                      <line number="270" hits="1" branch="false"/>
                      <line number="273" hits="1" branch="false"/>
                      <line number="246" hits="1" branch="false"/>
                      <line number="249" hits="1" branch="false"/>
                      <line number="288" hits="1" branch="false"/>
                      <line number="68" hits="1" branch="false"/>
                      <line number="218" hits="1" branch="false"/>
                      <line number="254" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="107" hits="0" branch="false"/>
                      <line number="110" hits="0" branch="false"/>
                      <line number="226" hits="1" branch="false"/>
                      <line number="231" hits="1" branch="false"/>
                      <line number="194" hits="0" branch="false"/>
                      <line number="214" hits="1" branch="false"/>
                      <line number="157" hits="1" branch="false"/>
                      <line number="183" hits="1" branch="false"/>
                      <line number="139" hits="1" branch="false"/>
                      <line number="150" hits="0" branch="false"/>
                      <line number="142" hits="1" branch="true"/>
                      <line number="246" hits="1" branch="false"/>
                      <line number="251" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="267" hits="1" branch="false"/>
                      <line number="108" hits="0" branch="false"/>
                      <line number="66" hits="1" branch="false"/>
                      <line number="85" hits="1" branch="false"/>
                      <line number="55" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="227" hits="1" branch="false"/>
                      <line number="87" hits="1" branch="false"/>
                      <line number="190" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="196" hits="0" branch="false"/>
                      <line number="156" hits="1" branch="false"/>
                      <line number="221" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="128" hits="1" branch="false"/>
                      <line number="142" hits="1" branch="false"/>
                      <line number="151" hits="0" branch="false"/>
                      <line number="50" hits="1" branch="false"/>
                      <line number="67" hits="1" branch="false"/>
                      <line number="284" hits="1" branch="false"/>
                      <line number="288" hits="1" branch="false"/>
                      <line number="104" hits="1" branch="false"/>
                      <line number="110" hits="0" branch="false"/>
                      <line number="135" hits="1" branch="false"/>
                      <line number="304" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="90" hits="1" branch="false"/>
                      <line number="298" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="145" hits="1" branch="false"/>
                      <line number="72" hits="1" branch="false"/>
                      <line number="267" hits="1" branch="false"/>
                      <line number="55" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="283" hits="1" branch="false"/>
                      <line number="36" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="273" hits="1" branch="false"/>
                      <line number="304" hits="1" branch="false"/>
                      <line number="249" hits="1" branch="false"/>
                      <line number="253" hits="1" branch="false"/>
                      <line number="290" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="true"/>
                      <line number="285" hits="1" branch="false"/>
                      <line number="270" hits="1" branch="false"/>
                      <line number="327" hits="1" branch="false"/>
                      <line number="232" hits="1" branch="false"/>
                      <line number="196" hits="0" branch="false"/>
                      <line number="241" hits="1" branch="false"/>
                      <line number="283" hits="1" branch="false"/>
                      <line number="287" hits="1" branch="false"/>
                      <line number="227" hits="1" branch="false"/>
                      <line number="185" hits="1" branch="false"/>
                      <line number="254" hits="1" branch="false"/>
                      <line number="299" hits="1" branch="false"/>
                      <line number="217" hits="1" branch="false"/>
                      <line number="272" hits="1" branch="false"/>
                      <line number="275" hits="1" branch="false"/>
                      <line number="248" hits="1" branch="false"/>
                      <line number="264" hits="1" branch="false"/>
                      <line number="251" hits="1" branch="false"/>
                      <line number="267" hits="1" branch="false"/>
                      <line number="302" hits="1" branch="false"/>
                      <line number="290" hits="1" branch="false"/>
                      <line number="315" hits="1" branch="false"/>
                  </lines>
</class>
          </classes>
      </package>
      <package name="filters" line-rate="1.00" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="filters.MetricsFilter" filename="filters/MetricsFilter.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="filters/MetricsFilter/process" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="51" hits="1" branch="false"/>
                              <line number="54" hits="1" branch="false"/>
                              <line number="52" hits="1" branch="false"/>
                              <line number="46" hits="1" branch="false"/>
                              <line number="50" hits="1" branch="false"/>
                              <line number="54" hits="1" branch="false"/>
                              <line number="44" hits="1" branch="false"/>
                              <line number="54" hits="1" branch="false"/>
                              <line number="43" hits="1" branch="false"/>
                              <line number="51" hits="1" branch="false"/>
                              <line number="52" hits="1" branch="false"/>
                              <line number="46" hits="1" branch="false"/>
                              <line number="50" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                              <line number="50" hits="1" branch="false"/>
                              <line number="52" hits="1" branch="false"/>
                              <line number="50" hits="1" branch="false"/>
                              <line number="54" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                              <line number="51" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="filters/MetricsFilter/apply" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="35" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="36" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="33" hits="1" branch="true"/>
                              <line number="36" hits="1" branch="false"/>
                              <line number="37" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="true"/>
                              <line number="33" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="filters/MetricsFilter/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="27" hits="1" branch="false"/>
                              <line number="25" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="24" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="27" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="51" hits="1" branch="false"/>
                      <line number="54" hits="1" branch="false"/>
                      <line number="52" hits="1" branch="false"/>
                      <line number="35" hits="1" branch="false"/>
                      <line number="46" hits="1" branch="false"/>
                      <line number="27" hits="1" branch="false"/>
                      <line number="50" hits="1" branch="false"/>
                      <line number="54" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="36" hits="1" branch="false"/>
                      <line number="25" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="44" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="54" hits="1" branch="false"/>
                      <line number="43" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="52" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="true"/>
                      <line number="46" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="36" hits="1" branch="false"/>
                      <line number="50" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="24" hits="1" branch="false"/>
                      <line number="37" hits="1" branch="false"/>
                      <line number="50" hits="1" branch="false"/>
                      <line number="52" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="50" hits="1" branch="false"/>
                      <line number="27" hits="1" branch="false"/>
                      <line number="54" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="true"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                  </lines>
</class>
          </classes>
      </package>
      <package name="handler" line-rate="0.92" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="handler.ErrorHandler" filename="handler/ErrorHandler.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="handler/ErrorHandler/onServerError" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                              <line number="21" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="handler/ErrorHandler/onClientError" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="21" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="21" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="handler.RequestHandler" filename="handler/RequestHandler.scala" line-rate="0.86" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="handler/RequestHandler/removeTrailingSlash" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="29" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="true"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="28" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="true"/>
                          </lines>
</method>
                      <method 
                      name="handler/RequestHandler/handlerForRequest" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="24" hits="0" branch="false"/>
                              <line number="24" hits="0" branch="false"/>
                          </lines>
</method>
                      <method name="handler/RequestHandler/normalizePath" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="38" hits="1" branch="false"/>
                              <line number="37" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="29" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="true"/>
                      <line number="24" hits="0" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="38" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="24" hits="0" branch="false"/>
                      <line number="37" hits="1" branch="false"/>
                      <line number="28" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="true"/>
                  </lines>
</class>
          </classes>
      </package>
      <package name="model" line-rate="1.00" branch-rate="1.00" complexity="0">
          <classes>
              <class name="model.AccessToken" filename="model/AccessToken.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/AccessToken/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="13" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="13" hits="1" branch="false"/>
                  </lines>
              </class>
              <class name="model.Token.TokenFormat" filename="model/Token.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/TokenFormat/reads" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="32" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="33" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="31" hits="1" branch="false"/>
                              <line number="31" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="33" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="false"/>
                              <line number="31" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="31" hits="1" branch="false"/>
                              <line number="32" hits="1" branch="false"/>
                              <line number="30" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="32" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="33" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="32" hits="1" branch="false"/>
                      <line number="30" hits="1" branch="false"/>
                  </lines>
              </class>
              <class 
              name="model.UserCredentials" filename="model/UserCredentials.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/UserCredentials/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="15" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="15" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="model.ParkopediaTokenRequest" filename="model/ParkopediaTokenRequest.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="model/ParkopediaTokenRequest/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="18" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="model.AccessToken.AccessTokenFormat" filename="model/AccessToken.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/AccessTokenFormat/reads" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="19" hits="1" branch="false"/>
                              <line number="20" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="false"/>
                              <line number="20" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="17" hits="1" branch="false"/>
                              <line number="20" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="19" hits="1" branch="false"/>
                      <line number="20" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="false"/>
                      <line number="20" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="17" hits="1" branch="false"/>
                      <line number="20" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="false"/>
                  </lines>
</class>
              <class name="model.GrantType" filename="model/GrantType.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/GrantType/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="8" hits="1" branch="false"/>
                              <line number="7" hits="1" branch="false"/>
                              <line number="11" hits="1" branch="false"/>
                              <line number="9" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="8" hits="1" branch="false"/>
                      <line number="7" hits="1" branch="false"/>
                      <line number="11" hits="1" branch="false"/>
                      <line number="9" hits="1" branch="false"/>
                  </lines>
              </class>
              <class name="model.ApiVersion" filename="model/ApiVersion.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/ApiVersion/versionStrings" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="7" hits="1" branch="false"/>
                              <line number="7" hits="1" branch="false"/>
                              <line number="7" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="model/ApiVersion/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="5" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="7" hits="1" branch="false"/>
                      <line number="7" hits="1" branch="false"/>
                      <line number="5" hits="1" branch="false"/>
                      <line number="7" hits="1" branch="false"/>
                  </lines>
              </class>
              <class name="model.Token" filename="model/Token.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="model/Token/accessTokenExpired" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                              <line number="16" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="model/Token/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="24" hits="1" branch="false"/>
                              <line number="25" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="16" hits="1" branch="false"/>
                      <line number="24" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="16" hits="1" branch="false"/>
                      <line number="25" hits="1" branch="false"/>
                  </lines>
              </class>
          </classes>
      </package>
      <package name="service" line-rate="0.65" branch-rate="1.00" complexity="0">
          <classes>
              <class 
              name="service.TokenService" filename="service/TokenService.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="service/TokenService/getPasswordToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="82" hits="1" branch="false"/>
                              <line number="86" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="service/TokenService/createToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="61" hits="1" branch="false"/>
                              <line number="66" hits="1" branch="false"/>
                              <line number="66" hits="1" branch="false"/>
                              <line number="62" hits="1" branch="false"/>
                              <line number="58" hits="1" branch="false"/>
                              <line number="66" hits="1" branch="false"/>
                              <line number="66" hits="1" branch="false"/>
                              <line number="62" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="63" hits="1" branch="false"/>
                              <line number="58" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="service/TokenService/createClientCredentialsToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="34" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="41" hits="1" branch="false"/>
                              <line number="37" hits="1" branch="false"/>
                              <line number="41" hits="1" branch="false"/>
                              <line number="41" hits="1" branch="false"/>
                              <line number="34" hits="1" branch="false"/>
                              <line number="39" hits="1" branch="false"/>
                              <line number="41" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="service/TokenService/saveToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="127" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="service/TokenService/deleteToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="110" hits="1" branch="false"/>
                              <line number="114" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="service/TokenService/fetchRefreshTokensAboutToExpire" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="99" hits="1" branch="false"/>
                              <line number="105" hits="1" branch="false"/>
                              <line number="92" hits="1" branch="false"/>
                              <line number="102" hits="1" branch="false"/>
                              <line number="103" hits="1" branch="false"/>
                              <line number="93" hits="1" branch="false"/>
                              <line number="100" hits="1" branch="false"/>
                              <line number="94" hits="1" branch="false"/>
                              <line number="104" hits="1" branch="false"/>
                              <line number="102" hits="1" branch="false"/>
                              <line number="90" hits="1" branch="false"/>
                              <line number="102" hits="1" branch="false"/>
                              <line number="95" hits="1" branch="false"/>
                              <line number="104" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="service/TokenService/refreshToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="77" hits="1" branch="false"/>
                              <line number="77" hits="1" branch="false"/>
                              <line number="73" hits="1" branch="false"/>
                              <line number="70" hits="1" branch="false"/>
                              <line number="77" hits="1" branch="false"/>
                              <line number="77" hits="1" branch="false"/>
                              <line number="70" hits="1" branch="false"/>
                              <line number="74" hits="1" branch="false"/>
                              <line number="70" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="service/TokenService/saveClientCredentialsToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="51" hits="1" branch="false"/>
                              <line number="51" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                              <line number="51" hits="1" branch="false"/>
                              <line number="51" hits="1" branch="false"/>
                              <line number="53" hits="1" branch="false"/>
                          </lines>
</method>
                      <method name="service/TokenService/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="31" hits="1" branch="false"/>
                              <line number="29" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="service/TokenService/initWsRequest" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="138" hits="1" branch="false"/>
                              <line number="138" hits="1" branch="false"/>
                              <line number="139" hits="1" branch="false"/>
                              <line number="134" hits="1" branch="false"/>
                              <line number="134" hits="1" branch="false"/>
                              <line number="141" hits="1" branch="false"/>
                              <line number="137" hits="1" branch="false"/>
                              <line number="139" hits="1" branch="false"/>
                              <line number="134" hits="1" branch="false"/>
                              <line number="141" hits="1" branch="false"/>
                              <line number="137" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="service/TokenService/getCurrentActiveClientCredentialToken" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="45" hits="1" branch="false"/>
                              <line number="45" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="77" hits="1" branch="false"/>
                      <line number="99" hits="1" branch="false"/>
                      <line number="110" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="138" hits="1" branch="false"/>
                      <line number="61" hits="1" branch="false"/>
                      <line number="66" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="105" hits="1" branch="false"/>
                      <line number="138" hits="1" branch="false"/>
                      <line number="92" hits="1" branch="false"/>
                      <line number="66" hits="1" branch="false"/>
                      <line number="77" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="82" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="62" hits="1" branch="false"/>
                      <line number="139" hits="1" branch="false"/>
                      <line number="102" hits="1" branch="false"/>
                      <line number="127" hits="1" branch="false"/>
                      <line number="73" hits="1" branch="false"/>
                      <line number="103" hits="1" branch="false"/>
                      <line number="134" hits="1" branch="false"/>
                      <line number="58" hits="1" branch="false"/>
                      <line number="70" hits="1" branch="false"/>
                      <line number="41" hits="1" branch="false"/>
                      <line number="93" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="37" hits="1" branch="false"/>
                      <line number="41" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="100" hits="1" branch="false"/>
                      <line number="134" hits="1" branch="false"/>
                      <line number="141" hits="1" branch="false"/>
                      <line number="41" hits="1" branch="false"/>
                      <line number="94" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="31" hits="1" branch="false"/>
                      <line number="77" hits="1" branch="false"/>
                      <line number="66" hits="1" branch="false"/>
                      <line number="104" hits="1" branch="false"/>
                      <line number="137" hits="1" branch="false"/>
                      <line number="114" hits="1" branch="false"/>
                      <line number="139" hits="1" branch="false"/>
                      <line number="66" hits="1" branch="false"/>
                      <line number="77" hits="1" branch="false"/>
                      <line number="102" hits="1" branch="false"/>
                      <line number="34" hits="1" branch="false"/>
                      <line number="45" hits="1" branch="false"/>
                      <line number="62" hits="1" branch="false"/>
                      <line number="39" hits="1" branch="false"/>
                      <line number="70" hits="1" branch="false"/>
                      <line number="90" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="102" hits="1" branch="false"/>
                      <line number="86" hits="1" branch="false"/>
                      <line number="63" hits="1" branch="false"/>
                      <line number="74" hits="1" branch="false"/>
                      <line number="51" hits="1" branch="false"/>
                      <line number="134" hits="1" branch="false"/>
                      <line number="141" hits="1" branch="false"/>
                      <line number="29" hits="1" branch="false"/>
                      <line number="41" hits="1" branch="false"/>
                      <line number="95" hits="1" branch="false"/>
                      <line number="104" hits="1" branch="false"/>
                      <line number="70" hits="1" branch="false"/>
                      <line number="137" hits="1" branch="false"/>
                      <line number="53" hits="1" branch="false"/>
                      <line number="58" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="service.TokenRenewService" filename="service/TokenRenewService.scala" line-rate="0.00" branch-rate="0.00" complexity="0">
                  <methods>
                      <method 
                      name="service/TokenRenewService/handleRenewRefreshTokensResponse" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="63" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="55" hits="0" branch="false"/>
                              <line number="59" hits="0" branch="false"/>
                              <line number="63" hits="0" branch="false"/>
                              <line number="50" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="63" hits="0" branch="false"/>
                              <line number="59" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="54" hits="0" branch="false"/>
                              <line number="59" hits="0" branch="false"/>
                              <line number="64" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="60" hits="0" branch="false"/>
                              <line number="55" hits="0" branch="false"/>
                              <line number="64" hits="0" branch="false"/>
                              <line number="59" hits="0" branch="false"/>
                              <line number="63" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="50" hits="0" branch="false"/>
                              <line number="63" hits="0" branch="false"/>
                              <line number="46" hits="0" branch="false"/>
                              <line number="59" hits="0" branch="false"/>
                              <line number="55" hits="0" branch="false"/>
                              <line number="60" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="60" hits="0" branch="false"/>
                              <line number="64" hits="0" branch="false"/>
                              <line number="49" hits="0" branch="false"/>
                              <line number="54" hits="0" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="service/TokenRenewService/&lt;none&gt;" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="23" hits="0" branch="false"/>
                              <line number="22" hits="0" branch="false"/>
                              <line number="22" hits="0" branch="false"/>
                          </lines>
</method>
                      <method name="service/TokenRenewService/run" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="72" hits="0" branch="false"/>
                              <line number="78" hits="0" branch="false"/>
                              <line number="78" hits="0" branch="false"/>
                              <line number="81" hits="0" branch="false"/>
                              <line number="72" hits="0" branch="false"/>
                              <line number="70" hits="0" branch="false"/>
                              <line number="78" hits="0" branch="false"/>
                          </lines>
                      </method>
                      <method 
                      name="service/TokenRenewService/renewRefreshTokens" signature="()V" line-rate="0.00" branch-rate="0.00" complexity="0">
                          <lines>
                              <line number="28" hits="0" branch="false"/>
                              <line number="29" hits="0" branch="false"/>
                              <line number="26" hits="0" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="63" hits="0" branch="false"/>
                      <line number="23" hits="0" branch="false"/>
                      <line number="72" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="55" hits="0" branch="false"/>
                      <line number="28" hits="0" branch="false"/>
                      <line number="78" hits="0" branch="false"/>
                      <line number="59" hits="0" branch="false"/>
                      <line number="63" hits="0" branch="false"/>
                      <line number="50" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="63" hits="0" branch="false"/>
                      <line number="78" hits="0" branch="false"/>
                      <line number="59" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="54" hits="0" branch="false"/>
                      <line number="59" hits="0" branch="false"/>
                      <line number="64" hits="0" branch="false"/>
                      <line number="81" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="22" hits="0" branch="false"/>
                      <line number="60" hits="0" branch="false"/>
                      <line number="72" hits="0" branch="false"/>
                      <line number="55" hits="0" branch="false"/>
                      <line number="29" hits="0" branch="false"/>
                      <line number="64" hits="0" branch="false"/>
                      <line number="59" hits="0" branch="false"/>
                      <line number="63" hits="0" branch="false"/>
                      <line number="26" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="70" hits="0" branch="false"/>
                      <line number="78" hits="0" branch="false"/>
                      <line number="50" hits="0" branch="false"/>
                      <line number="63" hits="0" branch="false"/>
                      <line number="46" hits="0" branch="false"/>
                      <line number="59" hits="0" branch="false"/>
                      <line number="55" hits="0" branch="false"/>
                      <line number="60" hits="0" branch="false"/>
                      <line number="22" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="60" hits="0" branch="false"/>
                      <line number="64" hits="0" branch="false"/>
                      <line number="49" hits="0" branch="false"/>
                      <line number="54" hits="0" branch="false"/>
                  </lines>
</class>
              <class 
              name="service.MetricsService" filename="service/MetricsService.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method name="service/MetricsService/incCounter" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="18" hits="1" branch="false"/>
                              <line number="18" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="false"/>
                              <line number="19" hits="1" branch="false"/>
                          </lines>
                      </method>
                      <method name="service/MetricsService/timed" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="23" hits="1" branch="false"/>
                              <line number="24" hits="1" branch="false"/>
                              <line number="23" hits="1" branch="false"/>
                              <line number="24" hits="1" branch="false"/>
                          </lines>
                      </method>
                  </methods>
                  <lines>
                      <line number="18" hits="1" branch="false"/>
                      <line number="23" hits="1" branch="false"/>
                      <line number="24" hits="1" branch="false"/>
                      <line number="18" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="false"/>
                      <line number="19" hits="1" branch="false"/>
                      <line number="23" hits="1" branch="false"/>
                      <line number="24" hits="1" branch="false"/>
                  </lines>
</class>
              <class 
              name="service.DataBaseClientService" filename="service/DataBaseClientService.scala" line-rate="1.00" branch-rate="1.00" complexity="0">
                  <methods>
                      <method 
                      name="service/DataBaseClientService/&lt;none&gt;" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="12" hits="1" branch="false"/>
                              <line number="12" hits="1" branch="false"/>
                          </lines>
</method>
                      <method 
                      name="service/DataBaseClientService/getClient" signature="()V" line-rate="1.00" branch-rate="1.00" complexity="0">
                          <lines>
                              <line number="20" hits="1" branch="false"/>
                          </lines>
</method>
                  </methods>
                  <lines>
                      <line number="12" hits="1" branch="false"/>
                      <line number="12" hits="1" branch="false"/>
                      <line number="20" hits="1" branch="false"/>
                  </lines>
</class>
          </classes>
      </package>
  </packages>
</coverage>
@danielpalme
Copy link
Owner

Thanks for your issue and the coverage file.

The problem with your file is that it missing the condition-coverage attribute for branch elements.

Your file contains the following element:

<line number="34" hits="1" branch="true"/>

It should look like this.

<line number="34" hits="1" branch="True" condition-coverage="50% (1/2)">

Which tool are you using to generate the coverage file?

I fixed the problem in ReportGenerator anyway.
Please upgrade to version 5.0.4.

@vikashkumar-tomtom
Copy link
Author

I am using sbt clean coverage test coverageReport command to generate the coverage file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants