@@ -31,27 +31,20 @@ import org.utbot.intellij.plugin.ui.utils.parseVersion
3131import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
3232import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes
3333import org.utbot.intellij.plugin.ui.utils.testRootType
34- import org.utbot.intellij.plugin.util.AndroidApiHelper
35- import com.intellij.codeInsight.hint.HintUtil
36- import com.intellij.icons.AllIcons
3734import com.intellij.ide.impl.ProjectNewWindowDoNotAskOption
3835import com.intellij.openapi.application.runWriteAction
3936import com.intellij.openapi.command.WriteCommandAction
4037import com.intellij.openapi.components.service
41- import com.intellij.openapi.editor.colors.EditorColorsManager
4238import com.intellij.openapi.options.ShowSettingsUtil
43- import com.intellij.openapi.projectRoots.JavaSdkVersion
4439import com.intellij.openapi.roots.DependencyScope
4540import com.intellij.openapi.roots.ExternalLibraryDescriptor
4641import com.intellij.openapi.roots.JavaProjectModelModificationService
4742import com.intellij.openapi.roots.ModuleRootManager
48- import com.intellij.openapi.roots.ui.configuration.ClasspathEditor
4943import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable
5044import com.intellij.openapi.ui.ComboBox
5145import com.intellij.openapi.ui.DialogPanel
5246import com.intellij.openapi.ui.DialogWrapper
5347import com.intellij.openapi.ui.Messages
54- import com.intellij.openapi.ui.popup.IconButton
5548import com.intellij.openapi.vfs.VfsUtil
5649import com.intellij.openapi.vfs.VfsUtilCore.urlToPath
5750import com.intellij.openapi.vfs.VirtualFile
@@ -66,32 +59,19 @@ import com.intellij.refactoring.util.classMembers.MemberInfo
6659import com.intellij.testIntegration.TestIntegrationUtils
6760import com.intellij.ui.ColoredListCellRenderer
6861import com.intellij.ui.ContextHelpLabel
69- import com.intellij.ui.HyperlinkLabel
70- import com.intellij.ui.IdeBorderFactory.createBorder
71- import com.intellij.ui.InplaceButton
72- import com.intellij.ui.JBColor
7362import com.intellij.ui.JBIntSpinner
74- import com.intellij.ui.SideBorder
7563import com.intellij.ui.SimpleTextAttributes
7664import com.intellij.ui.components.CheckBox
7765import com.intellij.ui.components.JBLabel
7866import com.intellij.ui.components.Panel
79- import com.intellij.ui.components.panels.HorizontalLayout
80- import com.intellij.ui.components.panels.NonOpaquePanel
8167import com.intellij.ui.layout.Cell
8268import com.intellij.ui.layout.CellBuilder
8369import com.intellij.ui.layout.Row
8470import com.intellij.ui.layout.panel
8571import com.intellij.util.IncorrectOperationException
8672import com.intellij.util.io.exists
87- import com.intellij.util.lang.JavaVersion
88- import com.intellij.util.ui.JBUI.Borders.empty
89- import com.intellij.util.ui.JBUI.Borders.merge
90- import com.intellij.util.ui.JBUI.scale
9173import com.intellij.util.ui.JBUI.size
92- import com.intellij.util.ui.components.BorderLayoutPanel
9374import java.awt.BorderLayout
94- import java.awt.Color
9575import java.nio.file.Files
9676import java.nio.file.Path
9777import java.nio.file.Paths
@@ -110,9 +90,6 @@ private const val WILL_BE_CONFIGURED_LABEL = " (will be configured)"
11090private const val MINIMUM_TIMEOUT_VALUE_IN_SECONDS = 1
11191
11292class GenerateTestsDialogWindow (val model : GenerateTestsModel ) : DialogWrapper(model.project) {
113- companion object {
114- const val supportedSdkVersion = 8
115- }
11693
11794 private val membersTable = MemberSelectionTable (emptyList(), null )
11895
@@ -233,76 +210,11 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
233210 contextHelpLabel?.let { add(it, BorderLayout .LINE_END ) }
234211 })
235212
236- override fun createTitlePane (): JComponent ? {
237- val sdkVersion = findSdkVersion()
238- // TODO:SAT-1571 investigate Android Studio specific sdk issues
239- if (sdkVersion?.feature == supportedSdkVersion || AndroidApiHelper .isAndroidStudio()) return null
240- isOKActionEnabled = false
241- return SdkNotificationPanel (model, sdkVersion)
242- }
243-
244213 private fun findTestPackageComboValue (): String {
245214 val packageNames = model.srcClasses.map { it.packageName }.distinct()
246215 return if (packageNames.size == 1 ) packageNames.first() else SAME_PACKAGE_LABEL
247216 }
248217
249- private fun findSdkVersion (): JavaVersion ? {
250- val projectSdk = ModuleRootManager .getInstance(model.testModule).sdk
251- return JavaVersion .tryParse(projectSdk?.versionString)
252- }
253-
254- /* *
255- * A panel to inform user about incorrect jdk in project.
256- *
257- * Note: this implementation was encouraged by NonModalCommitPromoter.
258- */
259- private inner class SdkNotificationPanel (
260- private val model : GenerateTestsModel ,
261- private val sdkVersion : JavaVersion ? ,
262- ) : BorderLayoutPanel() {
263- init {
264- border = merge(empty(10 ), createBorder(JBColor .border(), SideBorder .BOTTOM ), true )
265-
266- addToLeft(JBLabel ().apply {
267- icon = AllIcons .Ide .FatalError
268- text = if (sdkVersion != null ) {
269- " SDK version $sdkVersion is not supported, use ${JavaSdkVersion .JDK_1_8 } "
270- } else {
271- " SDK is not defined"
272- }
273- })
274-
275- addToRight(NonOpaquePanel (HorizontalLayout (scale(12 ))).apply {
276- add(createConfigureAction())
277- add(createCloseAction())
278- })
279- }
280-
281- override fun getBackground (): Color ? =
282- EditorColorsManager .getInstance().globalScheme.getColor(HintUtil .ERROR_COLOR_KEY ) ? : super .getBackground()
283-
284- private fun createConfigureAction (): JComponent =
285- HyperlinkLabel (" Setup SDK" ).apply {
286- addHyperlinkListener {
287- val projectStructure = ProjectStructureConfigurable .getInstance(model.project)
288- val isEdited = ShowSettingsUtil .getInstance().editConfigurable(model.project, projectStructure)
289- { projectStructure.select(model.testModule.name, ClasspathEditor .getName(), true ) }
290-
291- val sdkVersion = findSdkVersion()
292- val sdkFixed = isEdited && sdkVersion?.feature == supportedSdkVersion
293- if (sdkFixed) {
294- this @SdkNotificationPanel.isVisible = false
295- isOKActionEnabled = true
296- }
297- }
298- }
299-
300- private fun createCloseAction (): JComponent =
301- InplaceButton (IconButton (null , AllIcons .Actions .Close , AllIcons .Actions .CloseHovered )) {
302- this @SdkNotificationPanel.isVisible = false
303- }
304- }
305-
306218 private fun updateMembersTable () {
307219 val srcClasses = model.srcClasses
308220
0 commit comments