Skip to content

Commit

Permalink
fix(mps-model-adapters): replace UUID.fromString with proper MPS API …
Browse files Browse the repository at this point in the history
…calls
  • Loading branch information
slisson committed Feb 3, 2025
1 parent 639af08 commit 5e90b4e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import org.modelix.model.api.IPropertyReference
import org.modelix.model.api.IReferenceLinkReference
import org.modelix.model.api.IWritableNode
import org.modelix.model.data.asData
import java.util.UUID

data class MPSModelAsNode(val model: SModel) : MPSGenericNodeAdapter<SModel>() {

Expand Down Expand Up @@ -105,17 +104,19 @@ data class MPSModelAsNode(val model: SModel) : MPSGenericNodeAdapter<SModel>() {
BuiltinLanguages.MPSRepositoryConcepts.SingleLanguageDependency.getReference() -> {
val id = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())
val name = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name.toReference())
val slang = SLanguageAdapterById(SLanguageId(UUID.fromString(id)), name ?: "")
val slang = SLanguageAdapterById(SLanguageId.deserialize(id), name ?: "")
element.addLanguage(slang)
return MPSSingleLanguageDependencyAsNode(
slang,
modelImporter = element,
)
}
BuiltinLanguages.MPSRepositoryConcepts.DevkitDependency.getReference() -> {
val id = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())
val id = requireNotNull(sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())) {
"Has no ID: $sourceNode"
}
val name = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name.toReference())
val ref = PersistenceFacade.getInstance().createModuleReference(ModuleId.regular(UUID.fromString(id)), name ?: "")
val ref = PersistenceFacade.getInstance().createModuleReference(ModuleId.fromString(id), name ?: "")
element.addDevKit(ref)
return MPSDevKitDependencyAsNode(
moduleReference = ref,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import org.modelix.model.api.IReferenceLinkReference
import org.modelix.model.api.IWritableNode
import org.modelix.model.data.asData
import org.modelix.mps.api.ModelixMpsApi
import java.util.UUID

fun MPSModuleAsNode(module: SModule) = MPSModuleAsNode.create(module)

Expand Down Expand Up @@ -155,10 +154,12 @@ abstract class MPSModuleAsNode<E : SModule> : MPSGenericNodeAdapter<E>() {

return when (sourceNode.getConceptReference()) {
BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency.getReference() -> {
val id = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency.uuid.toReference())
val id = requireNotNull(sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency.uuid.toReference())) {
"Has no ID: $sourceNode"
}
val name = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency.name.toReference()) ?: ""
val version = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.ModuleDependency.version.toReference())?.toIntOrNull() ?: 0
val ref = PersistenceFacade.getInstance().createModuleReference(ModuleId.regular(UUID.fromString(id)), name)
val ref = PersistenceFacade.getInstance().createModuleReference(ModuleId.fromString(id), name)
moduleDescriptor.dependencyVersions[ref] = version
MPSModuleDependencyAsNode(element, ref)
}
Expand Down Expand Up @@ -197,14 +198,16 @@ abstract class MPSModuleAsNode<E : SModule> : MPSGenericNodeAdapter<E>() {
val id = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())
val name = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name.toReference()) ?: ""
val version = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.SingleLanguageDependency.version.toReference()) ?: ""
val lang = MetaAdapterFactory.getLanguage(SLanguageId(UUID.fromString(id)), name)
val lang = MetaAdapterFactory.getLanguage(SLanguageId.deserialize(id), name)
moduleDescriptor.languageVersions[lang] = version.toIntOrNull() ?: -1
MPSSingleLanguageDependencyAsNode(lang, moduleImporter = element)
}
BuiltinLanguages.MPSRepositoryConcepts.DevkitDependency.getReference() -> {
val id = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())
val id = requireNotNull(sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.uuid.toReference())) {
"Has no ID: $sourceNode"
}
val name = sourceNode.getNode().getPropertyValue(BuiltinLanguages.MPSRepositoryConcepts.LanguageDependency.name.toReference()) ?: ""
val ref = jetbrains.mps.project.structure.modules.ModuleReference(name, ModuleId.regular(UUID.fromString(id)))
val ref = jetbrains.mps.project.structure.modules.ModuleReference(name, ModuleId.fromString(id))
moduleDescriptor.usedDevkits.add(ref)
MPSDevKitDependencyAsNode(ref, moduleImporter = element)
}
Expand Down

0 comments on commit 5e90b4e

Please sign in to comment.