Skip to content

Conversation

Pankraz76
Copy link
Contributor

@Pankraz76 Pankraz76 commented Aug 24, 2025

What's changed?

What's your motivation?

Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Have you considered any alternatives or workarounds?

Any additional context

Checklist

  • I've added unit tests to cover both positive and negative cases
  • I've read and applied the recipe conventions and best practices
  • I've used the IntelliJ IDEA auto-formatter on affected files

@github-project-automation github-project-automation bot moved this to In Progress in OpenRewrite Aug 24, 2025
@Pankraz76
Copy link
Contributor Author

wip:

SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
SLF4J(W): Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier.
SLF4J(W): Ignoring binding found at [jar:file:/Users/vincent.potucek/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.13/e9f3458e7354fe4917081237c01fa4999f4e1b86/logback-classic-1.2.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J(W): Ignoring binding found at [jar:file:/Users/vincent.potucek/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-nop/1.7.36/a3c1eb685d59414527faa93623acae311c184032/slf4j-nop-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J(W): See https://www.slf4j.org/codes.html#ignoredBindings for an explanation.

Failed to run recipe at Cursor{MethodInvocation->JRightPadded(element=id.toString().isBlank(), after=Space(comments=<0 comments>, whitespace=<empty>))->ControlParentheses->If->JRightPadded(element=J.If(padding=org.openrewrite.java.tree.J$If$Padding@7e741b8a, id=bef77123-8d5e-4534-a415-e6eafa250bc0, prefix=Space(comments=<0 comments>, whitespace='\n·₁·₂·₃·₄·₅·₆·₇·₈'), markers=Markers(id=4c4d3d88-16e3-40b0-b2d8-58b86826a335, markers=[]), ifCondition=(id.toString().isBlank()), thenPart=J.Block(padding=org.openrewrite.java.tree.J$Block$Padding@7e263387, id=a6a34de9-f0aa-4912-bf0a-7f691bcb28b5, prefix=Space(comments=<0 comments>, whitespace='·₁'), markers=Markers(id=4c4d3d88-16e3-40b0-b2d8-58b86826a335, markers=[]), statik=JRightPadded(element=false, after=Space(comments=<0 comments>, whitespace=<empty>)), statements=[System.out.println("This will never happen")], end=Space(comments=<0 comments>, whitespace='\n·₁·₂·₃·₄·₅·₆·₇·₈')), elsePart=null), after=Space(comments=<0 comments>, whitespace=<empty>))->Block->MethodDeclaration->JRightPadded(element=MethodDeclaration{Test{name=test,return=void,parameters=[]}}, after=Space(comments=<0 comments>, whitespace=<empty>))->Block->ClassDeclaration->CompilationUnit->root}
java.lang.AssertionError: Failed to run recipe at Cursor{MethodInvocation->JRightPadded(element=id.toString().isBlank(), after=Space(comments=<0 comments>, whitespace=<empty>))->ControlParentheses->If->JRightPadded(element=J.If(padding=org.openrewrite.java.tree.J$If$Padding@7e741b8a, id=bef77123-8d5e-4534-a415-e6eafa250bc0, prefix=Space(comments=<0 comments>, whitespace='\n·₁·₂·₃·₄·₅·₆·₇·₈'), markers=Markers(id=4c4d3d88-16e3-40b0-b2d8-58b86826a335, markers=[]), ifCondition=(id.toString().isBlank()), thenPart=J.Block(padding=org.openrewrite.java.tree.J$Block$Padding@7e263387, id=a6a34de9-f0aa-4912-bf0a-7f691bcb28b5, prefix=Space(comments=<0 comments>, whitespace='·₁'), markers=Markers(id=4c4d3d88-16e3-40b0-b2d8-58b86826a335, markers=[]), statik=JRightPadded(element=false, after=Space(comments=<0 comments>, whitespace=<empty>)), statements=[System.out.println("This will never happen")], end=Space(comments=<0 comments>, whitespace='\n·₁·₂·₃·₄·₅·₆·₇·₈')), elsePart=null), after=Space(comments=<0 comments>, whitespace=<empty>))->Block->MethodDeclaration->JRightPadded(element=MethodDeclaration{Test{name=test,return=void,parameters=[]}}, after=Space(comments=<0 comments>, whitespace=<empty>))->Block->ClassDeclaration->CompilationUnit->root}
	at org.openrewrite.test.RewriteTest.lambda$defaultExecutionContext$14(RewriteTest.java:645)
	at org.openrewrite.test.RewriteTest$$Lambda/0x000000b0011b3018.accept(Unknown Source)
	at org.openrewrite.scheduling.RecipeRunCycle.handleError(RecipeRunCycle.java:291)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$8(RecipeRunCycle.java:230)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b728.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeStack.reduce(RecipeStack.java:60)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$9(RecipeRunCycle.java:179)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b268.apply(Unknown Source)
	at org.openrewrite.internal.InMemoryLargeSourceSet.lambda$edit$0(InMemoryLargeSourceSet.java:86)
	at org.openrewrite.internal.InMemoryLargeSourceSet$$Lambda/0x000000b00142b4c8.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.internal.InMemoryLargeSourceSet.edit(InMemoryLargeSourceSet.java:85)
	at org.openrewrite.RecipeScheduler$$Lambda/0x000000b00142ae18.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeRunCycle.editSources(RecipeRunCycle.java:177)
	at org.openrewrite.RecipeScheduler.runRecipeCycles(RecipeScheduler.java:84)
	at org.openrewrite.RecipeScheduler.scheduleRun(RecipeScheduler.java:41)
	at org.openrewrite.Recipe.run(Recipe.java:442)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:383)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:132)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:127)
	at org.openrewrite.staticanalysis.NoEmptyUUIDTest.uuidIsBlankInIfCondition(NoEmptyUUIDTest.java:37)
	at java.base/java.lang.invoke.LambdaForm$DMH/0x000000b001180000.invokeVirtual(LambdaForm$DMH)
	at java.base/java.lang.invoke.LambdaForm$MH/0x000000b00109c800.invoke(LambdaForm$MH)
	at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Caused by: org.openrewrite.internal.RecipeRunException: java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:281)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.visitControlParentheses(JavaVisitor.java:513)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:119)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ControlParentheses.acceptJava(J.java:5200)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitIf(JavaVisitor.java:692)
	at org.openrewrite.java.JavaIsoVisitor.visitIf(JavaIsoVisitor.java:184)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:134)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$If.acceptJava(J.java:2751)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitMethodDeclaration(JavaVisitor.java:839)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:234)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$MethodDeclaration.acceptJava(J.java:4036)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitClassDeclaration(JavaVisitor.java:474)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:108)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ClassDeclaration.acceptJava(J.java:1385)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.lambda$visitCompilationUnit$9(JavaVisitor.java:486)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bca60.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitCompilationUnit(JavaVisitor.java:486)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:113)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$CompilationUnit.acceptJava(J.java:1667)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$7(RecipeRunCycle.java:210)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b001446cd8.call(Unknown Source)
	at io.micrometer.core.instrument.AbstractTimer.recordCallable(AbstractTimer.java:176)
	at org.openrewrite.table.RecipeRunStats.recordEdit(RecipeRunStats.java:74)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$8(RecipeRunCycle.java:206)
	... 27 more
