Refine package renaming
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 bd6051a..2556876 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
@@ -225,38 +225,121 @@
}
inputStream = StreamBuilder.create(inputStream)
- .replace("javax.jsp", "jakarta.servlet.jsp")
- .replace("serlvet", "servlet")
- .replace("javax.transaction.TransactionManager", "jakarta.transaction.TransactionManager")
- .replace("javax.transaction.Transaction", "jakarta.transaction.Transaction")
- .replace("javax.annotation.Resource", "jakarta.annotation.Resource")
- .replace("javax.activation", "jakarta.activation")
- .replace("javax.batch", "jakarta.batch")
- .replace("javax.decorator", "jakarta.decorator")
- .replace("javax.ejb", "jakarta.ejb")
- .replace("javax.el", "jakarta.el")
- .replace("javax.enterprise.concurrent", "jakarta.enterprise.concurrent")
- .replace("javax.faces", "jakarta.faces")
- .replace("javax.inject", "jakarta.inject")
- .replace("javax.interceptor", "jakarta.interceptor")
- .replace("javax.jms", "jakarta.jms")
- .replace("javax.json", "jakarta.json")
- .replace("javax.jws", "jakarta.jws")
- .replace("javax.mail", "jakarta.mail")
- .replace("javax.persistence", "jakarta.persistence")
- .replace("javax.resource", "jakarta.resource")
- .replace("javax.security.auth.message", "jakarta.security.auth.message")
- .replace("javax.security.enterprise", "jakarta.security.enterprise")
- .replace("javax.security.jacc", "jakarta.security.jacc")
- .replace("javax.servlet", "jakarta.servlet")
- .replace("javax.validation", "jakarta.validation")
- .replace("javax.websocket", "jakarta.websocket")
- .replace("javax.ws.rs", "jakarta.ws.rs")
- .replace("javax.xml.bind", "jakarta.xml.bind")
- .replace("javax.xml.soap", "jakarta.xml.soap")
- .replace("javax.xml.ws", "jakarta.xml.ws")
- .replace("javax\\.faces", "jakarta\\.faces") // in some javascript files
- .get();
+ .replace("javax.activation", "jakarta.activation")
+ .replace("javax.annotation", "jakarta.annotation")
+ .replace("javax.batch", "jakarta.batch")
+ .replace("javax.decorator", "jakarta.decorator")
+ .replace("javax.ejb", "jakarta.ejb")
+ .replace("javax.el", "jakarta.el")
+ .replace("javax.enterprise", "jakarta.enterprise")
+ .replace("javax\\.faces", "jakarta\\.faces")
+ .replace("javax.inject", "jakarta.inject")
+ .replace("javax.interceptor", "jakarta.interceptor")
+ .replace("javax.jms", "jakarta.jms")
+ .replace("javax.json", "jakarta.json")
+ .replace("javax.json.bind", "jakarta.json.bind")
+ .replace("javax.jws", "jakarta.jws")
+ .replace("javax.mail", "jakarta.mail")
+ .replace("javax.persistence", "jakarta.persistence")
+ .replace("javax.resource", "jakarta.resource")
+ .replace("javax.security.auth.message", "jakarta.security.auth.message")
+ .replace("javax.security.enterprise", "jakarta.security.enterprise")
+ .replace("javax.security.jacc", "jakarta.security.jacc")
+ .replace("javax.servlet", "jakarta.servlet")
+ .replace("javax.transaction", "jakarta.transaction")
+ .replace("javax.validation", "jakarta.validation")
+ .replace("javax.websocket", "jakarta.websocket")
+ .replace("javax.ws.rs", "jakarta.ws.rs")
+ .replace("javax.xml.bind", "jakarta.xml.bind")
+ .replace("javax.xml.soap", "jakarta.xml.soap")
+ .replace("javax.xml.ws", "jakarta.xml.ws")
+
+ // These sub packages to the above must be renamed back
+ .replace("jakarta.annotation.process", "javax.annotation.process")
+ .replace("jakarta.enterprise.deploy", "javax.enterprise.deploy")
+ .replace("jakarta.transaction.xa", "javax.transaction.xa")
+
+ // Packages that are often falsely renamed
+ // Exceptions to the exceptions
+
+ .replace("jakarta.accessibility", "javax.accessibility")
+ .replace("jakarta.annotation.processing", "javax.annotation.processing")
+ .replace("jakarta.cache", "javax.cache")
+ .replace("jakarta.crypto", "javax.crypto")
+ .replace("jakarta.imageio", "javax.imageio")
+ .replace("jakarta.jdo", "javax.jdo")
+ .replace("jakarta.jmdns", "javax.jmdns")
+ .replace("jakarta.lang", "javax.lang")
+ .replace("jakarta.lang.model", "javax.lang.model")
+ .replace("jakarta.management", "javax.management")
+ .replace("jakarta.naming", "javax.naming")
+ .replace("jakarta.net", "javax.net")
+ .replace("jakarta.portlet", "javax.portlet")
+ .replace("jakarta.print", "javax.print")
+ .replace("jakarta.rmi", "javax.rmi")
+ .replace("jakarta.script", "javax.script")
+ .replace("jakarta.security.Principal", "javax.security.Principal")
+ .replace("jakarta.security.auth.AuthPermission", "javax.security.auth.AuthPermission")
+ .replace("jakarta.security.auth.Deprecated", "javax.security.auth.Deprecated")
+ .replace("jakarta.security.auth.DestroyFailedException", "javax.security.auth.DestroyFailedException")
+ .replace("jakarta.security.auth.Destroyable", "javax.security.auth.Destroyable")
+ .replace("jakarta.security.auth.LdapPrincipal", "javax.security.auth.LdapPrincipal")
+ .replace("jakarta.security.auth.NTDomainPrincipal", "javax.security.auth.NTDomainPrincipal")
+ .replace("jakarta.security.auth.NTNumericCredential", "javax.security.auth.NTNumericCredential")
+ .replace("jakarta.security.auth.NTSid", "javax.security.auth.NTSid")
+ .replace("jakarta.security.auth.NTSidDomainPrincipal", "javax.security.auth.NTSidDomainPrincipal")
+ .replace("jakarta.security.auth.NTSidGroupPrincipal", "javax.security.auth.NTSidGroupPrincipal")
+ .replace("jakarta.security.auth.NTSidPrimaryGroupPrincipal", "javax.security.auth.NTSidPrimaryGroupPrincipal")
+ .replace("jakarta.security.auth.NTSidUserPrincipal", "javax.security.auth.NTSidUserPrincipal")
+ .replace("jakarta.security.auth.NTUserPrincipal", "javax.security.auth.NTUserPrincipal")
+ .replace("jakarta.security.auth.PolicyFile", "javax.security.auth.PolicyFile")
+ .replace("jakarta.security.auth.PrincipalComparator", "javax.security.auth.PrincipalComparator")
+ .replace("jakarta.security.auth.PrivateCredentialPermission", "javax.security.auth.PrivateCredentialPermission")
+ .replace("jakarta.security.auth.RefreshFailedException", "javax.security.auth.RefreshFailedException")
+ .replace("jakarta.security.auth.Refreshable", "javax.security.auth.Refreshable")
+ .replace("jakarta.security.auth.SolarisNumericGroupPrincipal", "javax.security.auth.SolarisNumericGroupPrincipal")
+ .replace("jakarta.security.auth.SolarisNumericUserPrincipal", "javax.security.auth.SolarisNumericUserPrincipal")
+ .replace("jakarta.security.auth.SolarisPrincipal", "javax.security.auth.SolarisPrincipal")
+ .replace("jakarta.security.auth.Subject", "javax.security.auth.Subject")
+ .replace("jakarta.security.auth.SubjectDomainCombiner", "javax.security.auth.SubjectDomainCombiner")
+ .replace("jakarta.security.auth.UnixNumericGroupPrincipal", "javax.security.auth.UnixNumericGroupPrincipal")
+ .replace("jakarta.security.auth.UnixNumericUserPrincipal", "javax.security.auth.UnixNumericUserPrincipal")
+ .replace("jakarta.security.auth.UnixPrincipal", "javax.security.auth.UnixPrincipal")
+ .replace("jakarta.security.auth.UserPrincipal", "javax.security.auth.UserPrincipal")
+ .replace("jakarta.security.auth.X500Principal", "javax.security.auth.X500Principal")
+ .replace("jakarta.security.auth.callback", "javax.security.auth.callback")
+ .replace("jakarta.security.auth.kerberos", "javax.security.auth.kerberos")
+ .replace("jakarta.security.auth.login", "javax.security.auth.login")
+ .replace("jakarta.security.auth.spi", "javax.security.auth.spi")
+ .replace("jakarta.security.auth.subject", "javax.security.auth.subject")
+ .replace("jakarta.security.auth.x500", "javax.security.auth.x500")
+ .replace("jakarta.security.cert", "javax.security.cert")
+ .replace("jakarta.security.sasl", "javax.security.sasl")
+ .replace("jakarta.smartcardio", "javax.smartcardio")
+ .replace("jakarta.sound", "javax.sound")
+ .replace("jakarta.sql", "javax.sql")
+ .replace("jakarta.swing", "javax.swing")
+ .replace("jakarta.tools", "javax.tools")
+ .replace("jakarta.transaction.xa", "javax.transaction.xa")
+ .replace("jakarta.wsdl", "javax.wsdl")
+ .replace("jakarta.xml.XML", "javax.xml.XML")
+ .replace("jakarta.xml.access", "javax.xml.access")
+ .replace("jakarta.xml.catalog", "javax.xml.catalog")
+ .replace("jakarta.xml.crypto", "javax.xml.crypto")
+ .replace("jakarta.xml.datatype", "javax.xml.datatype")
+ .replace("jakarta.xml.messaging", "javax.xml.messaging")
+ .replace("jakarta.xml.namespace", "javax.xml.namespace")
+ .replace("jakarta.xml.parser", "javax.xml.parser")
+ .replace("jakarta.xml.parsers", "javax.xml.parsers")
+ .replace("jakarta.xml.registry", "javax.xml.registry")
+ .replace("jakarta.xml.rpc", "javax.xml.rpc")
+ .replace("jakarta.xml.stream", "javax.xml.stream")
+ .replace("jakarta.xml.transform", "javax.xml.transform")
+ .replace("jakarta.xml.validation", "javax.xml.validation")
+ .replace("jakarta.xml.xpath", "javax.xml.xpath")
+ .replace("javax.enterprise.deploy-api", "jakarta.enterprise.deploy-api")
+
+ .get();
IO.copy(inputStream, outputStream);
}