@@ -65,7 +65,6 @@ import com.intellij.ui.layout.ComboBoxPredicate
65
65
import com.intellij.ui.layout.Row
66
66
import com.intellij.ui.layout.enableIf
67
67
import com.intellij.ui.layout.panel
68
- import com.intellij.ui.layout.selectedValueMatches
69
68
import com.intellij.util.IncorrectOperationException
70
69
import com.intellij.util.io.exists
71
70
import com.intellij.util.lang.JavaVersion
@@ -120,7 +119,6 @@ import org.utbot.framework.plugin.api.MockFramework
120
119
import org.utbot.framework.plugin.api.MockFramework.MOCKITO
121
120
import org.utbot.framework.plugin.api.MockStrategyApi
122
121
import org.utbot.framework.plugin.api.TreatOverflowAsError
123
- import org.utbot.framework.plugin.api.isSummarizationCompatible
124
122
import org.utbot.framework.plugin.api.utils.MOCKITO_EXTENSIONS_FILE_CONTENT
125
123
import org.utbot.framework.plugin.api.utils.MOCKITO_EXTENSIONS_FOLDER
126
124
import org.utbot.framework.plugin.api.utils.MOCKITO_MOCKMAKER_FILE_NAME
@@ -155,7 +153,6 @@ import org.utbot.intellij.plugin.util.IntelliJApiHelper
155
153
import org.utbot.intellij.plugin.util.SpringConfigurationsHelper
156
154
import org.utbot.intellij.plugin.util.extractFirstLevelMembers
157
155
import org.utbot.intellij.plugin.util.findSdkVersion
158
- import java.awt.Component
159
156
import java.io.File
160
157
import java.time.LocalDateTime
161
158
import java.time.format.DateTimeFormatter
@@ -172,8 +169,6 @@ private const val NO_SPRING_CONFIGURATION_OPTION = "No configuration"
172
169
private const val ACTION_GENERATE = " Generate Tests"
173
170
private const val ACTION_GENERATE_AND_RUN = " Generate and Run"
174
171
175
- private const val JAVA_CONFIG_SEPARATOR = " ."
176
-
177
172
class GenerateTestsDialogWindow (val model : GenerateTestsModel ) : DialogWrapper(model.project) {
178
173
companion object {
179
174
const val minSupportedSdkVersion = 8
@@ -197,25 +192,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
197
192
private val codegenLanguages = createComboBox(CodegenLanguage .values())
198
193
private val testFrameworks = createComboBox(TestFramework .allItems.toTypedArray())
199
194
200
- private val shortenedSortedSpringConfigurationClasses =
201
- SpringConfigurationsHelper .shortenSpringConfigNames(
202
- model.getSortedSpringConfigurationClasses(),
203
- JAVA_CONFIG_SEPARATOR
204
- )
205
-
206
- private val shortenedSpringXMLConfigurationFiles =
207
- SpringConfigurationsHelper .shortenSpringConfigNames(
208
- model.getSpringXMLConfigurationFiles(),
209
- File .separator
210
- )
211
-
212
- private val shortenedSpringConfigNames = setOf (
213
- null to listOf (NO_SPRING_CONFIGURATION_OPTION ),
214
- " Java-based configurations" to shortenedSortedSpringConfigurationClasses,
215
- " XML-based configurations" to shortenedSpringXMLConfigurationFiles
216
- )
217
-
218
- private val springConfig = createComboBoxWithSeparatorsForSpringConfigs(shortenedSpringConfigNames)
195
+ private val springConfig = createComboBoxWithSeparatorsForSpringConfigs(shortenConfigurationNames())
219
196
220
197
private val mockStrategies = createComboBox(MockStrategyApi .values())
221
198
private val staticsMocking = JCheckBox (" Mock static methods" )
@@ -241,6 +218,24 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
241
218
parametrizedTestSources to null
242
219
)
243
220
221
+
222
+ private val javaConfigurationHelper = SpringConfigurationsHelper (" ." )
223
+ private val xmlConfigurationHelper = SpringConfigurationsHelper (File .separator)
224
+
225
+ private fun shortenConfigurationNames (): Set <Pair <String ?, Collection <String >>> {
226
+ val shortenedSortedSpringConfigurationClasses =
227
+ javaConfigurationHelper.shortenSpringConfigNames(model.getSortedSpringConfigurationClasses())
228
+
229
+ val shortenedSpringXMLConfigurationFiles =
230
+ xmlConfigurationHelper.shortenSpringConfigNames(model.getSpringXMLConfigurationFiles())
231
+
232
+ return setOf (
233
+ null to listOf (NO_SPRING_CONFIGURATION_OPTION ),
234
+ " Java-based configurations" to shortenedSortedSpringConfigurationClasses,
235
+ " XML-based configurations" to shortenedSpringXMLConfigurationFiles
236
+ )
237
+ }
238
+
244
239
private fun <T : CodeGenerationSettingItem > createComboBox (values : Array <T >) : ComboBox <T > {
245
240
val comboBox = object : ComboBox <T >(DefaultComboBoxModel (values)) {
246
241
var maxWidth = 0
@@ -598,7 +593,17 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
598
593
model.typeReplacementApproach =
599
594
when (springConfig.item.getItem()) {
600
595
NO_SPRING_CONFIGURATION_OPTION -> TypeReplacementApproach .DoNotReplace
601
- else -> TypeReplacementApproach .ReplaceIfPossible (springConfig.item.getItem().toString())
596
+ else -> {
597
+ val shortConfigName = springConfig.item.getItem().toString()
598
+ // TODO: avoid this check on xml here, merge two helpers into one
599
+ val fullConfigName = if (shortConfigName.endsWith(" .xml" )) {
600
+ xmlConfigurationHelper.restoreFullName(shortConfigName)
601
+ } else {
602
+ javaConfigurationHelper.restoreFullName(shortConfigName)
603
+ }
604
+
605
+ TypeReplacementApproach .ReplaceIfPossible (fullConfigName)
606
+ }
602
607
}
603
608
604
609
val settings = model.project.service<Settings >()
@@ -1133,8 +1138,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
1133
1138
1134
1139
private fun updateSpringConfigurationEnabled () {
1135
1140
// We check for > 1 because there is already extra-dummy NO_SPRING_CONFIGURATION_OPTION option
1136
- springConfig.isEnabled = model.projectType == ProjectType .Spring
1137
- && shortenedSpringConfigNames.size > 1
1141
+ springConfig.isEnabled = model.projectType == ProjectType .Spring && springConfig.itemCount > 1
1138
1142
}
1139
1143
1140
1144
private fun staticsMockingConfigured (): Boolean {
0 commit comments