This is an automated email from the ASF dual-hosted git repository. dblevins pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee-patch-plugin.git
commit bae2640d6a7f103bf17bfdebadb826700dbbaae0 Author: David Blevins <[email protected]> AuthorDate: Fri Jun 12 21:11:38 2020 -0700 Replace javax.servlet, javax.faces and javax.el references in text file contents --- tomee-patch-core/pom.xml | 5 +++++ .../java/org/apache/tomee/patch/core/Transformation.java | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tomee-patch-core/pom.xml b/tomee-patch-core/pom.xml index 9ab050c..5a12ccb 100644 --- a/tomee-patch-core/pom.xml +++ b/tomee-patch-core/pom.xml @@ -72,6 +72,11 @@ <version>1.3.13</version> </dependency> <dependency> + <groupId>org.tomitribe</groupId> + <artifactId>swizzle</artifactId> + <version>1.1</version> + </dependency> + <dependency> <groupId>org.tomitribe.jkta</groupId> <artifactId>jkta</artifactId> <version>0.10</version> diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java index 09faa88..be617bc 100644 --- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java +++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Transformation.java @@ -19,6 +19,7 @@ package org.apache.tomee.patch.core; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.Opcodes; +import org.tomitribe.swizzle.stream.StreamBuilder; import org.tomitribe.util.IO; import java.io.File; @@ -102,7 +103,7 @@ public class Transformation { } else if (isZip(path)) { scanJar(path, zipInputStream, zipOutputStream); } else { - IO.copy(zipInputStream, zipOutputStream); + scanResource(zipInputStream, zipOutputStream); } } finally { zipOutputStream.closeEntry(); @@ -133,6 +134,15 @@ public class Transformation { } } + private void scanResource(InputStream inputStream, final OutputStream outputStream) throws IOException { + inputStream = StreamBuilder.create(inputStream) + .replace("javax.el.ELResolver", "jakarta.el.ELResolver") + .replace("javax.servlet.", "jakarta.servlet.") + .replace("javax.faces.", "jakarta.faces.") + .get(); + IO.copy(inputStream, outputStream); + } + private static void copyAttributes(final ZipEntry oldEntry, final ZipEntry newEntry) { Copy.copy(oldEntry, newEntry) .att(ZipEntry::getTime, ZipEntry::setTime)
