Skip to content

Commit 36a5200

Browse files
1 parent aa3f14f commit 36a5200

File tree

2 files changed

+81
-2
lines changed

2 files changed

+81
-2
lines changed

src/main/java/org/openrewrite/java/logging/slf4j/JulParameterizedArguments.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,15 @@
2828
import org.openrewrite.java.search.UsesMethod;
2929
import org.openrewrite.java.tree.*;
3030

31-
import java.util.*;
31+
import java.util.ArrayList;
32+
import java.util.HashSet;
33+
import java.util.List;
34+
import java.util.Set;
3235
import java.util.regex.Matcher;
3336
import java.util.regex.Pattern;
3437

3538
import static java.util.Collections.emptyList;
39+
import static java.util.Collections.nCopies;
3640
import static java.util.Objects.requireNonNull;
3741
import static java.util.stream.Collectors.toList;
3842

@@ -131,7 +135,7 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
131135

132136
// In case of logger.log(Level.INFO, "Hello {0}, {0}", "foo")
133137
if (!(stringFormatArgument instanceof J.NewArray) && originalIndices.size() > 1) {
134-
return updatedMi.withArguments(ListUtils.concatAll(updatedMi.getArguments(), Collections.nCopies(originalIndices.size() - 1, updatedStringFormatArgument)));
138+
return updatedMi.withArguments(ListUtils.concatAll(updatedMi.getArguments(), nCopies(originalIndices.size() - 1, updatedStringFormatArgument)));
135139
}
136140
// Delegate to ArgumentArrayToVarargs to convert the array argument to varargs
137141
doAfterVisit(new ArgumentArrayToVarargs().getVisitor());

src/main/resources/META-INF/rewrite/examples.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,29 @@ examples:
9191
language: java
9292
---
9393
type: specs.openrewrite.org/v1beta/example
94+
recipeName: org.openrewrite.java.logging.ArgumentArrayToVarargs
95+
examples:
96+
- description: ''
97+
sources:
98+
- before: |
99+
import org.slf4j.Logger;
100+
class Test {
101+
Logger logger;
102+
void method() {
103+
logger.info("Message {} {} {}", new Object[]{"old", "style", "args"});
104+
}
105+
}
106+
after: |
107+
import org.slf4j.Logger;
108+
class Test {
109+
Logger logger;
110+
void method() {
111+
logger.info("Message {} {} {}", "old", "style", "args");
112+
}
113+
}
114+
language: java
115+
---
116+
type: specs.openrewrite.org/v1beta/example
94117
recipeName: org.openrewrite.java.logging.CatchBlockLogLevel
95118
examples:
96119
- description: ''
@@ -284,6 +307,58 @@ examples:
284307
language: java
285308
---
286309
type: specs.openrewrite.org/v1beta/example
310+
recipeName: org.openrewrite.java.logging.jboss.FormattedArgumentsToVMethodRecipes
311+
examples:
312+
- description: ''
313+
sources:
314+
- before: |
315+
import org.jboss.logging.Logger;
316+
317+
class Test {
318+
void test(Logger logger, String msg, Throwable t, Object[] formatArgs, Object o) {
319+
logger.info(msg, formatArgs);
320+
logger.info(msg, new Object[]{o});
321+
logger.info((Object)msg, formatArgs, t);
322+
logger.info(o, formatArgs, t);
323+
}
324+
}
325+
after: |
326+
import org.jboss.logging.Logger;
327+
328+
class Test {
329+
void test(Logger logger, String msg, Throwable t, Object[] formatArgs, Object o) {
330+
logger.infov(msg, formatArgs);
331+
logger.infov(msg, new Object[]{o});
332+
logger.infov(msg, formatArgs, t);
333+
logger.info(o, formatArgs, t);
334+
}
335+
}
336+
language: java
337+
---
338+
type: specs.openrewrite.org/v1beta/example
339+
recipeName: org.openrewrite.java.logging.jboss.JBossLoggingBestPractices
340+
examples:
341+
- description: ''
342+
sources:
343+
- before: |
344+
import org.jboss.logging.Logger;
345+
346+
class Test {
347+
void test(Logger logger, String msg, Object o) {
348+
logger.info(msg, new Object[]{o});
349+
}
350+
}
351+
after: |
352+
import org.jboss.logging.Logger;
353+
354+
class Test {
355+
void test(Logger logger, String msg, Object o) {
356+
logger.infov(msg, o);
357+
}
358+
}
359+
language: java
360+
---
361+
type: specs.openrewrite.org/v1beta/example
287362
recipeName: org.openrewrite.java.logging.jul.LoggerLevelArgumentToMethodRecipes
288363
examples:
289364
- description: ''

0 commit comments

Comments
 (0)