Modified: websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.FileUploadBase.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.FileUploadBase.html (original) +++ websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.FileUploadBase.html Mon Sep 25 17:31:51 2017 @@ -12,18 +12,18 @@ <div class="separator"> </div> <table class="report"> <thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">75%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:75px"><span class="text">126/166</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">36/58</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">60%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:60px"><span class="text">60/100</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">31/50</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$1</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">5/5</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">94%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:94px"><span class="text">33/35</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">80%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:80px"><span class="text">8/10</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">8/8</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileSizeLimitExceededException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">77%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:77px"><span class="text">7/9</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileUploadIOException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">4/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$IOFileUploadException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">4/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$InvalidContentTypeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">33%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:33px"><span class="text">2/6</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$SizeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">83%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:83px"><span class="text">5/6</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$SizeLimitExceededException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">42%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:42px"><span class="text">3/7</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> - <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$UnknownSizeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2.591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">75%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:75px"><span class="text">126/166</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">36/58</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">60%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:60px"><span class="text">60/100</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:62px"><span class="text">31/50</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$1</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">5/5</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">94%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:94px"><span class="text">33/35</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">80%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:80px"><span class="text">8/10</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">8/8</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileSizeLimitExceededException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">77%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:77px"><span class="text">7/9</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$FileUploadIOException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">4/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$IOFileUploadException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">4/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$InvalidContentTypeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">33%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:33px"><span class="text">2/6</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$SizeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">83%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:83px"><span class="text">5/6</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$SizeLimitExceededException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">42%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:42px"><span class="text">3/7</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> + <tr><td><a href="org.apache.commons.fileupload.FileUploadBase.html">FileUploadBase$UnknownSizeException</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">0%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:0px"><span class="text">0/4</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div class="na" style="width:100px"><span class="text"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">N/A</a></span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.590909090909091;</span>2,591</td></tr> </table> <div class="separator"> </div> @@ -140,7 +140,7 @@ <td class="src"><pre class="src"> <span class="comment"> * else.</p></span></pre></td></tr> <tr> <td class="numLine"> 56</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> -<tr> <td class="numLineCover"> 57</td> <td class="nbHitsCovered"> 3286</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class</span> FileUploadBase {</pre></td></tr> +<tr> <td class="numLineCover"> 57</td> <td class="nbHitsCovered"> 3335</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">abstract</span> <span class="keyword">class</span> FileUploadBase {</pre></td></tr> <tr> <td class="numLine"> 58</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 59</td> <td class="nbHits"> </td> @@ -338,7 +338,7 @@ <td class="src"><pre class="src"> <span class="comment"> * {@link #fileSizeMax}. A value of -1 indicates no maximum.</span></pre></td></tr> <tr> <td class="numLine"> 159</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> -<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> sizeMax = -1;</pre></td></tr> +<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> sizeMax = -1;</pre></td></tr> <tr> <td class="numLine"> 161</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 162</td> <td class="nbHits"> </td> @@ -349,7 +349,7 @@ <td class="src"><pre class="src"> <span class="comment"> * to {@link #sizeMax}. A value of -1 indicates no maximum.</span></pre></td></tr> <tr> <td class="numLine"> 165</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> -<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> fileSizeMax = -1;</pre></td></tr> +<tr> <td class="numLineCover"> 166</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> fileSizeMax = -1;</pre></td></tr> <tr> <td class="numLine"> 167</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> <tr> <td class="numLine"> 168</td> <td class="nbHits"> </td> @@ -624,7 +624,7 @@ <td class="src"><pre class="src"> <span class="keyword">throws</span> FileUploadException, IOException {</pre></td></tr> <tr> <td class="numLine"> 308</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> FileItemIteratorImpl(ctx);</pre></td></tr> +<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> FileItemIteratorImpl(ctx);</pre></td></tr> <tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (FileUploadIOException e) {</pre></td></tr> <tr> <td class="numLine"> 311</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// unwrap encapsulated SizeException</span></pre></td></tr> @@ -663,45 +663,45 @@ <td class="src"><pre class="src"> <span class="keyword">public</span> List<FileItem> parseRequest(RequestContext ctx)</pre></td></tr> <tr> <td class="numLine"> 329</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">throws</span> FileUploadException {</pre></td></tr> -<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> List<FileItem> items = <span class="keyword">new</span> ArrayList<FileItem>();</pre></td></tr> -<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> successful = <span class="keyword">false</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> List<FileItem> items = <span class="keyword">new</span> ArrayList<FileItem>();</pre></td></tr> +<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> successful = <span class="keyword">false</span>;</pre></td></tr> <tr> <td class="numLine"> 332</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> FileItemIterator iter = getItemIterator(ctx);</pre></td></tr> -<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> FileItemFactory fac = getFileItemFactory();</pre></td></tr> -<tr> <td class="numLineCover"> 335</td> <td class="nbHitsUncovered"><a title="Line 335: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 335: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (fac == <span class="keyword">null</span>) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> FileItemIterator iter = getItemIterator(ctx);</pre></td></tr> +<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> FileItemFactory fac = getFileItemFactory();</pre></td></tr> +<tr> <td class="numLineCover"> 335</td> <td class="nbHitsUncovered"><a title="Line 335: Conditional coverage 50% (1/2)."> 29</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 335: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (fac == <span class="keyword">null</span>) {</a></span></pre></td></tr> <tr> <td class="numLineCover"> 336</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException(<span class="string">"No FileItemFactory has been set."</span>);</span></pre></td></tr> <tr> <td class="numLine"> 337</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"><a title="Line 338: Conditional coverage 100% (2/2)."> 2152</a></td> <td class="src"><pre class="src"> <a title="Line 338: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 2135</td> <td class="src"><pre class="src"> <span class="keyword">final</span> FileItemStream item = iter.next();</pre></td></tr> +<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"><a title="Line 338: Conditional coverage 100% (2/2)."> 2188</a></td> <td class="src"><pre class="src"> <a title="Line 338: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 2162</td> <td class="src"><pre class="src"> <span class="keyword">final</span> FileItemStream item = iter.next();</pre></td></tr> <tr> <td class="numLine"> 340</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// Don't use getName() here to prevent an InvalidFileNameException.</span></pre></td></tr> -<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 2135</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String fileName = ((FileItemIteratorImpl.FileItemStreamImpl) item).name;</pre></td></tr> -<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 4270</td> <td class="src"><pre class="src"> FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(),</pre></td></tr> -<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 2135</td> <td class="src"><pre class="src"> item.isFormField(), fileName);</pre></td></tr> -<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 2135</td> <td class="src"><pre class="src"> items.add(fileItem);</pre></td></tr> +<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 2162</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String fileName = ((FileItemIteratorImpl.FileItemStreamImpl) item).name;</pre></td></tr> +<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 4324</td> <td class="src"><pre class="src"> FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(),</pre></td></tr> +<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 2162</td> <td class="src"><pre class="src"> item.isFormField(), fileName);</pre></td></tr> +<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 2162</td> <td class="src"><pre class="src"> items.add(fileItem);</pre></td></tr> <tr> <td class="numLine"> 345</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 2135</td> <td class="src"><pre class="src"> Streams.copy(item.openStream(), fileItem.getOutputStream(), <span class="keyword">true</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 2162</td> <td class="src"><pre class="src"> Streams.copy(item.openStream(), fileItem.getOutputStream(), <span class="keyword">true</span>);</pre></td></tr> <tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (FileUploadIOException e) {</pre></td></tr> <tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> (FileUploadException) e.getCause();</pre></td></tr> <tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (IOException e) {</pre></td></tr> <tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOFileUploadException(format(<span class="string">"Processing of %s request failed. %s"</span>,</pre></td></tr> <tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> MULTIPART_FORM_DATA, e.getMessage()), e);</pre></td></tr> -<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 2132</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 2132</td> <td class="src"><pre class="src"> <span class="keyword">final</span> FileItemHeaders fih = item.getHeaders();</pre></td></tr> -<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 2132</td> <td class="src"><pre class="src"> fileItem.setHeaders(fih);</pre></td></tr> -<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 2132</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> successful = <span class="keyword">true</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> <span class="keyword">return</span> items;</pre></td></tr> +<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 2159</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 2159</td> <td class="src"><pre class="src"> <span class="keyword">final</span> FileItemHeaders fih = item.getHeaders();</pre></td></tr> +<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 2159</td> <td class="src"><pre class="src"> fileItem.setHeaders(fih);</pre></td></tr> +<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 2159</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> successful = <span class="keyword">true</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 52</td> <td class="src"><pre class="src"> <span class="keyword">return</span> items;</pre></td></tr> <tr> <td class="numLineCover"> 358</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (FileUploadIOException e) {</span></pre></td></tr> <tr> <td class="numLineCover"> 359</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> (FileUploadException) e.getCause();</span></pre></td></tr> <tr> <td class="numLineCover"> 360</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (IOException e) {</pre></td></tr> <tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> FileUploadException(e.getMessage(), e);</pre></td></tr> <tr> <td class="numLine"> 362</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 363</td> <td class="nbHitsUncovered"><a title="Line 363: Conditional coverage 50% (1/2)."> 25</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 363: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!successful) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 363</td> <td class="nbHitsUncovered"><a title="Line 363: Conditional coverage 50% (1/2)."> 34</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 363: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!successful) {</a></span></pre></td></tr> <tr> <td class="numLineCover"> 364</td> <td class="nbHitsUncovered"><a title="Line 364: Conditional coverage 50% (1/2)."> 8</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 364: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (FileItem fileItem : items) {</a></span></pre></td></tr> <tr> <td class="numLine"> 365</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> @@ -749,27 +749,27 @@ <td class="src"><pre class="src"> <span class="keyword">public</span> Map<String, List<FileItem>> parseParameterMap(RequestContext ctx)</pre></td></tr> <tr> <td class="numLine"> 389</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">throws</span> FileUploadException {</pre></td></tr> -<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<FileItem> items = parseRequest(ctx);</pre></td></tr> -<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<String, List<FileItem>> itemsMap = <span class="keyword">new</span> HashMap<String, List<FileItem>>(items.size());</pre></td></tr> +<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> List<FileItem> items = parseRequest(ctx);</pre></td></tr> +<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<String, List<FileItem>> itemsMap = <span class="keyword">new</span> HashMap<String, List<FileItem>>(items.size());</pre></td></tr> <tr> <td class="numLine"> 392</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"><a title="Line 393: Conditional coverage 100% (2/2)."> 1</a></td> <td class="src"><pre class="src"> <a title="Line 393: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (FileItem fileItem : items) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 394</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> String fieldName = fileItem.getFieldName();</pre></td></tr> -<tr> <td class="numLineCover"> 395</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> List<FileItem> mappedItems = itemsMap.get(fieldName);</pre></td></tr> +<tr> <td class="numLineCover"> 393</td> <td class="nbHitsCovered"><a title="Line 393: Conditional coverage 100% (2/2)."> 2</a></td> <td class="src"><pre class="src"> <a title="Line 393: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (FileItem fileItem : items) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 394</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> String fieldName = fileItem.getFieldName();</pre></td></tr> +<tr> <td class="numLineCover"> 395</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> List<FileItem> mappedItems = itemsMap.get(fieldName);</pre></td></tr> <tr> <td class="numLine"> 396</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"><a title="Line 397: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 397: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mappedItems == <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 398</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> mappedItems = <span class="keyword">new</span> ArrayList<FileItem>();</pre></td></tr> -<tr> <td class="numLineCover"> 399</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> itemsMap.put(fieldName, mappedItems);</pre></td></tr> +<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"><a title="Line 397: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 397: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (mappedItems == <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 398</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> mappedItems = <span class="keyword">new</span> ArrayList<FileItem>();</pre></td></tr> +<tr> <td class="numLineCover"> 399</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> itemsMap.put(fieldName, mappedItems);</pre></td></tr> <tr> <td class="numLine"> 400</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 401</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 402</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> mappedItems.add(fileItem);</pre></td></tr> -<tr> <td class="numLineCover"> 403</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 402</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> mappedItems.add(fileItem);</pre></td></tr> +<tr> <td class="numLineCover"> 403</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 404</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 405</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> itemsMap;</pre></td></tr> +<tr> <td class="numLineCover"> 405</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> itemsMap;</pre></td></tr> <tr> <td class="numLine"> 406</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 407</td> <td class="nbHits"> </td> @@ -796,15 +796,15 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 418</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">byte</span>[] getBoundary(String contentType) {</pre></td></tr> -<tr> <td class="numLineCover"> 419</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> -<tr> <td class="numLineCover"> 420</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 419</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> +<tr> <td class="numLineCover"> 420</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> <tr> <td class="numLine"> 421</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// Parameter parser can handle null input</span></pre></td></tr> -<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(contentType, <span class="keyword">new</span> <span class="keyword">char</span>[] {<span class="string">';'</span>, <span class="string">','</span>});</pre></td></tr> -<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> String boundaryStr = params.get(<span class="string">"boundary"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(contentType, <span class="keyword">new</span> <span class="keyword">char</span>[] {<span class="string">';'</span>, <span class="string">','</span>});</pre></td></tr> +<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> String boundaryStr = params.get(<span class="string">"boundary"</span>);</pre></td></tr> <tr> <td class="numLine"> 424</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> </pre></td></tr> -<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"><a title="Line 425: Conditional coverage 100% (2/2)."> 29</a></td> <td class="src"><pre class="src"> <a title="Line 425: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (boundaryStr == <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"><a title="Line 425: Conditional coverage 100% (2/2)."> 40</a></td> <td class="src"><pre class="src"> <a title="Line 425: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (boundaryStr == <span class="keyword">null</span>) {</a></pre></td></tr> <tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr> <tr> <td class="numLine"> 427</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> @@ -812,11 +812,11 @@ <td class="src"><pre class="src"> <span class="keyword">byte</span>[] boundary;</pre></td></tr> <tr> <td class="numLine"> 429</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr> -<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> boundary = boundaryStr.getBytes(<span class="string">"ISO-8859-1"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 39</td> <td class="src"><pre class="src"> boundary = boundaryStr.getBytes(<span class="string">"ISO-8859-1"</span>);</pre></td></tr> <tr> <td class="numLineCover"> 431</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException e) {</span></pre></td></tr> <tr> <td class="numLineCover"> 432</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> boundary = boundaryStr.getBytes(); <span class="comment">// Intentionally falls back to default charset</span></span></pre></td></tr> -<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">return</span> boundary;</pre></td></tr> +<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 39</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 39</td> <td class="src"><pre class="src"> <span class="keyword">return</span> boundary;</pre></td></tr> <tr> <td class="numLine"> 435</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 436</td> <td class="nbHits"> </td> @@ -866,7 +866,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 459</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">protected</span> String getFileName(FileItemHeaders headers) {</pre></td></tr> -<tr> <td class="numLineCover"> 460</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getFileName(headers.getHeader(CONTENT_DISPOSITION));</pre></td></tr> +<tr> <td class="numLineCover"> 460</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getFileName(headers.getHeader(CONTENT_DISPOSITION));</pre></td></tr> <tr> <td class="numLine"> 461</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 462</td> <td class="nbHits"> </td> @@ -883,19 +883,19 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 468</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">private</span> String getFileName(String pContentDisposition) {</pre></td></tr> -<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> String fileName = <span class="keyword">null</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 470</td> <td class="nbHitsUncovered"><a title="Line 470: Conditional coverage 50% (1/2)."> 3163</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 470: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pContentDisposition != <span class="keyword">null</span>) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 471</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> String cdl = pContentDisposition.toLowerCase(Locale.ENGLISH);</pre></td></tr> -<tr> <td class="numLineCover"> 472</td> <td class="nbHitsUncovered"><a title="Line 472: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 3163</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 472: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cdl.startsWith(FORM_DATA) || cdl.startsWith(ATTACHMENT)) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 473</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> -<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> String fileName = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 470</td> <td class="nbHitsUncovered"><a title="Line 470: Conditional coverage 50% (1/2)."> 3190</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 470: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pContentDisposition != <span class="keyword">null</span>) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 471</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> String cdl = pContentDisposition.toLowerCase(Locale.ENGLISH);</pre></td></tr> +<tr> <td class="numLineCover"> 472</td> <td class="nbHitsUncovered"><a title="Line 472: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 3190</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 472: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cdl.startsWith(FORM_DATA) || cdl.startsWith(ATTACHMENT)) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 473</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> +<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> <tr> <td class="numLine"> 475</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// Parameter parser can handle null input</span></pre></td></tr> -<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(pContentDisposition, <span class="string">';'</span>);</pre></td></tr> -<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"><a title="Line 477: Conditional coverage 100% (2/2)."> 3163</a></td> <td class="src"><pre class="src"> <a title="Line 477: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (params.containsKey(<span class="string">"filename"</span>)) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 478</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> fileName = params.get(<span class="string">"filename"</span>);</pre></td></tr> -<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"><a title="Line 479: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 479: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fileName != <span class="keyword">null</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> fileName = fileName.trim();</pre></td></tr> +<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(pContentDisposition, <span class="string">';'</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"><a title="Line 477: Conditional coverage 100% (2/2)."> 3190</a></td> <td class="src"><pre class="src"> <a title="Line 477: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (params.containsKey(<span class="string">"filename"</span>)) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 478</td> <td class="nbHitsCovered"> 29</td> <td class="src"><pre class="src"> fileName = params.get(<span class="string">"filename"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 479</td> <td class="nbHitsCovered"><a title="Line 479: Conditional coverage 100% (2/2)."> 29</a></td> <td class="src"><pre class="src"> <a title="Line 479: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fileName != <span class="keyword">null</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 27</td> <td class="src"><pre class="src"> fileName = fileName.trim();</pre></td></tr> <tr> <td class="numLine"> 481</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr> <tr> <td class="numLine"> 482</td> <td class="nbHits"> </td> @@ -904,7 +904,7 @@ <td class="src"><pre class="src"> <span class="comment">// so we return an empty file name rather than no file</span></pre></td></tr> <tr> <td class="numLine"> 484</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// name.</span></pre></td></tr> -<tr> <td class="numLineCover"> 485</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> fileName = <span class="string">""</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 485</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> fileName = <span class="string">""</span>;</pre></td></tr> <tr> <td class="numLine"> 486</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 487</td> <td class="nbHits"> </td> @@ -913,7 +913,7 @@ <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 489</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 490</td> <td class="nbHitsCovered"> 3163</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fileName;</pre></td></tr> +<tr> <td class="numLineCover"> 490</td> <td class="nbHitsCovered"> 3190</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fileName;</pre></td></tr> <tr> <td class="numLine"> 491</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 492</td> <td class="nbHits"> </td> @@ -936,7 +936,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 501</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">protected</span> String getFieldName(FileItemHeaders headers) {</pre></td></tr> -<tr> <td class="numLineCover"> 502</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getFieldName(headers.getHeader(CONTENT_DISPOSITION));</pre></td></tr> +<tr> <td class="numLineCover"> 502</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getFieldName(headers.getHeader(CONTENT_DISPOSITION));</pre></td></tr> <tr> <td class="numLine"> 503</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 504</td> <td class="nbHits"> </td> @@ -955,22 +955,22 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 511</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">private</span> String getFieldName(String pContentDisposition) {</pre></td></tr> -<tr> <td class="numLineCover"> 512</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> String fieldName = <span class="keyword">null</span>;</pre></td></tr> -<tr> <td class="numLineCover"> 513</td> <td class="nbHitsUncovered"><a title="Line 513: Conditional coverage 50% (1/2)."> 3162</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 513: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pContentDisposition != <span class="keyword">null</span></a></span></pre></td></tr> -<tr> <td class="numLineCover"> 514</td> <td class="nbHitsUncovered"><a title="Line 514: Conditional coverage 50% (1/2)."> 3162</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 514: Conditional coverage 50% (1/2)."> && pContentDisposition.toLowerCase(Locale.ENGLISH).startsWith(FORM_DATA)) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> -<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 512</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> String fieldName = <span class="keyword">null</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 513</td> <td class="nbHitsUncovered"><a title="Line 513: Conditional coverage 50% (1/2)."> 3188</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 513: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pContentDisposition != <span class="keyword">null</span></a></span></pre></td></tr> +<tr> <td class="numLineCover"> 514</td> <td class="nbHitsUncovered"><a title="Line 514: Conditional coverage 50% (1/2)."> 3188</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 514: Conditional coverage 50% (1/2)."> && pContentDisposition.toLowerCase(Locale.ENGLISH).startsWith(FORM_DATA)) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 515</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr> +<tr> <td class="numLineCover"> 516</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr> <tr> <td class="numLine"> 517</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// Parameter parser can handle null input</span></pre></td></tr> -<tr> <td class="numLineCover"> 518</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(pContentDisposition, <span class="string">';'</span>);</pre></td></tr> -<tr> <td class="numLineCover"> 519</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> fieldName = params.get(<span class="string">"name"</span>);</pre></td></tr> -<tr> <td class="numLineCover"> 520</td> <td class="nbHitsUncovered"><a title="Line 520: Conditional coverage 50% (1/2)."> 3162</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 520: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (fieldName != <span class="keyword">null</span>) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> fieldName = fieldName.trim();</pre></td></tr> +<tr> <td class="numLineCover"> 518</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(pContentDisposition, <span class="string">';'</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 519</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> fieldName = params.get(<span class="string">"name"</span>);</pre></td></tr> +<tr> <td class="numLineCover"> 520</td> <td class="nbHitsUncovered"><a title="Line 520: Conditional coverage 50% (1/2)."> 3188</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 520: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (fieldName != <span class="keyword">null</span>) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> fieldName = fieldName.trim();</pre></td></tr> <tr> <td class="numLine"> 522</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 523</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 524</td> <td class="nbHitsCovered"> 3162</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fieldName;</pre></td></tr> +<tr> <td class="numLineCover"> 524</td> <td class="nbHitsCovered"> 3188</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fieldName;</pre></td></tr> <tr> <td class="numLine"> 525</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 526</td> <td class="nbHits"> </td> @@ -1073,41 +1073,41 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 577</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">protected</span> FileItemHeaders getParsedHeaders(String headerPart) {</pre></td></tr> -<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> len = headerPart.length();</pre></td></tr> -<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> FileItemHeadersImpl headers = newFileItemHeaders();</pre></td></tr> -<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> <span class="keyword">int</span> start = 0;</pre></td></tr> +<tr> <td class="numLineCover"> 578</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> len = headerPart.length();</pre></td></tr> +<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> FileItemHeadersImpl headers = newFileItemHeaders();</pre></td></tr> +<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> <span class="keyword">int</span> start = 0;</pre></td></tr> <tr> <td class="numLine"> 581</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">for</span> (;;) {</pre></td></tr> -<tr> <td class="numLineCover"> 582</td> <td class="nbHitsCovered"> 6361</td> <td class="src"><pre class="src"> <span class="keyword">int</span> end = parseEndOfLine(headerPart, start);</pre></td></tr> -<tr> <td class="numLineCover"> 583</td> <td class="nbHitsCovered"><a title="Line 583: Conditional coverage 100% (2/2)."> 6361</a></td> <td class="src"><pre class="src"> <a title="Line 583: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (start == end) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 584</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 582</td> <td class="nbHitsCovered"> 6434</td> <td class="src"><pre class="src"> <span class="keyword">int</span> end = parseEndOfLine(headerPart, start);</pre></td></tr> +<tr> <td class="numLineCover"> 583</td> <td class="nbHitsCovered"><a title="Line 583: Conditional coverage 100% (2/2)."> 6434</a></td> <td class="src"><pre class="src"> <a title="Line 583: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (start == end) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 584</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 585</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 3196</td> <td class="src"><pre class="src"> StringBuilder header = <span class="keyword">new</span> StringBuilder(headerPart.substring(start, end));</pre></td></tr> -<tr> <td class="numLineCover"> 587</td> <td class="nbHitsCovered"> 3196</td> <td class="src"><pre class="src"> start = end + 2;</pre></td></tr> -<tr> <td class="numLineCover"> 588</td> <td class="nbHitsUncovered"><a title="Line 588: Conditional coverage 50% (1/2)."> 3200</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 588: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (start < len) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 589</td> <td class="nbHitsCovered"> 3200</td> <td class="src"><pre class="src"> <span class="keyword">int</span> nonWs = start;</pre></td></tr> -<tr> <td class="numLineCover"> 590</td> <td class="nbHitsUncovered"><a title="Line 590: Conditional coverage 50% (1/2)."> 3212</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 590: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (nonWs < len) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 3212</td> <td class="src"><pre class="src"> <span class="keyword">char</span> c = headerPart.charAt(nonWs);</pre></td></tr> -<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"><a title="Line 592: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 3212</a></td> <td class="src"><pre class="src"> <a title="Line 592: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (c != <span class="string">' '</span> && c != <span class="string">'\t'</span>) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 593</td> <td class="nbHitsCovered"> 3200</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 586</td> <td class="nbHitsCovered"> 3240</td> <td class="src"><pre class="src"> StringBuilder header = <span class="keyword">new</span> StringBuilder(headerPart.substring(start, end));</pre></td></tr> +<tr> <td class="numLineCover"> 587</td> <td class="nbHitsCovered"> 3240</td> <td class="src"><pre class="src"> start = end + 2;</pre></td></tr> +<tr> <td class="numLineCover"> 588</td> <td class="nbHitsUncovered"><a title="Line 588: Conditional coverage 50% (1/2)."> 3248</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 588: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (start < len) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 589</td> <td class="nbHitsCovered"> 3248</td> <td class="src"><pre class="src"> <span class="keyword">int</span> nonWs = start;</pre></td></tr> +<tr> <td class="numLineCover"> 590</td> <td class="nbHitsUncovered"><a title="Line 590: Conditional coverage 50% (1/2)."> 3272</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 590: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (nonWs < len) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 591</td> <td class="nbHitsCovered"> 3272</td> <td class="src"><pre class="src"> <span class="keyword">char</span> c = headerPart.charAt(nonWs);</pre></td></tr> +<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"><a title="Line 592: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 3272</a></td> <td class="src"><pre class="src"> <a title="Line 592: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (c != <span class="string">' '</span> && c != <span class="string">'\t'</span>) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 593</td> <td class="nbHitsCovered"> 3248</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 594</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> ++nonWs;</pre></td></tr> -<tr> <td class="numLineCover"> 596</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 597</td> <td class="nbHitsCovered"><a title="Line 597: Conditional coverage 100% (2/2)."> 3200</a></td> <td class="src"><pre class="src"> <a title="Line 597: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (nonWs == start) {</a></pre></td></tr> -<tr> <td class="numLineCover"> 598</td> <td class="nbHitsCovered"> 3196</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> +<tr> <td class="numLineCover"> 595</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> ++nonWs;</pre></td></tr> +<tr> <td class="numLineCover"> 596</td> <td class="nbHitsCovered"> 24</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 597</td> <td class="nbHitsCovered"><a title="Line 597: Conditional coverage 100% (2/2)."> 3248</a></td> <td class="src"><pre class="src"> <a title="Line 597: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (nonWs == start) {</a></pre></td></tr> +<tr> <td class="numLineCover"> 598</td> <td class="nbHitsCovered"> 3240</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr> <tr> <td class="numLine"> 599</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 600</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="comment">// Continuation line found</span></pre></td></tr> -<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> end = parseEndOfLine(headerPart, nonWs);</pre></td></tr> -<tr> <td class="numLineCover"> 602</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> header.append(<span class="string">" "</span>).append(headerPart.substring(nonWs, end));</pre></td></tr> -<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> start = end + 2;</pre></td></tr> -<tr> <td class="numLineCover"> 604</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 3196</td> <td class="src"><pre class="src"> parseHeaderLine(headers, header.toString());</pre></td></tr> -<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 3196</td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 607</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> <span class="keyword">return</span> headers;</pre></td></tr> +<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> end = parseEndOfLine(headerPart, nonWs);</pre></td></tr> +<tr> <td class="numLineCover"> 602</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> header.append(<span class="string">" "</span>).append(headerPart.substring(nonWs, end));</pre></td></tr> +<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> start = end + 2;</pre></td></tr> +<tr> <td class="numLineCover"> 604</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 3240</td> <td class="src"><pre class="src"> parseHeaderLine(headers, header.toString());</pre></td></tr> +<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 3240</td> <td class="src"><pre class="src"> }</pre></td></tr> +<tr> <td class="numLineCover"> 607</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> <span class="keyword">return</span> headers;</pre></td></tr> <tr> <td class="numLine"> 608</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 609</td> <td class="nbHits"> </td> @@ -1122,7 +1122,7 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 614</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">protected</span> FileItemHeadersImpl newFileItemHeaders() {</pre></td></tr> -<tr> <td class="numLineCover"> 615</td> <td class="nbHitsCovered"> 3165</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> FileItemHeadersImpl();</pre></td></tr> +<tr> <td class="numLineCover"> 615</td> <td class="nbHitsCovered"> 3194</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> FileItemHeadersImpl();</pre></td></tr> <tr> <td class="numLine"> 616</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> <tr> <td class="numLine"> 617</td> <td class="nbHits"> </td> @@ -1192,18 +1192,18 @@ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr> <tr> <td class="numLine"> 655</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> parseEndOfLine(String headerPart, <span class="keyword">int</span> end) {</pre></td></tr> -<tr> <td class="numLineCover"> 656</td> <td class="nbHitsCovered"> 6365</td> <td class="src"><pre class="src"> <span class="keyword">int</span> index = end;</pre></td></tr> +<tr> <td class="numLineCover"> 656</td> <td class="nbHitsCovered"> 6442</td> <td class="src"><pre class="src"> <span class="keyword">int</span> index = end;</pre></td></tr> <tr> <td class="numLine"> 657</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="keyword">for</span> (;;) {</pre></td></tr> -<tr> <td class="numLineCover"> 658</td> <td class="nbHitsCovered"> 6365</td> <td class="src"><pre class="src"> <span class="keyword">int</span> offset = headerPart.indexOf(<span class="string">'\r'</span>, index);</pre></td></tr> -<tr> <td class="numLineCover"> 659</td> <td class="nbHitsUncovered"><a title="Line 659: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 6365</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 659: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (offset == -1 || offset + 1 >= headerPart.length()) {</a></span></pre></td></tr> +<tr> <td class="numLineCover"> 658</td> <td class="nbHitsCovered"> 6442</td> <td class="src"><pre class="src"> <span class="keyword">int</span> offset = headerPart.indexOf(<span class="string">'\r'</span>, index);</pre></td></tr> +<tr> <td class="numLineCover"> 659</td> <td class="nbHitsUncovered"><a title="Line 659: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 6442</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 659: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (offset == -1 || offset + 1 >= headerPart.length()) {</a></span></pre></td></tr> <tr> <td class="numLineCover"> 660</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(</span></pre></td></tr> <tr> <td class="numLine"> 661</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> <span class="string">"Expected headers to be terminated by an empty line."</span>);</pre></td></tr> <tr> <td class="numLine"> 662</td> <td class="nbHits"> </td> <td class="src"><pre class="src"> }</pre></td></tr> -<tr> <td class="numLineCover"> 663</td> <td class="nbHitsUncovered"><a title="Line 663: Conditional coverage 50% (1/2)."> 6365</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 663: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (headerPart.charAt(offset + 1) == <span class="string">'\n'</span>) {</a></span></pre></td></tr> -<tr> <td class="numLineCover"> 664</td> <td class="nbHitsCovered"> 6365</td> <td class="src"><pre class="src"> <span class="keyword">return</span> offset;</pre></td></tr> +<tr> <td class="numLineCover"> 663</td> <td class="nbHitsUncovered"><a title="Line 663: Conditional coverage 50% (1/2)."> 6442</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 663: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (headerPart.charAt(offset + 1) == <span class="string">'\n'</span>) {</a></span></pre></td></tr>
[... 356 lines stripped ...]