Skip to content

Commit d747e14

Browse files
committed
1 parent e75b0a8 commit d747e14

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

bulk-model-sync-lib/mps-test/src/test/kotlin/org/modelix/model/sync/bulk/lib/test/ModelImporterWithMPSAdaptersTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class ModelImporterWithMPSAdaptersTest : MPSTestBase() {
4444
val moduleAdapter = MPSModuleAsNode(module)
4545
// Arrange: Create export data
4646
val dataWithRootsInOneOrder = ModelData(root = moduleAdapter.asExported())
47-
val modelWitRootsInOneOrder = dataWithRootsInOneOrder.root.children[1]
47+
val modelWitRootsInOneOrder = dataWithRootsInOneOrder.root.children[0]
4848
val rootsInOneOrder = modelWitRootsInOneOrder.children
4949
// Arrange: Create alternative export data with switched roots
5050
val rootsInDifferentOrder = listOf(rootsInOneOrder[1], rootsInOneOrder[0])

mps-model-adapters-plugin/src/test/kotlin/org/modelix/model/mpsadapters/DescriptorModelIsFilteredTest.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package org.modelix.model.mpsadapters
22

3-
import junit.framework.TestCase
43
import org.modelix.model.api.BuiltinLanguages
5-
import org.modelix.model.api.IChildLink
6-
import org.modelix.model.api.INode
74

85
/*
96
* Copyright (c) 2023.
@@ -26,8 +23,12 @@ class DescriptorModelIsFilteredTest : MpsAdaptersTestBase("SimpleProject") {
2623
fun `test descriptor model is filtered by adapter`() {
2724
readAction {
2825
val module = checkNotNull(mpsProject.projectModules.find { it.moduleName == "Solution1" })
26+
27+
val descriptorModels = module.models.filter { it.name.stereotype == "descriptor" }
28+
if (descriptorModels.isEmpty()) return@readAction // they don't seem to exist in MPS 2024.1 anymore
29+
30+
assertEquals(1, descriptorModels.size)
2931
assertEquals(2, module.models.count())
30-
assertEquals(1, module.models.count { it.name.stereotype == "descriptor" })
3132

3233
assertEquals(1, MPSModuleAsNode(module).getChildren(BuiltinLanguages.MPSRepositoryConcepts.Module.models).count())
3334
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModuleAsNode.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import jetbrains.mps.project.ProjectManager
2020
import jetbrains.mps.project.Solution
2121
import jetbrains.mps.project.facets.JavaModuleFacet
2222
import jetbrains.mps.smodel.MPSModuleRepository
23+
import org.jetbrains.mps.openapi.model.SModel
2324
import org.jetbrains.mps.openapi.module.SDependencyScope
2425
import org.jetbrains.mps.openapi.module.SModule
2526
import org.jetbrains.mps.openapi.module.SModuleId
@@ -38,7 +39,7 @@ data class MPSModuleAsNode(val module: SModule) : IDefaultNodeAdapter {
3839
}
3940

4041
private val childrenAccessors: Map<IChildLink, () -> Iterable<INode>> = mapOf(
41-
BuiltinLanguages.MPSRepositoryConcepts.Module.models to { module.models.map { MPSModelAsNode(it) } },
42+
BuiltinLanguages.MPSRepositoryConcepts.Module.models to { module.models.withoutDescriptorModel().map { MPSModelAsNode(it) } },
4243
BuiltinLanguages.MPSRepositoryConcepts.Module.facets to { module.facets.filterIsInstance<JavaModuleFacet>().map { MPSJavaModuleFacetAsNode(it) } },
4344
BuiltinLanguages.MPSRepositoryConcepts.Module.dependencies to { getDependencies() },
4445
BuiltinLanguages.MPSRepositoryConcepts.Module.languageDependencies to { getLanguageDependencies() },
@@ -202,3 +203,7 @@ data class MPSModuleAsNode(val module: SModule) : IDefaultNodeAdapter {
202203
return null
203204
}
204205
}
206+
207+
private fun <T : SModel> Iterable<T>.withoutDescriptorModel(): List<T> {
208+
return filter { it.name.stereotype != "descriptor" }
209+
}

0 commit comments

Comments
 (0)