diff --git a/src/main/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManager.java b/src/main/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManager.java index c4a0dcf1..8120d073 100644 --- a/src/main/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManager.java +++ b/src/main/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManager.java @@ -23,6 +23,7 @@ import java.nio.file.Path; import java.nio.file.PathMatcher; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -80,7 +81,7 @@ public static void addExclusionPattern(String manifestPath, Project project) { ApiSettingsState settings = ApiSettingsState.getInstance(); List currentPatterns = parsePatterns(settings.manifestExclusionPatterns); - + if (!currentPatterns.contains(relativePath)) { currentPatterns.add(relativePath); settings.manifestExclusionPatterns = String.join("\n", currentPatterns); @@ -107,13 +108,13 @@ private static String getRelativePath(VirtualFile file, VirtualFile projectRoot) private static List parsePatterns(String patterns) { if (patterns == null || patterns.trim().isEmpty()) { - return Collections.emptyList(); + return new ArrayList<>(); } return Arrays.stream(patterns.split("[\n\r]+")) .map(String::trim) .filter(pattern -> !pattern.isEmpty() && !pattern.startsWith("#")) - .collect(Collectors.toList()); + .collect(Collectors.toCollection(ArrayList::new)); } private static boolean matchesAnyPattern(String path, List patterns) { diff --git a/src/test/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManagerSimpleTest.java b/src/test/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManagerSimpleTest.java index 0eabc0f4..b052358e 100644 --- a/src/test/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManagerSimpleTest.java +++ b/src/test/java/org/jboss/tools/intellij/componentanalysis/ManifestExclusionManagerSimpleTest.java @@ -18,7 +18,8 @@ import java.nio.file.PathMatcher; import java.nio.file.Paths; -import static org.junit.Assert.*; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * Simple tests for glob pattern matching behavior that don't require IntelliJ platform mocking.