diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt index b426b015e693..0efbb075d350 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/Config.kt @@ -16,8 +16,7 @@ import java.nio.file.Paths * @property outputDir The output directory for the evaluation results. * @property strategy The evaluation strategy used. * @property actions The configuration for actions generation step. - * @property csvDataset Dataset configuration for CSV file. - * @property conflictDataset Dataset configuration for conflict resolution evaluations. + * @property fileDataset Dataset configuration for standalone setups * @property interpret The configuration for actions interpretation step. * @property reorder The configuration for element reordering step. * @property reports The configuration for report generation step. @@ -26,8 +25,7 @@ data class Config private constructor( val outputDir: String, val strategy: EvaluationStrategy, val actions: ActionsGeneration?, - val csvDataset: FileDataset?, - val conflictDataset: ConflictDataset?, + val fileDataset: FileDataset?, val interpret: ActionsInterpretation, val reorder: ReorderElements, val reports: ReportGeneration @@ -75,11 +73,7 @@ data class Config private constructor( */ data class FileDataset internal constructor( val url: String, - val chunkSize: Int, - ) - - data class ConflictDataset internal constructor( - val url: String + val chunkSize: Int?, ) /** @@ -141,7 +135,6 @@ data class Config private constructor( class Builder internal constructor() { var actions: ActionsGeneration? = null var fileDataset: FileDataset? = null - var conflictDataset: ConflictDataset? = null var outputDir: String? = null var strategy: EvaluationStrategy = EvaluationStrategy.defaultStrategy @@ -168,8 +161,7 @@ data class Config private constructor( constructor(config: Config) : this() { actions = config.actions - fileDataset = config.csvDataset - conflictDataset = config.conflictDataset + fileDataset = config.fileDataset outputDir = config.outputDir strategy = config.strategy saveLogs = config.interpret.saveLogs @@ -214,7 +206,6 @@ data class Config private constructor( strategy, actions, fileDataset, - conflictDataset, ActionsInterpretation( experimentGroup, sessionsLimit, diff --git a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/ConfigFactory.kt b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/ConfigFactory.kt index 481e2b8be052..9c34ea4332ef 100644 --- a/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/ConfigFactory.kt +++ b/plugins/evaluation-plugin/core/src/com/intellij/cce/workspace/ConfigFactory.kt @@ -63,8 +63,7 @@ object ConfigFactory { map.getIfExists("language"), this ) - deserializeFileDataset(map.getIfExists("csvDataset"), this) - deserializeConflictDataset(map.getIfExists("conflictDataset"), this) + deserializeFileDataset(map.getIfExists("fileDataset"), this) deserializeStrategy(map.getIfExists("strategy"), strategySerializer, actions?.language, this) deserializeActionsInterpretation(map.getIfExists("interpret"), this) @@ -120,20 +119,7 @@ object ConfigFactory { builder.fileDataset = Config.FileDataset( map.getAs("url"), - map.getAs("chunkSize").toInt(), - ) - } - - private fun deserializeConflictDataset( - map: Map?, - builder: Config.Builder - ) { - if (map == null) { - return - } - - builder.conflictDataset = Config.ConflictDataset( - map.getAs("url") + map.getIfExists("chunkSize")?.toInt(), ) } diff --git a/plugins/evaluation-plugin/evaluationconfig/conflictresolution/config.json b/plugins/evaluation-plugin/evaluationconfig/conflictresolution/config.json index a5911c46fa93..37d9ea65f872 100644 --- a/plugins/evaluation-plugin/evaluationconfig/conflictresolution/config.json +++ b/plugins/evaluation-plugin/evaluationconfig/conflictresolution/config.json @@ -1,7 +1,7 @@ { "outputDir": "ml-eval-conflict-resolution-output", "strategy": {}, - "conflictDataset": { + "fileDataset": { "url": "existing:conflicts" }, "interpret": { diff --git a/plugins/evaluation-plugin/evaluationconfig/standaloneexample/config.json b/plugins/evaluation-plugin/evaluationconfig/standaloneexample/config.json index a2050befd92e..bfe29dd7c9c7 100644 --- a/plugins/evaluation-plugin/evaluationconfig/standaloneexample/config.json +++ b/plugins/evaluation-plugin/evaluationconfig/standaloneexample/config.json @@ -1,7 +1,7 @@ { "outputDir": "ml-eval-standalone-example-output", "strategy": {}, - "csvDataset": { + "fileDataset": { "url": "./latin_letters.csv", "chunkSize": 10 }, diff --git a/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/conflictResolution/ConflictResolutionFeature.kt b/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/conflictResolution/ConflictResolutionFeature.kt index be1e0987ac83..ffba317f4594 100644 --- a/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/conflictResolution/ConflictResolutionFeature.kt +++ b/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/conflictResolution/ConflictResolutionFeature.kt @@ -13,7 +13,7 @@ class ConflictResolutionFeature : StandaloneFeature( override fun getStrategySerializer(): StrategySerializer = ConflictResolutionStrategy.Serializer() override fun prepareEnvironment(config: Config): SimpleFileEnvironment = ConflictEnvironment( - DatasetRef.parse(config.conflictDataset!!.url), + DatasetRef.parse(config.fileDataset!!.url), TheirConflictResolver() ) diff --git a/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/standaloneExample/StandaloneExampleFeature.kt b/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/standaloneExample/StandaloneExampleFeature.kt index 3c5b991baa25..1d8bc038cd09 100644 --- a/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/standaloneExample/StandaloneExampleFeature.kt +++ b/plugins/evaluation-plugin/src/com/intellij/cce/evaluable/standaloneExample/StandaloneExampleFeature.kt @@ -23,10 +23,10 @@ class StandaloneExampleFeature : StandaloneFeature("standalone- } override fun prepareEnvironment(config: Config): EvaluationEnvironment { - val fileDataset = config.csvDataset ?: throw IllegalStateException("Required dataset config") + val fileDataset = config.fileDataset ?: throw IllegalStateException("Required dataset config") return CsvEnvironment( datasetRef = DatasetRef.parse(fileDataset.url), - chunkSize = fileDataset.chunkSize, + chunkSize = fileDataset.chunkSize ?: 1, targetField = "Type", featureInvoker = StandaloneExampleInvoker(), ) diff --git a/plugins/evaluation-plugin/test/com/intellij/cce/workspace/ConfigFactoryTest.kt b/plugins/evaluation-plugin/test/com/intellij/cce/workspace/ConfigFactoryTest.kt index 48eefb9ab47b..bb540fe5e847 100644 --- a/plugins/evaluation-plugin/test/com/intellij/cce/workspace/ConfigFactoryTest.kt +++ b/plugins/evaluation-plugin/test/com/intellij/cce/workspace/ConfigFactoryTest.kt @@ -91,15 +91,15 @@ class ConfigFactoryTest { { "outputDir": "test_outputDir", "strategy": {}, - "csvDataset": { + "fileDataset": { "url": "test_url", "chunkSize": 300 } } """.trimIndent() ).also { - assertEquals("test_url", it.csvDataset?.url) - assertEquals(300, it.csvDataset?.chunkSize) + assertEquals("test_url", it.fileDataset?.url) + assertEquals(300, it.fileDataset?.chunkSize) } }