Skip to content

Commit a9011e7

Browse files
committed
fix(mps-model-adapters)!: implement getOriginalReference() instead of handling id properties
BREAKING CHANGE: For MPSNodes the MPS reference will now be stored in the id property instead of the MPS node id.
1 parent 29538cc commit a9011e7

12 files changed

+11
-33
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ interface IDefaultNodeAdapter : IDeprecatedNodeDefaults {
3838
return concept?.getReference()
3939
}
4040

41+
override fun getOriginalReference(): String? {
42+
return reference.serialize()
43+
}
44+
4145
override fun getPropertyLinks(): List<IProperty> {
4246
return concept?.getAllProperties() ?: emptyList()
4347
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,7 @@ data class MPSDevKitDependencyAsNode(
6767
}
6868

6969
override fun getPropertyValue(property: IProperty): String? {
70-
return if (property.isIdProperty()) {
71-
reference.serialize()
72-
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name)) {
70+
return if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name)) {
7371
moduleReference.moduleName
7472
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid)) {
7573
moduleReference.moduleId.toString()

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ data class MPSJavaModuleFacetAsNode(val facet: JavaModuleFacet) : IDefaultNodeAd
4848
}
4949

5050
override fun getPropertyValue(property: IProperty): String? {
51-
return if (property.isIdProperty()) {
52-
reference.serialize()
53-
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.JavaModuleFacet.generated)) {
51+
return if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.JavaModuleFacet.generated)) {
5452
// Should always be true
5553
// https://github.com/JetBrains/MPS/blob/2820965ff7b8836ed1d14adaf1bde29744c88147/core/project/source/jetbrains/mps/project/facets/JavaModuleFacetImpl.java
5654
true.toString()

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,6 @@ data class MPSModelAsNode(val model: SModel) : IDefaultNodeAdapter {
111111
model.name.value
112112
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.Model.id)) {
113113
model.modelId.toString()
114-
} else if (property.isIdProperty()) {
115-
reference.serialize()
116114
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.Model.stereotype)) {
117115
model.name.stereotype
118116
} else {

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ class MPSModelImportAsNode(val importedModel: SModel, val importingModel: SModel
6262
}
6363

6464
override fun getPropertyValue(property: IProperty): String? {
65-
if (!property.isIdProperty()) {
66-
return super.getPropertyValue(property)
67-
}
6865
return reference.serialize()
6966
}
7067

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ data class MPSModuleAsNode(val module: SModule) : IDefaultNodeAdapter {
141141
version.toString()
142142
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.Module.compileInMPS)) {
143143
getCompileInMPS().toString()
144-
} else if (property.isIdProperty()) {
145-
reference.serialize()
146144
} else {
147145
null
148146
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ data class MPSModuleDependencyAsNode(
5858
override fun getPropertyValue(property: IProperty): String? {
5959
val moduleDependency = BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency
6060

61-
return if (property.isIdProperty()) {
62-
reference.serialize()
63-
} else if (property.conformsTo(moduleDependency.explicit)) {
61+
return if (property.conformsTo(moduleDependency.explicit)) {
6462
explicit.toString()
6563
} else if (property.conformsTo(moduleDependency.name)) {
6664
moduleReference.moduleName

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,14 @@ import org.modelix.model.api.ConceptReference
2929
import org.modelix.model.api.IChildLink
3030
import org.modelix.model.api.IConcept
3131
import org.modelix.model.api.IConceptReference
32-
import org.modelix.model.api.IDeprecatedNodeDefaults
3332
import org.modelix.model.api.INode
3433
import org.modelix.model.api.INodeReference
3534
import org.modelix.model.api.IProperty
3635
import org.modelix.model.api.IReferenceLink
3736
import org.modelix.model.api.resolveIn
3837
import org.modelix.model.area.IArea
3938

40-
data class MPSNode(val node: SNode) : IDeprecatedNodeDefaults {
39+
data class MPSNode(val node: SNode) : IDefaultNodeAdapter {
4140
override fun getArea(): IArea {
4241
return MPSArea(node.model?.repository ?: MPSModuleRepository.getInstance())
4342
}
@@ -159,9 +158,6 @@ data class MPSNode(val node: SNode) : IDeprecatedNodeDefaults {
159158
}
160159

161160
override fun getPropertyValue(property: IProperty): String? {
162-
if (property.isIdProperty()) {
163-
return node.nodeId.toString()
164-
}
165161
val mpsProperty = node.properties.firstOrNull { MPSProperty(it).getUID() == property.getUID() } ?: return null
166162
return node.getProperty(mpsProperty)
167163
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ data class MPSProjectAsNode(val project: ProjectBase) : IDefaultNodeAdapter {
4949
}
5050

5151
override fun getPropertyValue(property: IProperty): String? {
52-
return if (property.isIdProperty()) {
53-
reference.serialize()
54-
} else if (property.conformsTo(BuiltinLanguages.jetbrains_mps_lang_core.INamedConcept.name)) {
52+
return if (property.conformsTo(BuiltinLanguages.jetbrains_mps_lang_core.INamedConcept.name)) {
5553
project.name
5654
} else {
5755
null

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ data class MPSProjectModuleAsNode(val project: ProjectBase, val module: SModule)
5454
}
5555

5656
override fun getPropertyValue(property: IProperty): String? {
57-
return if (property.isIdProperty()) {
58-
reference.serialize()
59-
} else if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.ProjectModule.virtualFolder)) {
57+
return if (property.conformsTo(BuiltinLanguages.MPSRepositoryConcepts.ProjectModule.virtualFolder)) {
6058
project.getPath(module)?.virtualFolder
6159
} else {
6260
null

0 commit comments

Comments
 (0)