You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2020/06/13 23:23:55 UTC
[tomee-patch-plugin] 05/11: Replace javax.servlet,
javax.faces and javax.el references in text file contents
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 <da...@gmail.com>
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)