You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by eb...@apache.org on 2020/04/07 00:56:21 UTC
[tomcat-jakartaee-migration] 09/10: Moved common stream operation
methods to the Util class
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 <eb...@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org