Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.fileupload.portlet</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <span class="el_package">org.apache.commons.fileupload.portlet</span></div><h1>org.apache.common s.fileupload.portlet</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" on click="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 87</td><td class="ctr2">47%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">13</td><td class="ctr1">10</td><td class="ctr2">23</td><td class="ctr1">5</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PortletRequestContext.html" class="el_class">PortletRequestContext</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="67" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">56%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">0< /td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="PortletFileUpload.html" class="el_class">PortletFileUpload</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">32%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file
Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.source.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.source.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.portlet/index.source.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.fileupload.portlet</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <span class="el_package">org.apache.commons.fileupload.portlet</span></div><h1>org.apache.commons.fileupload. portlet</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggle Sort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 87</td><td class="ctr2">47%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">13</td><td class="ctr1">10</td><td class="ctr2">23</td><td class="ctr1">5</td><td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PortletRequestContext.java.html" class="el_source">PortletRequestContext.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="67" height="10" title="30" alt="30"/></td><td class="ctr2" id="c0">56%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">0</t d><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="PortletFileUpload.java.html" class="el_source">PortletFileUpload.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">32%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FileCleanerCleanup</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.html" class="el_package">org.apache.commons.fileupload.servlet</a> > <span class="el_class">FileCleanerCleanup</span></div><h1>FileCleanerCleanup</h1><table class="coverage" ce llspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr 1">6</td><td class="ctr2">6</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="FileCleanerCleanup.java.html#L36" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FileCleanerCleanup.java.html#L73" class="el_method">contextInitialized(ServletContextEvent)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</ td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="FileCleanerCleanup.java.html#L48" class="el_method">getFileCleaningTracker(ServletContext)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="FileCleanerCleanup.java.html#L61" class="el_method">setFileCleaningTracker(ServletContext, FileCleaningTracker)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/>< td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="FileCleanerCleanup.java.html#L86" class="el_method">contextDestroyed(ServletContextEvent)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="FileCleanerCleanup.java.html#L30" class="el_method">FileCleanerCleanup()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td cl ass="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.java.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.java.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/FileCleanerCleanup.java.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FileCleanerCleanup.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.source.html" class="el_package">org.apache.commons.fileupload.servlet</a> > <span class="el_source">FileCleanerCleanup.java</span></div><h1>FileCleanerCleanup.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.fileupload.servlet; + +import javax.servlet.ServletContext; +import javax.servlet.ServletContextListener; +import javax.servlet.ServletContextEvent; + +import org.apache.commons.io.FileCleaningTracker; + +/** + * A servlet context listener, which ensures that the + * {@link FileCleaningTracker}'s reaper thread is terminated, + * when the web application is destroyed. + */ +<span class="nc" id="L30">public class FileCleanerCleanup implements ServletContextListener {</span> + + /** + * Attribute name, which is used for storing an instance of + * {@link FileCleaningTracker} in the web application. + */ +<span class="nc" id="L36"> public static final String FILE_CLEANING_TRACKER_ATTRIBUTE</span> +<span class="nc" id="L37"> = FileCleanerCleanup.class.getName() + ".FileCleaningTracker";</span> + + /** + * Returns the instance of {@link FileCleaningTracker}, which is + * associated with the given {@link ServletContext}. + * + * @param pServletContext The servlet context to query + * @return The contexts tracker + */ + public static FileCleaningTracker + getFileCleaningTracker(ServletContext pServletContext) { +<span class="nc" id="L48"> return (FileCleaningTracker)</span> +<span class="nc" id="L49"> pServletContext.getAttribute(FILE_CLEANING_TRACKER_ATTRIBUTE);</span> + } + + /** + * Sets the instance of {@link FileCleaningTracker}, which is + * associated with the given {@link ServletContext}. + * + * @param pServletContext The servlet context to modify + * @param pTracker The tracker to set + */ + public static void setFileCleaningTracker(ServletContext pServletContext, + FileCleaningTracker pTracker) { +<span class="nc" id="L61"> pServletContext.setAttribute(FILE_CLEANING_TRACKER_ATTRIBUTE, pTracker);</span> +<span class="nc" id="L62"> }</span> + + /** + * Called when the web application is initialized. Does + * nothing. + * + * @param sce The servlet context, used for calling + * {@link #setFileCleaningTracker(ServletContext, FileCleaningTracker)}. + */ + @Override + public void contextInitialized(ServletContextEvent sce) { +<span class="nc" id="L73"> setFileCleaningTracker(sce.getServletContext(),</span> + new FileCleaningTracker()); +<span class="nc" id="L75"> }</span> + + /** + * Called when the web application is being destroyed. + * Calls {@link FileCleaningTracker#exitWhenFinished()}. + * + * @param sce The servlet context, used for calling + * {@link #getFileCleaningTracker(ServletContext)}. + */ + @Override + public void contextDestroyed(ServletContextEvent sce) { +<span class="nc" id="L86"> getFileCleaningTracker(sce.getServletContext()).exitWhenFinished();</span> +<span class="nc" id="L87"> }</span> + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ServletFileUpload</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.html" class="el_package">org.apache.commons.fileupload.servlet</a> > <span class="el_class">ServletFileUpload</span></div><h1>ServletFileUpload</h1><table class="coverage" cells pacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">13 of 41</td><td class="ctr2">68%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1"> 2</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">10</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="ServletFileUpload.java.html#L66" class="el_method">isMultipartContent(HttpServletRequest)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ServletFileUpload.java.html#L113" class="el_method">parseRequest(HttpServletRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="64" height="10" title="7" alt="7"/></td><td class="ctr 2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ServletFileUpload.java.html#L131" class="el_method">parseParameterMap(HttpServletRequest)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="64" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ServletFileUpload.java.html#L152" class="el_method">getItemIterator(HttpServletRequest)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="64" height= "10" title="7" alt="7"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="ServletFileUpload.java.html#L93" class="el_method">ServletFileUpload(FileItemFactory)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="ServletFileUpload.java.html#L82" class="el_method">ServletFileUpload()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.g if" width="27" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.java.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.java.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletFileUpload.java.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1,156 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ServletFileUpload.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.source.html" class="el_package">org.apache.commons.fileupload.servlet</a> > < span class="el_source">ServletFileUpload.java</span></div><h1>ServletFileUpload.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.fileupload.servlet; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.FileItemIterator; +import org.apache.commons.fileupload.FileUpload; +import org.apache.commons.fileupload.FileUploadBase; +import org.apache.commons.fileupload.FileUploadException; + +/** + * <p>High level API for processing file uploads.</p> + * + * <p>This class handles multiple files per single HTML widget, sent using + * <code>multipart/mixed</code> encoding type, as specified by + * <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a>. Use {@link + * #parseRequest(HttpServletRequest)} to acquire a list of {@link + * org.apache.commons.fileupload.FileItem}s associated with a given HTML + * widget.</p> + * + * <p>How the data for individual parts is stored is determined by the factory + * used to create them; a given part may be in memory, on disk, or somewhere + * else.</p> + */ +public class ServletFileUpload extends FileUpload { + + /** + * Constant for HTTP POST method. + */ + private static final String POST_METHOD = "POST"; + + // ---------------------------------------------------------- Class methods + + /** + * Utility method that determines whether the request contains multipart + * content. + * + * @param request The servlet request to be evaluated. Must be non-null. + * + * @return <code>true</code> if the request is multipart; + * <code>false</code> otherwise. + */ + public static final boolean isMultipartContent( + HttpServletRequest request) { +<span class="nc bnc" id="L66" title="All 2 branches missed."> if (!POST_METHOD.equalsIgnoreCase(request.getMethod())) {</span> +<span class="nc" id="L67"> return false;</span> + } +<span class="nc" id="L69"> return FileUploadBase.isMultipartContent(new ServletRequestContext(request));</span> + } + + // ----------------------------------------------------------- Constructors + + /** + * Constructs an uninitialised instance of this class. A factory must be + * configured, using <code>setFileItemFactory()</code>, before attempting + * to parse requests. + * + * @see FileUpload#FileUpload(FileItemFactory) + */ + public ServletFileUpload() { +<span class="fc" id="L82"> super();</span> +<span class="fc" id="L83"> }</span> + + /** + * Constructs an instance of this class which uses the supplied factory to + * create <code>FileItem</code> instances. + * + * @see FileUpload#FileUpload() + * @param fileItemFactory The factory to use for creating file items. + */ + public ServletFileUpload(FileItemFactory fileItemFactory) { +<span class="fc" id="L93"> super(fileItemFactory);</span> +<span class="fc" id="L94"> }</span> + + // --------------------------------------------------------- Public methods + + /** + * Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> + * compliant <code>multipart/form-data</code> stream. + * + * @param request The servlet request to be parsed. + * + * @return A list of <code>FileItem</code> instances parsed from the + * request, in the order that they were transmitted. + * + * @throws FileUploadException if there are problems reading/parsing + * the request or storing files. + */ + @Override + public List<FileItem> parseRequest(HttpServletRequest request) + throws FileUploadException { +<span class="fc" id="L113"> return parseRequest(new ServletRequestContext(request));</span> + } + + /** + * Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> + * compliant <code>multipart/form-data</code> stream. + * + * @param request The servlet request to be parsed. + * + * @return A map of <code>FileItem</code> instances parsed from the request. + * + * @throws FileUploadException if there are problems reading/parsing + * the request or storing files. + * + * @since 1.3 + */ + public Map<String, List<FileItem>> parseParameterMap(HttpServletRequest request) + throws FileUploadException { +<span class="fc" id="L131"> return parseParameterMap(new ServletRequestContext(request));</span> + } + + /** + * Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> + * compliant <code>multipart/form-data</code> stream. + * + * @param request The servlet request to be parsed. + * + * @return An iterator to instances of <code>FileItemStream</code> + * parsed from the request, in the order that they were + * transmitted. + * + * @throws FileUploadException if there are problems reading/parsing + * the request or storing files. + * @throws IOException An I/O error occurred. This may be a network + * error while communicating with the client or a problem while + * storing the uploaded content. + */ + public FileItemIterator getItemIterator(HttpServletRequest request) + throws FileUploadException, IOException { +<span class="fc" id="L152"> return super.getItemIterator(new ServletRequestContext(request));</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ServletRequestContext</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.html" class="el_package">org.apache.commons.fileupload.servlet</a> > <span class="el_class">ServletRequestContext</span></div><h1>ServletRequestContext</h1><table class="cov erage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">23 of 53</td><td class="ctr2">56%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">7</td><td class="ctr1">5</td><td class="ctr2">15</td><td class="ctr1">1</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a6"><a href="ServletRequestContext.java.html#L125" class="el_method">toString()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ServletRequestContext.java.html#L99" class="el_method">contentLength()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="7" alt="7"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">53%</td><td class ="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="ServletRequestContext.java.html#L51" class="el_method">ServletRequestContext(HttpServletRequest)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ServletRequestContext.java.html#L64" class="el_method">getCharacterEncoding()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="ServletRequestContext.java.html#L74" class="el_method">getContentType()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="ServletRequestContext.java.html#L86" class="el_method">getContentLength()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4 "/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="ServletRequestContext.java.html#L115" class="el_method">getInputStream()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.java.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.java.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/ServletRequestContext.java.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ServletRequestContext.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.source.html" class="el_package">org.apache.commons.fileupload.servlet</a> &g t; <span class="el_source">ServletRequestContext.java</span></div><h1>ServletRequestContext.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.fileupload.servlet; + +import static java.lang.String.format; + +import java.io.IOException; +import java.io.InputStream; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.fileupload.FileUploadBase; +import org.apache.commons.fileupload.UploadContext; + +/** + * <p>Provides access to the request information needed for a request made to + * an HTTP servlet.</p> + * + * @since FileUpload 1.1 + */ +public class ServletRequestContext implements UploadContext { + + // ----------------------------------------------------- Instance Variables + + /** + * The request for which the context is being provided. + */ + private final HttpServletRequest request; + + // ----------------------------------------------------------- Constructors + + /** + * Construct a context for this request. + * + * @param request The request to which this context applies. + */ +<span class="fc" id="L51"> public ServletRequestContext(HttpServletRequest request) {</span> +<span class="fc" id="L52"> this.request = request;</span> +<span class="fc" id="L53"> }</span> + + // --------------------------------------------------------- Public Methods + + /** + * Retrieve the character encoding for the request. + * + * @return The character encoding for the request. + */ + @Override + public String getCharacterEncoding() { +<span class="fc" id="L64"> return request.getCharacterEncoding();</span> + } + + /** + * Retrieve the content type of the request. + * + * @return The content type of the request. + */ + @Override + public String getContentType() { +<span class="fc" id="L74"> return request.getContentType();</span> + } + + /** + * Retrieve the content length of the request. + * + * @return The content length of the request. + * @deprecated 1.3 Use {@link #contentLength()} instead + */ + @Override + @Deprecated + public int getContentLength() { +<span class="fc" id="L86"> return request.getContentLength();</span> + } + + /** + * Retrieve the content length of the request. + * + * @return The content length of the request. + * @since 1.3 + */ + @Override + public long contentLength() { + long size; + try { +<span class="nc" id="L99"> size = Long.parseLong(request.getHeader(FileUploadBase.CONTENT_LENGTH));</span> +<span class="fc" id="L100"> } catch (NumberFormatException e) {</span> +<span class="fc" id="L101"> size = request.getContentLength();</span> +<span class="nc" id="L102"> }</span> +<span class="fc" id="L103"> return size;</span> + } + + /** + * Retrieve the input stream for the request. + * + * @return The input stream for the request. + * + * @throws IOException if a problem occurs. + */ + @Override + public InputStream getInputStream() throws IOException { +<span class="fc" id="L115"> return request.getInputStream();</span> + } + + /** + * Returns a string representation of this object. + * + * @return a string representation of this object. + */ + @Override + public String toString() { +<span class="nc" id="L125"> return format("ContentLength=%s, ContentType=%s",</span> +<span class="nc" id="L126"> Long.valueOf(this.contentLength()),</span> +<span class="nc" id="L127"> this.getContentType());</span> + } + +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.fileupload.servlet</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <span class="el_package">org.apache.commons.fileupload.servlet</span></div><h1>org.apache.common s.fileupload.servlet</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" on click="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 130</td><td class="ctr2">44%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">20</td><td class="ctr1">19</td><td class="ctr2">36</td><td class="ctr1">8</td><td class="ctr2">19</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FileCleanerCleanup.html" class="el_class">FileCleanerCleanup</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="81" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="ServletRequestContext.html" c lass="el_class">ServletRequestContext</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="67" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">56%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="ServletFileUpload.html" class="el_class">ServletFileUpload</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="13" alt="13"/><img src="../jacoco-resources/greenbar.gif" width="63" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">68%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="12 0" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.source.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.source.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.servlet/index.source.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.fileupload.servlet</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <span class="el_package">org.apache.commons.fileupload.servlet</span></div><h1>org.apache.commons.fileupload. servlet</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggle Sort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">72 of 130</td><td class="ctr2">44%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">20</td><td class="ctr1">19</td><td class="ctr2">36</td><td class="ctr1">8</td><td class="ctr2">19</td><td class="ctr1">1</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FileCleanerCleanup.java.html" class="el_source">FileCleanerCleanup.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="81" height="10" title="36" alt="36"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g2">6</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="ServletRequestContext.java.html " class="el_source">ServletRequestContext.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="23" alt="23"/><img src="../jacoco-resources/greenbar.gif" width="67" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">56%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="ServletFileUpload.java.html" class="el_source">ServletFileUpload.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="13" alt="13"/><img src="../jacoco-resources/greenbar.gif" width="63" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">68%</td><td class="bar" id="d0"><img src="../jacoco-resources/r edbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Base64Decoder</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.html" class="el_package">org.apache.commons.fileupload.util.mime</a> > <span class="el_class">Base64Decoder</span></div><h1>Base64Decoder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 416</td><td class="ctr2">100%</td><td class="bar">1 of 22</td><td class="ctr2">95%</td><td class="ctr1">1</td>< td class="ctr2">13</td><td class="ctr1">0</td><td class="ctr2">37</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Base64Decoder.java.html#L50" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="294" alt="294"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="26" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Base64Decoder.java.html#L107" class="el_method">decode(byte[], OutputStream)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="49" height="10" title="122" alt="122"/></td><td class="ctr2" id="c1">100%</td><td class=" bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="113" height="10" title="17" alt="17"/></td><td class="ctr2" id="e1">94%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.java.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.java.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/Base64Decoder.java.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Base64Decoder.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.source.html" class="el_package">org.apache.commons.fileupload.util.mime</a> > <sp an class="el_source">Base64Decoder.java</span></div><h1>Base64Decoder.java</h1><pre class="source lang-java linenums">/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.fileupload.util.mime; + +import java.io.IOException; +import java.io.OutputStream; + +/** + * @since 1.3 + */ +final class Base64Decoder { + + /** + * Decoding table value for invalid bytes. + */ + private static final int INVALID_BYTE = -1; // must be outside range 0-63 + + /** + * Decoding table value for padding bytes, so can detect PAD afer conversion. + */ + private static final int PAD_BYTE = -2; // must be outside range 0-63 + + /** + * Mask to treat byte as unsigned integer. + */ + private static final int MASK_BYTE_UNSIGNED = 0xFF; + + /** + * Number of bytes per encoded chunk - 4 6bit bytes produce 3 8bit bytes on output. + */ + private static final int INPUT_BYTES_PER_CHUNK = 4; + + /** + * Set up the encoding table. + */ +<span class="fc" id="L50"> private static final byte[] ENCODING_TABLE = {</span> + (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (byte) 'G', + (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', (byte) 'M', (byte) 'N', + (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', (byte) 'S', (byte) 'T', (byte) 'U', + (byte) 'V', (byte) 'W', (byte) 'X', (byte) 'Y', (byte) 'Z', + (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f', (byte) 'g', + (byte) 'h', (byte) 'i', (byte) 'j', (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n', + (byte) 'o', (byte) 'p', (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u', + (byte) 'v', (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z', + (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4', (byte) '5', (byte) '6', + (byte) '7', (byte) '8', (byte) '9', + (byte) '+', (byte) '/' + }; + + /** + * The padding byte. + */ + private static final byte PADDING = (byte) '='; + + /** + * Set up the decoding table; this is indexed by a byte converted to an unsigned int, + * so must be at least as large as the number of different byte values, + * positive and negative and zero. + */ +<span class="fc" id="L74"> private static final byte[] DECODING_TABLE = new byte[Byte.MAX_VALUE - Byte.MIN_VALUE + 1];</span> + + static { + // Initialise as all invalid characters +<span class="fc bfc" id="L78" title="All 2 branches covered."> for (int i = 0; i < DECODING_TABLE.length; i++) {</span> +<span class="fc" id="L79"> DECODING_TABLE[i] = INVALID_BYTE;</span> + } + // set up valid characters +<span class="fc bfc" id="L82" title="All 2 branches covered."> for (int i = 0; i < ENCODING_TABLE.length; i++) {</span> +<span class="fc" id="L83"> DECODING_TABLE[ENCODING_TABLE[i]] = (byte) i;</span> + } + // Allow pad byte to be easily detected after conversion +<span class="fc" id="L86"> DECODING_TABLE[PADDING] = PAD_BYTE;</span> +<span class="fc" id="L87"> }</span> + + /** + * Hidden constructor, this class must not be instantiated. + */ + private Base64Decoder() { + // do nothing + } + + /** + * Decode the base 64 encoded byte data writing it to the given output stream, + * whitespace characters will be ignored. + * + * @param data the buffer containing the Base64-encoded data + * @param out the output stream to hold the decoded bytes + * + * @return the number of bytes produced. + * @throws IOException thrown when the padding is incorrect or the input is truncated. + */ + public static int decode(byte[] data, OutputStream out) throws IOException { +<span class="fc" id="L107"> int outLen = 0;</span> +<span class="fc" id="L108"> byte[] cache = new byte[INPUT_BYTES_PER_CHUNK];</span> +<span class="fc" id="L109"> int cachedBytes = 0;</span> + +<span class="fc bfc" id="L111" title="All 2 branches covered."> for (byte b : data) {</span> +<span class="fc" id="L112"> final byte d = DECODING_TABLE[MASK_BYTE_UNSIGNED & b];</span> +<span class="fc bfc" id="L113" title="All 2 branches covered."> if (d == INVALID_BYTE) {</span> +<span class="fc" id="L114"> continue; // Ignore invalid bytes</span> + } +<span class="fc" id="L116"> cache[cachedBytes++] = d;</span> +<span class="fc bfc" id="L117" title="All 2 branches covered."> if (cachedBytes == INPUT_BYTES_PER_CHUNK) {</span> + // CHECKSTYLE IGNORE MagicNumber FOR NEXT 4 LINES +<span class="fc" id="L119"> final byte b1 = cache[0];</span> +<span class="fc" id="L120"> final byte b2 = cache[1];</span> +<span class="fc" id="L121"> final byte b3 = cache[2];</span> +<span class="fc" id="L122"> final byte b4 = cache[3];</span> +<span class="pc bpc" id="L123" title="1 of 4 branches missed."> if (b1 == PAD_BYTE || b2 == PAD_BYTE) {</span> +<span class="fc" id="L124"> throw new IOException("Invalid Base64 input: incorrect padding, first two bytes cannot be padding");</span> + } + // Convert 4 6-bit bytes to 3 8-bit bytes + // CHECKSTYLE IGNORE MagicNumber FOR NEXT 1 LINE +<span class="fc" id="L128"> out.write((b1 << 2) | (b2 >> 4)); // 6 bits of b1 plus 2 bits of b2</span> +<span class="fc" id="L129"> outLen++;</span> +<span class="fc bfc" id="L130" title="All 2 branches covered."> if (b3 != PAD_BYTE) {</span> + // CHECKSTYLE IGNORE MagicNumber FOR NEXT 1 LINE +<span class="fc" id="L132"> out.write((b2 << 4) | (b3 >> 2)); // 4 bits of b2 plus 4 bits of b3</span> +<span class="fc" id="L133"> outLen++;</span> +<span class="fc bfc" id="L134" title="All 2 branches covered."> if (b4 != PAD_BYTE) {</span> + // CHECKSTYLE IGNORE MagicNumber FOR NEXT 1 LINE +<span class="fc" id="L136"> out.write((b3 << 6) | b4); // 2 bits of b3 plus 6 bits of b4</span> +<span class="fc" id="L137"> outLen++;</span> + } +<span class="fc bfc" id="L139" title="All 2 branches covered."> } else if (b4 != PAD_BYTE) { // if byte 3 is pad, byte 4 must be pad too</span> +<span class="fc" id="L140"> throw new // line wrap to avoid 120 char limit</span> + IOException("Invalid Base64 input: incorrect padding, 4th byte must be padding if 3rd byte is"); + } +<span class="fc" id="L143"> cachedBytes = 0;</span> + } + } + // Check for anything left over +<span class="fc bfc" id="L147" title="All 2 branches covered."> if (cachedBytes != 0) {</span> +<span class="fc" id="L148"> throw new IOException("Invalid Base64 input: truncated");</span> + } +<span class="fc" id="L150"> return outLen;</span> + } +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/MimeUtility.html ============================================================================== --- websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/MimeUtility.html (added) +++ websites/production/commons/content/proper/commons-fileupload/jacoco/org.apache.commons.fileupload.util.mime/MimeUtility.html Mon Feb 13 10:43:35 2023 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MimeUtility</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons FileUpload</a> > <a href="index.html" class="el_package">org.apache.commons.fileupload.util.mime</a> > <span class="el_class">MimeUtility</span></div><h1>MimeUtility</h1><table class="coverage" cellspacing="0" id="c overagetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">92 of 360</td><td class="ctr2">74%</td><td class="bar">11 of 40</td><td class="ctr2">72%</td><td class="ctr1">10</td><td c lass="ctr2">24</td><td class="ctr1">15</td><td class="ctr2">85</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="MimeUtility.java.html#L205" class="el_method">decodeWord(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="62" alt="62"/><img src="../jacoco-resources/greenbar.gif" width="74" height="10" title="100" alt="100"/></td><td class="ctr2" id="c3">61%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="6" alt="6"/><img src="../jacoco-resources/greenbar.gif" width="43" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">57%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">27</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="MimeUtility.java.html#L102" class="el_method">decodeText(String)</a></td><td cl ass="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="28" alt="28"/><img src="../jacoco-resources/greenbar.gif" width="72" height="10" title="98" alt="98"/></td><td class="ctr2" id="c2">77%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="98" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">81%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">40</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="MimeUtility.java.html#L270" class="el_method">javaCharset(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="11" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">88%</td><td clas s="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">75%</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="MimeUtility.java.html#L66" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="55" alt="55"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.ja coco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html> \ No newline at end of file
