From 5f9e7989fca0e7a6a5bf0149ceb0dbf85b70bba2 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 24 Apr 2018 09:24:17 +0200 Subject: [PATCH] get rid of .stream and Comparing.equal --- .../execution/impl/RunDashboardTypesPanel.kt | 47 +++++++------------ 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunDashboardTypesPanel.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunDashboardTypesPanel.kt index 2114dcf3079d..f6d833471895 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunDashboardTypesPanel.kt +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunDashboardTypesPanel.kt @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.execution.impl import com.intellij.execution.ExecutionBundle @@ -26,13 +12,12 @@ import com.intellij.openapi.actionSystem.DefaultActionGroup import com.intellij.openapi.actionSystem.impl.SimpleDataContext import com.intellij.openapi.project.Project import com.intellij.openapi.ui.popup.JBPopupFactory -import com.intellij.openapi.util.Comparing import com.intellij.openapi.util.Conditions import com.intellij.openapi.util.SystemInfo import com.intellij.ui.* import com.intellij.ui.components.JBList import com.intellij.ui.speedSearch.SpeedSearchUtil -import com.intellij.util.containers.stream +import gnu.trove.THashSet import org.jetbrains.annotations.NonNls import java.awt.BorderLayout import javax.swing.JList @@ -54,7 +39,7 @@ internal class RunDashboardTypesPanel(private val myProject: Project) : JPanel(B private val list = JBList(listModel) init { - val search = ListSpeedSearch(list, { it.displayName }) + val search = ListSpeedSearch(list) { it.displayName } search.comparator = SpeedSearchComparator(false) list.visibleRowCount = 5 @@ -113,15 +98,15 @@ internal class RunDashboardTypesPanel(private val myProject: Project) : JPanel(B val hiddenCount = allTypes.size - configurationTypes.size val actionGroup = DefaultActionGroup(null, false) - configurationTypes.forEach({ - actionGroup.add(object : AnAction(it.displayName, null, it.icon) { - override fun actionPerformed(e: AnActionEvent?) { - listModel.add(it) - listModel.sort(IGNORE_CASE_DISPLAY_NAME_COMPARATOR) - list.selectedIndex = listModel.getElementIndex(it) - } - }) - }) + configurationTypes.forEach { + actionGroup.add(object : AnAction(it.displayName, null, it.icon) { + override fun actionPerformed(e: AnActionEvent?) { + listModel.add(it) + listModel.sort(IGNORE_CASE_DISPLAY_NAME_COMPARATOR) + list.selectedIndex = listModel.getElementIndex(it) + } + }) + } if (hiddenCount > 0) { actionGroup.add(object : AnAction(ExecutionBundle.message("show.irrelevant.configurations.action.name", hiddenCount)) { override fun actionPerformed(e: AnActionEvent?) { @@ -145,7 +130,7 @@ internal class RunDashboardTypesPanel(private val myProject: Project) : JPanel(B private fun getTypesToShow(showApplicableTypesOnly: Boolean, allTypes: List): List { if (showApplicableTypesOnly) { - val applicableTypes = allTypes.filter { it.configurationFactories.stream().anyMatch { it.isApplicable(myProject) } } + val applicableTypes = allTypes.filter { it.configurationFactories.any { it.isApplicable(myProject) } } if (applicableTypes.size < (allTypes.size - 3)) { return applicableTypes } @@ -169,7 +154,7 @@ internal class RunDashboardTypesPanel(private val myProject: Project) : JPanel(B }) } - fun isModified() = !Comparing.equal(listModel.items.mapTo(HashSet(), { it.id }), RunDashboardManager.getInstance(myProject).types) + fun isModified() = listModel.items.mapTo(THashSet()) { it.id } != RunDashboardManager.getInstance(myProject).types fun reset() { listModel.removeAll() @@ -180,8 +165,8 @@ internal class RunDashboardTypesPanel(private val myProject: Project) : JPanel(B fun apply() { val dashboardManager = RunDashboardManager.getInstance(myProject) - val types = listModel.items.mapTo(HashSet(), { it.id }) - if (!Comparing.equal(types, dashboardManager.types)) { + val types = listModel.items.mapTo(THashSet()) { it.id } + if (types != dashboardManager.types) { dashboardManager.types = types } }