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