Skip to content

Commit c7f132f

Browse files
committed
fix: return a new list to allow ExcludeManifestIntentionAction adds elements afterwards
1 parent 67b961f commit c7f132f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/main/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManager.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.nio.file.Path;
2424
import java.nio.file.PathMatcher;
2525
import java.nio.file.Paths;
26+
import java.util.ArrayList;
2627
import java.util.Arrays;
2728
import java.util.Collections;
2829
import java.util.List;
@@ -80,7 +81,7 @@ public static void addExclusionPattern(String manifestPath, Project project) {
8081

8182
ApiSettingsState settings = ApiSettingsState.getInstance();
8283
List<String> currentPatterns = parsePatterns(settings.manifestExclusionPatterns);
83-
84+
8485
if (!currentPatterns.contains(relativePath)) {
8586
currentPatterns.add(relativePath);
8687
settings.manifestExclusionPatterns = String.join("\n", currentPatterns);
@@ -107,13 +108,13 @@ private static String getRelativePath(VirtualFile file, VirtualFile projectRoot)
107108

108109
private static List<String> parsePatterns(String patterns) {
109110
if (patterns == null || patterns.trim().isEmpty()) {
110-
return Collections.emptyList();
111+
return new ArrayList<>();
111112
}
112113

113114
return Arrays.stream(patterns.split("[\n\r]+"))
114115
.map(String::trim)
115116
.filter(pattern -> !pattern.isEmpty() && !pattern.startsWith("#"))
116-
.collect(Collectors.toList());
117+
.collect(Collectors.toCollection(ArrayList::new));
117118
}
118119

119120
private static boolean matchesAnyPattern(String path, List<String> patterns) {

src/test/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManagerSimpleTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
import java.nio.file.PathMatcher;
1919
import java.nio.file.Paths;
2020

21-
import static org.junit.Assert.*;
21+
import static org.junit.Assert.assertFalse;
22+
import static org.junit.Assert.assertTrue;
2223

2324
/**
2425
* Simple tests for glob pattern matching behavior that don't require IntelliJ platform mocking.

0 commit comments

Comments
 (0)