From 123a936ff1d1ce3ca546cbe2ab8dec55efcac603 Mon Sep 17 00:00:00 2001 From: Alexander Bubenchikov Date: Fri, 10 Jan 2020 15:44:03 +0300 Subject: [PATCH] IDEA-225132 remove duplicate entries from PackageSearchService GitOrigin-RevId: c0844cdc04a94f1182d125dba484e5c041e7ce3a --- .../intellij/PackageSearchService.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/onlinecompletion/intellij/PackageSearchService.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/onlinecompletion/intellij/PackageSearchService.java index 7d2342488c20..5ae9606623c2 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/onlinecompletion/intellij/PackageSearchService.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/onlinecompletion/intellij/PackageSearchService.java @@ -16,6 +16,9 @@ import org.jetbrains.idea.reposearch.RepositoryArtifactData; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import java.util.function.Consumer; public class PackageSearchService implements DependencySearchProvider { @@ -123,11 +126,15 @@ public class PackageSearchService implements DependencySearchProvider { continue; } - MavenDependencyCompletionItem[] items = new MavenDependencyCompletionItem[resultModel.versions.length]; + Set versions = new HashSet<>(); + ArrayList itemList = new ArrayList<>(); for (int i = 0; i < resultModel.versions.length; i++) { - items[i] = new MavenDependencyCompletionItem(resultModel.groupId, resultModel.artifactId, resultModel.versions[i], - MavenDependencyCompletionItem.Type.REMOTE); + if (versions.add(resultModel.versions[i])) { + itemList.add(new MavenDependencyCompletionItem(resultModel.groupId, resultModel.artifactId, resultModel.versions[i], + MavenDependencyCompletionItem.Type.REMOTE)); + } } + MavenDependencyCompletionItem[] items = itemList.toArray(new MavenDependencyCompletionItem[0]); consumer.accept(new MavenRepositoryArtifactInfo(items[0].getGroupId(), items[0].getArtifactId(), items)); } }