@@ -3504,6 +3504,75 @@ public String getHtml() {
35043504 """ ));
35053505 }
35063506
3507+ @ Test
3508+ void migrateCommonsLangToJdkApi () {
3509+ rewriteRun (
3510+ spec -> {
3511+ var parser = JavaParser .fromJavaVersion ().logCompilationWarningsAndErrors (true );
3512+
3513+ collectRewriteTestDependencies ().forEach (parser ::addClasspathEntry );
3514+
3515+ spec .recipeFromResource (
3516+ "/META-INF/rewrite/recipes.yml" ,
3517+ "io.jenkins.tools.pluginmodernizer.MigrateCommonsLangToJdkApi" )
3518+ .parser (parser );
3519+ },
3520+ // language=java
3521+ java ("""
3522+ package org.apache.commons.lang3;
3523+ public class StringUtils {
3524+ public static String defaultString(String str) {
3525+ return str == null ? "" : str;
3526+ }
3527+ public static String defaultString(String str, String defaultStr) {
3528+ return str == null ? defaultStr : str;
3529+ }
3530+ public static boolean isEmpty(CharSequence cs) {
3531+ return cs == null || cs.length() == 0;
3532+ }
3533+ public static boolean isNotEmpty(CharSequence cs) {
3534+ return cs != null && cs.length() > 0;
3535+ }
3536+ public static String trim(String str) {
3537+ return str == null ? null : str.trim();
3538+ }
3539+ public static String strip(String str) {
3540+ return str == null ? null : str.strip();
3541+ }
3542+ public static String upperCase(String str) {
3543+ return str == null ? null : str.toUpperCase();
3544+ }
3545+ public static String lowerCase(String str) {
3546+ return str == null ? null : str.toLowerCase();
3547+ }
3548+ }
3549+ """ ),
3550+ // language=java
3551+ java ("""
3552+ import org.apache.commons.lang3.StringUtils;
3553+
3554+ class MyComponent {
3555+ public String getDefault(String input) {
3556+ return StringUtils.defaultString(input);
3557+ }
3558+ public String getDefaultWithFallback(String input) {
3559+ return StringUtils.defaultString(input, "N/A");
3560+ }
3561+ }
3562+ """ , """
3563+ import java.util.Objects;
3564+
3565+ class MyComponent {
3566+ public String getDefault(String input) {
3567+ return Objects.toString(input, "");
3568+ }
3569+ public String getDefaultWithFallback(String input) {
3570+ return Objects.toString(input, "N/A");
3571+ }
3572+ }
3573+ """ ));
3574+ }
3575+
35073576 @ Test
35083577 void migrateToJUnit5 () {
35093578 rewriteRun (
0 commit comments