Caused by: java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:62)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4290)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	... 98 more


java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
org.openrewrite.internal.RecipeRunException: java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:281)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.visitControlParentheses(JavaVisitor.java:513)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:119)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ControlParentheses.acceptJava(J.java:5200)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitIf(JavaVisitor.java:692)
	at org.openrewrite.java.JavaIsoVisitor.visitIf(JavaIsoVisitor.java:184)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:134)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$If.acceptJava(J.java:2751)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitMethodDeclaration(JavaVisitor.java:839)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:234)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$MethodDeclaration.acceptJava(J.java:4036)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitClassDeclaration(JavaVisitor.java:474)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:108)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ClassDeclaration.acceptJava(J.java:1385)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.lambda$visitCompilationUnit$9(JavaVisitor.java:486)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bca60.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitCompilationUnit(JavaVisitor.java:486)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:113)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$CompilationUnit.acceptJava(J.java:1667)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$7(RecipeRunCycle.java:210)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b001446cd8.call(Unknown Source)
	at io.micrometer.core.instrument.AbstractTimer.recordCallable(AbstractTimer.java:176)
	at org.openrewrite.table.RecipeRunStats.recordEdit(RecipeRunStats.java:74)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$8(RecipeRunCycle.java:206)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b728.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeStack.reduce(RecipeStack.java:60)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$9(RecipeRunCycle.java:179)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b268.apply(Unknown Source)
	at org.openrewrite.internal.InMemoryLargeSourceSet.lambda$edit$0(InMemoryLargeSourceSet.java:86)
	at org.openrewrite.internal.InMemoryLargeSourceSet$$Lambda/0x000000b00142b4c8.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.internal.InMemoryLargeSourceSet.edit(InMemoryLargeSourceSet.java:85)
	at org.openrewrite.RecipeScheduler$$Lambda/0x000000b00142ae18.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeRunCycle.editSources(RecipeRunCycle.java:177)
	at org.openrewrite.RecipeScheduler.runRecipeCycles(RecipeScheduler.java:84)
	at org.openrewrite.RecipeScheduler.scheduleRun(RecipeScheduler.java:41)
	at org.openrewrite.Recipe.run(Recipe.java:442)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:383)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:132)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:127)
	at org.openrewrite.staticanalysis.NoEmptyUUIDTest.uuidIsBlankInIfCondition(NoEmptyUUIDTest.java:37)
	at java.base/java.lang.invoke.LambdaForm$DMH/0x000000b001180000.invokeVirtual(LambdaForm$DMH)
	at java.base/java.lang.invoke.LambdaForm$MH/0x000000b00109c800.invoke(LambdaForm$MH)
	at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Caused by: java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:62)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4290)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	... 98 more


