Skip to content

Commit 1f41048

Browse files
CalvinZengyiYi Zengtimtebeek
authored
Handle JaxbAnnotationIntrospector and JacksonJsonProvider in migration (#936)
* Handle JaxbAnnotationIntrospector and JacksonJsonProvider in migration * Use ChangePackage to convert other classes as well --------- Co-authored-by: Yi Zeng <[email protected]> Co-authored-by: Tim te Beek <[email protected]>
1 parent 5cb310d commit 1f41048

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

src/main/resources/META-INF/rewrite/jakarta-ee-9.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,9 +1052,15 @@ recipeList:
10521052
- org.openrewrite.java.ChangeType:
10531053
oldFullyQualifiedTypeName: com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider
10541054
newFullyQualifiedTypeName: com.fasterxml.jackson.jakarta.rs.json.JacksonXmlBindJsonProvider
1055+
- org.openrewrite.java.ChangePackage:
1056+
oldPackageName: com.fasterxml.jackson.jaxrs.json
1057+
newPackageName: com.fasterxml.jackson.jakarta.rs.json
10551058
- org.openrewrite.java.ChangeType:
10561059
oldFullyQualifiedTypeName: com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule
10571060
newFullyQualifiedTypeName: com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule
1061+
- org.openrewrite.java.ChangeType:
1062+
oldFullyQualifiedTypeName: com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector
1063+
newFullyQualifiedTypeName: com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector
10581064

10591065
---
10601066
type: specs.openrewrite.org/v1beta/recipe

src/test/java/org/openrewrite/java/migrate/jakarta/JacksonJavaxtoJakartaTest.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,4 +354,46 @@ public class A extends JacksonXmlBindJsonProvider {}
354354
)
355355
);
356356
}
357+
358+
@Test
359+
void rewriteJaxbAnnotationIntrospectorToJakartaXmlBindAnnotationIntrospector() {
360+
rewriteRun(
361+
spec -> spec.parser(JavaParser.fromJavaVersion().classpath("jackson-module-jaxb-annotations")),
362+
//language=java
363+
java(
364+
"""
365+
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
366+
367+
public class A extends JaxbAnnotationIntrospector {}
368+
""",
369+
"""
370+
import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector;
371+
372+
public class A extends JakartaXmlBindAnnotationIntrospector {}
373+
"""
374+
)
375+
);
376+
}
377+
378+
@Test
379+
void rewriteJacksonJsonProviderToJacksonJsonProvider() {
380+
rewriteRun(
381+
spec -> spec.parser(JavaParser.fromJavaVersion().classpath(
382+
"jackson-databind",
383+
"jackson-jaxrs-json-provider")),
384+
//language=java
385+
java(
386+
"""
387+
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
388+
389+
public class A extends JacksonJsonProvider {}
390+
""",
391+
"""
392+
import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider;
393+
394+
public class A extends JacksonJsonProvider {}
395+
"""
396+
)
397+
);
398+
}
357399
}

0 commit comments

Comments
 (0)