diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkDownloadDialog.kt b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkDownloadDialog.kt index 8634755a423f..922c5e22dae7 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkDownloadDialog.kt +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkDownloadDialog.kt @@ -117,7 +117,8 @@ private class JdkVersionVendorCombobox: ComboBox() { isSwingPopup = false renderer = listCellRenderer("") { - text(value.item.product.packagePresentationText) + val title = value.item.product.packagePresentationText.replace("Axiom JSC", "").trim() + text(title) text(value.item.jdkVersion) { foreground = greyForeground @@ -138,7 +139,18 @@ private class JdkVersionVendorCombobox: ComboBox() { } } -private fun List.sortedForUI() = this.sortedBy { it.item.product.packagePresentationText.lowercase() } + +private fun List.sortedForUI() = this + .sortedWith( + Comparator { i1, i2 -> + val s1: String = i1.item.product.packagePresentationText + val s2: String = i2.item.product.packagePresentationText + if (s1.contains("Axiom", ignoreCase = true)) -1 + else s1.compareTo(s2) + } + ) + +private fun isLicenseAcceptedJDK(vendor: JdkVersionVendorItem): Boolean = vendor.item.isLicenseAccepted @VisibleForTesting @Internal diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkList.kt b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkList.kt index 5cb4b411564d..d36f8d9e5fc9 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkList.kt +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkList.kt @@ -97,6 +97,8 @@ data class JdkItem( val jdkVendorVersion: String?, val suggestedSdkName: String, + val isLicenseAccepted: Boolean, + val os: String, /** * @see presentableArchIfNeeded @@ -484,6 +486,8 @@ object JdkListParser { jdkVendorVersion = (item["jdk_vendor_version"] as? JsonPrimitive)?.contentOrNull, suggestedSdkName = (item["suggested_sdk_name"] as? JsonPrimitive)?.contentOrNull ?: return emptyList(), + isLicenseAccepted = item["is_license_accepted"]?.let { filters.testPredicate(it) == true } ?: false, + os = (pkg["os"] as? JsonPrimitive)?.contentOrNull ?: return emptyList(), arch = (pkg["arch"] as? JsonPrimitive)?.contentOrNull ?: return emptyList(), packageType = (pkg["package_type"] as? JsonPrimitive)?.contentOrNull?.let(JdkPackageType.Companion::findType) ?: return emptyList(),