@@ -31,27 +31,20 @@ import org.utbot.intellij.plugin.ui.utils.parseVersion
31
31
import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
32
32
import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes
33
33
import 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
37
34
import com.intellij.ide.impl.ProjectNewWindowDoNotAskOption
38
35
import com.intellij.openapi.application.runWriteAction
39
36
import com.intellij.openapi.command.WriteCommandAction
40
37
import com.intellij.openapi.components.service
41
- import com.intellij.openapi.editor.colors.EditorColorsManager
42
38
import com.intellij.openapi.options.ShowSettingsUtil
43
- import com.intellij.openapi.projectRoots.JavaSdkVersion
44
39
import com.intellij.openapi.roots.DependencyScope
45
40
import com.intellij.openapi.roots.ExternalLibraryDescriptor
46
41
import com.intellij.openapi.roots.JavaProjectModelModificationService
47
42
import com.intellij.openapi.roots.ModuleRootManager
48
- import com.intellij.openapi.roots.ui.configuration.ClasspathEditor
49
43
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable
50
44
import com.intellij.openapi.ui.ComboBox
51
45
import com.intellij.openapi.ui.DialogPanel
52
46
import com.intellij.openapi.ui.DialogWrapper
53
47
import com.intellij.openapi.ui.Messages
54
- import com.intellij.openapi.ui.popup.IconButton
55
48
import com.intellij.openapi.vfs.VfsUtil
56
49
import com.intellij.openapi.vfs.VfsUtilCore.urlToPath
57
50
import com.intellij.openapi.vfs.VirtualFile
@@ -66,32 +59,19 @@ import com.intellij.refactoring.util.classMembers.MemberInfo
66
59
import com.intellij.testIntegration.TestIntegrationUtils
67
60
import com.intellij.ui.ColoredListCellRenderer
68
61
import 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
73
62
import com.intellij.ui.JBIntSpinner
74
- import com.intellij.ui.SideBorder
75
63
import com.intellij.ui.SimpleTextAttributes
76
64
import com.intellij.ui.components.CheckBox
77
65
import com.intellij.ui.components.JBLabel
78
66
import com.intellij.ui.components.Panel
79
- import com.intellij.ui.components.panels.HorizontalLayout
80
- import com.intellij.ui.components.panels.NonOpaquePanel
81
67
import com.intellij.ui.layout.Cell
82
68
import com.intellij.ui.layout.CellBuilder
83
69
import com.intellij.ui.layout.Row
84
70
import com.intellij.ui.layout.panel
85
71
import com.intellij.util.IncorrectOperationException
86
72
import 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
91
73
import com.intellij.util.ui.JBUI.size
92
- import com.intellij.util.ui.components.BorderLayoutPanel
93
74
import java.awt.BorderLayout
94
- import java.awt.Color
95
75
import java.nio.file.Files
96
76
import java.nio.file.Path
97
77
import java.nio.file.Paths
@@ -110,9 +90,6 @@ private const val WILL_BE_CONFIGURED_LABEL = " (will be configured)"
110
90
private const val MINIMUM_TIMEOUT_VALUE_IN_SECONDS = 1
111
91
112
92
class GenerateTestsDialogWindow (val model : GenerateTestsModel ) : DialogWrapper(model.project) {
113
- companion object {
114
- const val supportedSdkVersion = 8
115
- }
116
93
117
94
private val membersTable = MemberSelectionTable (emptyList(), null )
118
95
@@ -233,76 +210,11 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
233
210
contextHelpLabel?.let { add(it, BorderLayout .LINE_END ) }
234
211
})
235
212
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
-
244
213
private fun findTestPackageComboValue (): String {
245
214
val packageNames = model.srcClasses.map { it.packageName }.distinct()
246
215
return if (packageNames.size == 1 ) packageNames.first() else SAME_PACKAGE_LABEL
247
216
}
248
217
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
-
306
218
private fun updateMembersTable () {
307
219
val srcClasses = model.srcClasses
308
220
0 commit comments