On 07/01/2016 07:22, Violeta Georgieva wrote:
> Hi Mark,
> 
> 2016-01-06 22:06 GMT+02:00 <ma...@apache.org>:
>>
>> Author: markt
>> Date: Wed Jan  6 20:06:51 2016
>> New Revision: 1723410
>>
>> URL: http://svn.apache.org/viewvc?rev=1723410&view=rev
>> Log:
>> Avoid wheel re-invention. Use the available utility class for copying
> between streams.
> 
> Wouldn't it be better to use directly java.nio.file.Files (where it is
> possible) instead of our own utilities?

It would. Thanks. As you can probably tell, I'm a fan of clean-up that
reduces the size of the code base. I went looking for that (or something
like it) but couldn't find it.

It is Java 7+ so we can use it in trunk and 8.x.

Not all of the uses of IOTools work on files so I don't think we'll be
able to remove it entirely just yet. I think I saw something along these
lines being discussed for Java 9. So maybe in Tomcat 10...

Mark


> 
> Regards,
> Violeta
> 
>> Modified:
>>
> tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
>>
> tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java
>>     tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
>>
>> Modified:
> tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
>> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java?rev=1723410&r1=1723409&r2=1723410&view=diff
>>
> ==============================================================================
>> ---
> tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
> (original)
>> +++
> tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
> Wed Jan  6 20:06:51 2016
>> @@ -39,6 +39,7 @@ import org.apache.catalina.Wrapper;
>>  import org.apache.catalina.core.ContainerBase;
>>  import org.apache.catalina.core.StandardHost;
>>  import org.apache.catalina.startup.HostConfig;
>> +import org.apache.catalina.util.IOTools;
>>  import org.apache.tomcat.util.ExceptionUtils;
>>  import org.apache.tomcat.util.res.StringManager;
>>
>> @@ -386,16 +387,9 @@ public class HostManagerServlet
>>                      OutputStream os = new FileOutputStream(
>>                              new File(configBaseFile, "manager.xml"))) {
>>                  byte buffer[] = new byte[512];
>> -                int len = buffer.length;
>> -                while (true) {
>> -                    len = is.read(buffer);
>> -                    if (len == -1)
>> -                        break;
>> -                    os.write(buffer, 0, len);
>> -                }
>> +                IOTools.flow(is, os, buffer);
>>              } catch (IOException e) {
>> -                writer.println(smClient.getString(
>> -                        "hostManagerServlet.managerXml"));
>> +
>  writer.println(smClient.getString("hostManagerServlet.managerXml"));
>>                  return;
>>              }
>>          }
>>
>> Modified:
> tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java
>> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java?rev=1723410&r1=1723409&r2=1723410&view=diff
>>
> ==============================================================================
>> ---
> tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java
> (original)
>> +++
> tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java
> Wed Jan  6 20:06:51 2016
>> @@ -41,6 +41,7 @@ import org.apache.catalina.startup.Const
>>  import org.apache.catalina.startup.ContextConfig;
>>  import org.apache.catalina.startup.Tomcat;
>>  import org.apache.catalina.startup.TomcatBaseTest;
>> +import org.apache.catalina.util.IOTools;
>>  import org.apache.tomcat.util.buf.ByteChunk;
>>  import org.apache.tomcat.util.descriptor.web.WebXml;
>>
>> @@ -255,10 +256,7 @@ public class TestStandardContextResource
>>
>>              try (InputStream input = url.openStream();
>>                      OutputStream output = resp.getOutputStream()) {
>> -                byte[] buffer = new byte[4000];
>> -                for (int len; (len = input.read(buffer)) > 0;) {
>> -                    output.write(buffer, 0, len);
>> -                }
>> +                IOTools.flow(input, output);
>>              }
>>          }
>>      }
>>
>> Modified:
> tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
>> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java?rev=1723410&r1=1723409&r2=1723410&view=diff
>>
> ==============================================================================
>> --- tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
> (original)
>> +++ tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java Wed
> Jan  6 20:06:51 2016
>> @@ -61,6 +61,7 @@ import org.apache.catalina.core.AprLifec
>>  import org.apache.catalina.core.StandardServer;
>>  import org.apache.catalina.session.ManagerBase;
>>  import org.apache.catalina.session.StandardManager;
>> +import org.apache.catalina.util.IOTools;
>>  import org.apache.catalina.valves.AccessLogValve;
>>  import org.apache.catalina.webresources.StandardRoot;
>>  import org.apache.coyote.http11.Http11NioProtocol;
>> @@ -597,14 +598,9 @@ public abstract class TomcatBaseTest ext
>>                  throws ServletException, IOException {
>>              // Beware of clients that try to send the whole request body
> before
>>              // reading any of the response. They may cause this test to
> lock up.
>> -            byte[] buffer = new byte[8096];
>> -            int read = 0;
>>              try (InputStream is = req.getInputStream();
>>                      OutputStream os = resp.getOutputStream()) {
>> -                while (read > -1) {
>> -                    os.write(buffer, 0, read);
>> -                    read = is.read(buffer);
>> -                }
>> +                IOTools.flow(is, os);
>>              }
>>          }
>>      }
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to