From 2a3a1f57a52f4f9535a5ff15a6a5e5e00a27e67d Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Tue, 8 Oct 2019 10:17:40 +0200 Subject: [PATCH] setup jdk: ensure comparison of system dependent types to avoid duplicated items on win GitOrigin-RevId: 7611048f22f11ed9364bf8101387a3ca425b6e17 --- .../ide/util/projectWizard/JdkChooserPanel.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/java/idea-ui/src/com/intellij/ide/util/projectWizard/JdkChooserPanel.java b/java/idea-ui/src/com/intellij/ide/util/projectWizard/JdkChooserPanel.java index a5ead1a47947..bcaa903b33b9 100644 --- a/java/idea-ui/src/com/intellij/ide/util/projectWizard/JdkChooserPanel.java +++ b/java/idea-ui/src/com/intellij/ide/util/projectWizard/JdkChooserPanel.java @@ -19,6 +19,7 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectSdksModel; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.LoadingDecorator; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -155,7 +156,7 @@ public class JdkChooserPanel extends JPanel { myCurrentJdk = myList.getSelectedValue(); } - public JList getPreferredFocusedComponent() { + public JList getPreferredFocusedComponent() { return myList; } @@ -180,7 +181,14 @@ public class JdkChooserPanel extends JPanel { myLoadingDecorator.startLoading(false); ApplicationManager.getApplication().executeOnPooledThread(() -> { List suggestedPaths = JavaHomeFinder.suggestHomePaths(); - suggestedPaths.removeAll(ContainerUtil.map(knownJdks, sdk -> sdk.getHomePath()));//remove all known path to avoid duplicates + //remove all known path to avoid duplicates + for (Sdk sdk : knownJdks) { + String homePath = sdk.getHomePath(); + if (homePath != null) { + suggestedPaths.remove(FileUtil.toSystemDependentName(homePath)); + } + } + ApplicationManager.getApplication().invokeLater(() -> { for (String homePath : suggestedPaths) { VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(homePath);