From 01378b0c41f8edc4b4addeca3ae0e20ad34868f6 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Sun, 19 May 2024 00:31:02 +0200 Subject: [PATCH] Use a for loop as is common elsewhere to limit object creations --- .../java/org/openrewrite/java/style/ImportLayoutStyle.java | 6 ++++-- .../org/openrewrite/java/style/ImportLayoutStyleTest.java | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rewrite-java/src/main/java/org/openrewrite/java/style/ImportLayoutStyle.java b/rewrite-java/src/main/java/org/openrewrite/java/style/ImportLayoutStyle.java index 5f4a4afd186..c581f1caae3 100644 --- a/rewrite-java/src/main/java/org/openrewrite/java/style/ImportLayoutStyle.java +++ b/rewrite-java/src/main/java/org/openrewrite/java/style/ImportLayoutStyle.java @@ -122,8 +122,10 @@ public List> addImport(List> origi // Do not add the import if it is already present. String qualifiedName = paddedToAdd.getElement().getQualid().toString(); - if (originalImports.stream().anyMatch(i -> qualifiedName.equals(i.getElement().getQualid().toString()))) { - return originalImports; + for (JRightPadded originalImport : originalImports) { + if (qualifiedName.equals(originalImport.getElement().getQualid().toString())) { + return originalImports; + } } // don't star fold just yet, because we are only going to star fold adjacent imports along with diff --git a/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java b/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java index 545bf334b5b..a012ada4684 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java @@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; import org.junit.jupiter.api.Test; +import org.openrewrite.Issue; import org.openrewrite.config.DeclarativeNamedStyles; import org.openrewrite.java.tree.J; import org.openrewrite.java.tree.JLeftPadded; @@ -89,7 +90,8 @@ void deserializeInDeclarativeNamedStyles() throws IOException { } @Test - void testAddImport() { + @Issue("https://github.com/openrewrite/rewrite/issues/4196") + void addImportInPresenceOfDuplicateOtherImport() { ImportLayoutStyle style = new ImportLayoutStyle( Integer.MAX_VALUE, Integer.MAX_VALUE, Collections.emptyList(), Collections.emptyList()); JRightPadded import1 = new JRightPadded<>(