This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git

commit 884aa46156a8d12634737e4bf1d73c3afc8cd51c
Author: Emmanuel Bourg <ebo...@apache.org>
AuthorDate: Tue Apr 7 02:37:29 2020 +0200

    Moved common stream operation methods to the Util class
---
 .../tomcat/jakartaee/PassThroughConverter.java     |  6 +-----
 .../org/apache/tomcat/jakartaee/TextConverter.java | 22 ++++------------------
 .../java/org/apache/tomcat/jakartaee/Util.java     | 21 +++++++++++++++++++++
 3 files changed, 26 insertions(+), 23 deletions(-)

diff --git 
a/src/main/java/org/apache/tomcat/jakartaee/PassThroughConverter.java 
b/src/main/java/org/apache/tomcat/jakartaee/PassThroughConverter.java
index 9b44ca5..24c01f9 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/PassThroughConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/PassThroughConverter.java
@@ -31,10 +31,6 @@ public class PassThroughConverter implements Converter {
     @Override
     public void convert(InputStream src, OutputStream dest, EESpecProfile 
profile) throws IOException {
         // This simply copies the source to the destination
-        byte[] buf = new byte[8192];
-        int numRead;
-        while ((numRead = src.read(buf)) >= 0) {
-            dest.write(buf, 0, numRead);
-        }
+        Util.copy(src, dest);
     }
 }
diff --git a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java 
b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
index e0fdc2f..5ad1b0b 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
@@ -17,7 +17,6 @@
 package org.apache.tomcat.jakartaee;
 
 import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -60,25 +59,12 @@ public class TextConverter implements Converter {
      */
     @Override
     public void convert(InputStream src, OutputStream dest, EESpecProfile 
profile) throws IOException {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        flow(src, baos);
-
-        String srcString = new String(baos.toByteArray(), 
StandardCharsets.ISO_8859_1);
-
+        String srcString = Util.toString(src, StandardCharsets.ISO_8859_1);
         String destString = profile.convert(srcString);
 
-        ByteArrayInputStream bais = new 
ByteArrayInputStream(destString.getBytes(StandardCharsets.ISO_8859_1));
-        flow (bais, dest);
-    }
-
+        dest.write(destString.getBytes());
 
-    private static void flow(InputStream is, OutputStream os) throws 
IOException {
-        byte[] buf = new byte[8192];
-        int numRead;
-        while ( (numRead = is.read(buf) ) >= 0) {
-            if (os != null) {
-                os.write(buf, 0, numRead);
-            }
-        }
+        ByteArrayInputStream bais = new 
ByteArrayInputStream(destString.getBytes(StandardCharsets.ISO_8859_1));
+        Util.copy(bais, dest);
     }
 }
diff --git a/src/main/java/org/apache/tomcat/jakartaee/Util.java 
b/src/main/java/org/apache/tomcat/jakartaee/Util.java
index edd7203..7189d8a 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Util.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Util.java
@@ -16,6 +16,12 @@
  */
 package org.apache.tomcat.jakartaee;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Locale;
 
 public class Util {
@@ -36,6 +42,21 @@ public class Util {
         return filename.substring(lastPeriod + 1).toLowerCase(Locale.ENGLISH);
     }
 
+    public static void copy(InputStream is, OutputStream os) throws 
IOException {
+        byte[] buf = new byte[8192];
+        int numRead;
+        while ( (numRead = is.read(buf) ) >= 0) {
+            os.write(buf, 0, numRead);
+        }
+    }
+
+    public static String toString(InputStream is, Charset charset) throws 
IOException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        Util.copy(is, baos);
+
+        return new String(baos.toByteArray(), StandardCharsets.ISO_8859_1);
+    }
+
     private Util() {
         // Hide default constructor. Utility class.
     }


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

Reply via email to