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:51 UTC
[tomee-patch-plugin] 01/11: Update specific annotation values that
reference javax
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 1ffab8d69d1638d63c059d0549cc2be40368b6a3
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri Jun 12 19:44:00 2020 -0700
Update specific annotation values that reference javax
---
.../tomee/patch/core/AnnotationTransformer.java | 16 +++++++++++++++
.../{AnnotationTransformer.java => Replace.java} | 23 +++++++++++-----------
2 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java
index 5269b93..c9ba8c4 100644
--- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java
+++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java
@@ -34,4 +34,20 @@ public class AnnotationTransformer extends AnnotationVisitor {
return new AnnotationTransformer(this.api, super.visitArray(name));
}
+ @Override
+ public void visit(final String name, final Object value) {
+ if (!(value instanceof String)) {
+ super.visit(name, value);
+ return;
+ }
+
+ final String updated = new Replace((String) value)
+ .prefix("{javax.validation.", "{jakarta.validation.")
+ .prefix("javax.persistence.", "jakarta.persistence.")
+ .prefix("javax.xml.ws.", "jakarta.xml.ws.")
+ .get();
+
+ super.visit(name, updated);
+ }
+
}
diff --git a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
similarity index 59%
copy from tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java
copy to tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
index 5269b93..352190d 100644
--- a/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/AnnotationTransformer.java
+++ b/tomee-patch-core/src/main/java/org/apache/tomee/patch/core/Replace.java
@@ -16,22 +16,21 @@
*/
package org.apache.tomee.patch.core;
-import org.objectweb.asm.AnnotationVisitor;
+public class Replace {
+ private String text;
-public class AnnotationTransformer extends AnnotationVisitor {
-
- public AnnotationTransformer(final int api, final AnnotationVisitor annotationVisitor) {
- super(api, annotationVisitor);
+ public Replace(final String text) {
+ this.text = text;
}
- @Override
- public AnnotationVisitor visitAnnotation(final String name, final String descriptor) {
- return new AnnotationTransformer(this.api, super.visitAnnotation(name, descriptor));
+ public Replace prefix(final String from, final String to) {
+ if (text.startsWith(from)) {
+ text = text.replace(from, to);
+ }
+ return this;
}
- @Override
- public AnnotationVisitor visitArray(final String name) {
- return new AnnotationTransformer(this.api, super.visitArray(name));
+ public String get() {
+ return text;
}
-
}