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 <[email protected]> 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; } - }