class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
java.lang.ClassCastException: class org.openrewrite.java.tree.J$Literal cannot be cast to class org.openrewrite.java.tree.J$MethodInvocation (org.openrewrite.java.tree.J$Literal and org.openrewrite.java.tree.J$MethodInvocation are in unnamed module of loader 'app')
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:62)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitMethodInvocation(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4290)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.visitControlParentheses(JavaVisitor.java:513)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:119)
	at org.openrewrite.java.JavaIsoVisitor.visitControlParentheses(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ControlParentheses.acceptJava(J.java:5200)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitIf(JavaVisitor.java:692)
	at org.openrewrite.java.JavaIsoVisitor.visitIf(JavaIsoVisitor.java:184)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:134)
	at org.openrewrite.staticanalysis.NoEmptyUUID$1.visitIf(NoEmptyUUID.java:38)
	at org.openrewrite.java.tree.J$If.acceptJava(J.java:2751)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitMethodDeclaration(JavaVisitor.java:839)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:234)
	at org.openrewrite.java.JavaIsoVisitor.visitMethodDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$MethodDeclaration.acceptJava(J.java:4036)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1310)
	at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:392)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bdf40.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:391)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:88)
	at org.openrewrite.java.JavaIsoVisitor.visitBlock(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$Block.acceptJava(J.java:848)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.visitClassDeclaration(JavaVisitor.java:474)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:108)
	at org.openrewrite.java.JavaIsoVisitor.visitClassDeclaration(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$ClassDeclaration.acceptJava(J.java:1385)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
	at org.openrewrite.java.JavaVisitor.lambda$visitCompilationUnit$9(JavaVisitor.java:486)
	at org.openrewrite.java.JavaVisitor$$Lambda/0x000000b0013bca60.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.java.JavaVisitor.visitCompilationUnit(JavaVisitor.java:486)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:113)
	at org.openrewrite.java.JavaIsoVisitor.visitCompilationUnit(JavaIsoVisitor.java:30)
	at org.openrewrite.java.tree.J$CompilationUnit.acceptJava(J.java:1667)
	at org.openrewrite.java.tree.J.accept(J.java:60)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
	at org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$7(RecipeRunCycle.java:210)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b001446cd8.call(Unknown Source)
	at io.micrometer.core.instrument.AbstractTimer.recordCallable(AbstractTimer.java:176)
	at org.openrewrite.table.RecipeRunStats.recordEdit(RecipeRunStats.java:74)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$8(RecipeRunCycle.java:206)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b728.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeStack.reduce(RecipeStack.java:60)
	at org.openrewrite.scheduling.RecipeRunCycle.lambda$editSources$9(RecipeRunCycle.java:179)
	at org.openrewrite.scheduling.RecipeRunCycle$$Lambda/0x000000b00142b268.apply(Unknown Source)
	at org.openrewrite.internal.InMemoryLargeSourceSet.lambda$edit$0(InMemoryLargeSourceSet.java:86)
	at org.openrewrite.internal.InMemoryLargeSourceSet$$Lambda/0x000000b00142b4c8.apply(Unknown Source)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
	at org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
	at org.openrewrite.internal.InMemoryLargeSourceSet.edit(InMemoryLargeSourceSet.java:85)
	at org.openrewrite.RecipeScheduler$$Lambda/0x000000b00142ae18.apply(Unknown Source)
	at org.openrewrite.scheduling.RecipeRunCycle.editSources(RecipeRunCycle.java:177)
	at org.openrewrite.RecipeScheduler.runRecipeCycles(RecipeScheduler.java:84)
	at org.openrewrite.RecipeScheduler.scheduleRun(RecipeScheduler.java:41)
	at org.openrewrite.Recipe.run(Recipe.java:442)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:383)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:132)
	at org.openrewrite.test.RewriteTest.rewriteRun(RewriteTest.java:127)
	at org.openrewrite.staticanalysis.NoEmptyUUIDTest.uuidIsBlankInIfCondition(NoEmptyUUIDTest.java:37)
	at java.base/java.lang.invoke.LambdaForm$DMH/0x000000b001180000.invokeVirtual(LambdaForm$DMH)
	at java.base/java.lang.invoke.LambdaForm$MH/0x000000b00109c800.invoke(LambdaForm$MH)
	at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

