This is an automated email from the ASF dual-hosted git repository. lihan pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
commit 7bc11053e56c3e046226185136a0700cbac31e2f Author: Danny Thomas <dan...@netflix.com> AuthorDate: Mon Oct 24 17:19:15 2022 +1100 Avoid JavaClass.dump when there are no changes --- src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java index decb208..e07814f 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java +++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java @@ -31,6 +31,7 @@ import org.apache.bcel.classfile.ClassParser; import org.apache.bcel.classfile.Constant; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.JavaClass; +import org.apache.commons.io.IOUtils; public class ClassConverter implements Converter, ClassFileTransformer { @@ -80,7 +81,8 @@ public class ClassConverter implements Converter, ClassFileTransformer { protected boolean convertInternal(String path, InputStream src, OutputStream dest, EESpecProfile profile, ClassLoader loader) throws IOException { - ClassParser parser = new ClassParser(src, "unknown"); + byte[] classBytes = IOUtils.toByteArray(src); + ClassParser parser = new ClassParser(new ByteArrayInputStream(classBytes), "unknown"); JavaClass javaClass = parser.parse(); boolean converted = false; @@ -145,7 +147,11 @@ public class ClassConverter implements Converter, ClassFileTransformer { } } - javaClass.dump(dest); + if (converted) { + javaClass.dump(dest); + } else { + IOUtils.writeChunked(classBytes, dest); + } return converted; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org