Author: markt
Date: Thu Jan  7 09:31:50 2016
New Revision: 1723493

URL: http://svn.apache.org/viewvc?rev=1723493&view=rev
Log:
Use java.nio.file.Files where possible

Modified:
    tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
    tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java
    tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
    tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.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=1723493&r1=1723492&r2=1723493&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java 
Thu Jan  7 09:31:50 2016
@@ -17,11 +17,11 @@
 package org.apache.catalina.manager.host;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.PrintWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.StringTokenizer;
 
 import javax.servlet.ServletException;
@@ -39,7 +39,6 @@ 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;
 
@@ -383,11 +382,9 @@ public class HostManagerServlet
                         "hostManagerServlet.configBaseCreateFail", name));
                 return;
             }
-            try (InputStream is = 
getServletContext().getResourceAsStream("/manager.xml");
-                    OutputStream os = new FileOutputStream(
-                            new File(configBaseFile, "manager.xml"))) {
-                byte buffer[] = new byte[512];
-                IOTools.flow(is, os, buffer);
+            try (InputStream is = 
getServletContext().getResourceAsStream("/manager.xml")) {
+                Path dest = (new File(configBaseFile, "manager.xml")).toPath();
+                Files.copy(is, dest);
             } catch (IOException e) {
                 
writer.println(smClient.getString("hostManagerServlet.managerXml"));
                 return;

Modified: tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java?rev=1723493&r1=1723492&r2=1723493&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java Thu Jan  7 
09:31:50 2016
@@ -21,13 +21,13 @@ package org.apache.catalina.servlets;
 import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Enumeration;
@@ -1166,9 +1166,7 @@ public final class CGIServlet extends Ht
             }
 
             // create directories
-            String dirPath = destPath.toString().substring(
-                    0,destPath.toString().lastIndexOf('/'));
-            File dir = new File(dirPath);
+            File dir = f.getParentFile();
             if (!dir.mkdirs() && !dir.isDirectory()) {
                 if (debug >= 2) {
                     log("expandCGIScript: failed to create directories for '" +
@@ -1188,19 +1186,13 @@ public final class CGIServlet extends Ht
                     if (!f.createNewFile()) {
                         return;
                     }
-                    FileOutputStream fos = new FileOutputStream(f);
 
                     try {
-                        // copy data
-                        IOTools.flow(is, fos);
+                        Files.copy(is, f.toPath());
                     } finally {
-                        try {
-                            is.close();
-                        } catch (IOException e) {
-                            log("Could not close is.", e);
-                        }
-                        fos.close();
+                        is.close();
                     }
+
                     if (debug >= 2) {
                         log("expandCGIScript: expanded '" + srcPath + "' to '" 
+ destPath + "'");
                     }

Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1723493&r1=1723492&r2=1723493&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Thu Jan  7 
09:31:50 2016
@@ -22,8 +22,8 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.net.URL;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -56,7 +56,6 @@ import org.apache.catalina.Manager;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.core.StandardHost;
 import org.apache.catalina.util.ContextName;
-import org.apache.catalina.util.IOTools;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -1066,11 +1065,7 @@ public class HostConfig implements Lifec
                 }
 
                 if (copyThisXml) {
-                    try (InputStream is = new FileInputStream(xml);
-                            OutputStream os = new FileOutputStream(xmlCopy)) {
-                        IOTools.flow(is, os);
-                        // Don't catch IOE - let the outer try/catch handle it
-                    }
+                    Files.copy(xml.toPath(), xmlCopy.toPath());
                     context.setConfigFile(xmlCopy.toURI().toURL());
                 } else {
                     context.setConfigFile(xml.toURI().toURL());

Modified: tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java?rev=1723493&r1=1723492&r2=1723493&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java Thu 
Jan  7 09:31:50 2016
@@ -18,9 +18,10 @@ package org.apache.catalina.webresources
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
 import java.util.Set;
 import java.util.jar.Manifest;
 
@@ -28,7 +29,6 @@ import org.apache.catalina.LifecycleExce
 import org.apache.catalina.WebResource;
 import org.apache.catalina.WebResourceRoot;
 import org.apache.catalina.WebResourceRoot.ResourceSetType;
-import org.apache.catalina.util.IOTools;
 import org.apache.catalina.util.ResourceSet;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -228,18 +228,16 @@ public class DirResourceSet extends Abst
             return false;
         }
 
-        if (dest.exists()) {
+        if (dest.exists() && !overwrite) {
+            return false;
+        }
+
+        try {
             if (overwrite) {
-                if (!dest.delete()) {
-                    return false;
-                }
+                Files.copy(is, dest.toPath(), 
StandardCopyOption.REPLACE_EXISTING);
             } else {
-                return false;
+                Files.copy(is, dest.toPath());
             }
-        }
-
-        try (FileOutputStream fos = new FileOutputStream(dest)) {
-            IOTools.flow(is, fos);
         } catch (IOException ioe) {
             return false;
         }



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

Reply via email to