@Pankraz76
Copy link
Contributor Author

Pankraz76 commented Aug 24, 2025

im stuck on this. How to proceed, please?

Comment on lines +18 to +19
import org.openrewrite.*;
import org.openrewrite.java.JavaIsoVisitor;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import org.openrewrite.*;
import org.openrewrite.java.JavaIsoVisitor;
import org.jspecify.annotations.Nullable;
import org.openrewrite.Cursor;
import org.openrewrite.ExecutionContext;
import org.openrewrite.Recipe;
import org.openrewrite.TreeVisitor;
import org.openrewrite.java.tree.Expression;
import org.openrewrite.java.tree.J;

}

@Override
public J.If visitIf(J.If iff, ExecutionContext ctx) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public J.If visitIf(J.If iff, ExecutionContext ctx) {
public J.@Nullable If visitIf(J.If iff, ExecutionContext ctx) {

Comment on lines +19 to +20
import org.openrewrite.DocumentExample;
import org.openrewrite.Issue;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import org.openrewrite.DocumentExample;
import org.openrewrite.Issue;
import org.openrewrite.DocumentExample;

.parser(JavaParser.fromJavaVersion().classpath("junit-jupiter-params"));
}

@Test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@Test
@DocumentExample
void uuidToStringIsBlankAlwaysFalse() {

Comment on lines +45 to +47
if (id.toString().isBlank()) {
System.out.println("This will never happen");
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (id.toString().isBlank()) {
System.out.println("This will never happen");
}
boolean b = id.toString().isBlank(); // Always false

import java.util.UUID;
public class Test {
public void test() {
UUID id = UUID.randomUUID();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
UUID id = UUID.randomUUID();
UUID id = UUID.randomUUID();
boolean b = false; // Always false

Comment on lines +63 to +64
@DocumentExample
@Test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@DocumentExample
@Test
void uuidIsBlankInIfCondition() {

public class Test {
public void test() {
UUID id = UUID.randomUUID();
boolean b = id.toString().isBlank(); // Always false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
boolean b = id.toString().isBlank(); // Always false
if (id.toString().isBlank()) {
System.out.println("This will never happen");
}

Comment on lines +82 to +83
UUID id = UUID.randomUUID();
boolean b = false; // Always false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
UUID id = UUID.randomUUID();
boolean b = false; // Always false
UUID id = UUID.randomUUID();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant