Skip to content

Commit 0ca7ea5

Browse files
committed
moved (meta-)model data classes to open-api
1 parent 48f6c8e commit 0ca7ea5

File tree

16 files changed

+189
-11
lines changed

16 files changed

+189
-11
lines changed

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/ConceptInLanguage.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package org.modelix.metamodel.generator
22

33
import org.modelix.model.api.IConcept
4+
import org.modelix.model.data.ChildLinkData
5+
import org.modelix.model.data.ConceptData
6+
import org.modelix.model.data.IConceptFeatureData
7+
import org.modelix.model.data.LanguageData
8+
import org.modelix.model.data.PropertyData
9+
import org.modelix.model.data.ReferenceLinkData
410

511
class LanguageSet(languages: List<LanguageData>) {
612
private val languagesMap = HashMap<String, LanguageInSet>()

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/ConceptsFilter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.modelix.metamodel.generator
22

3+
import org.modelix.model.data.LanguageData
4+
35
class ConceptsFilter(val languageSet: LanguageSet) {
46
private val includedConcepts: MutableSet<String> = HashSet()
57
private val includedLanguages: MutableSet<String> = HashSet()

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/MetaModelDSL.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package org.modelix.metamodel.generator
22

3+
import org.modelix.model.data.LanguageData
4+
import org.modelix.model.data.ConceptData
5+
import org.modelix.model.data.PropertyData
6+
import org.modelix.model.data.ChildLinkData
7+
import org.modelix.model.data.ReferenceLinkData
8+
39
fun newLanguage(name: String, body: LanguageBuilder.()->Unit): LanguageData {
410
return LanguageBuilder(name).apply(body).build()
511
}

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/MetaModelDefinition.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import kotlinx.serialization.json.Json
88
import java.io.File
99

1010
@Serializable
11+
@Deprecated("use org.modelix.mode.data.*")
1112
data class LanguageData(
1213
val uid: String? = null,
1314
val name: String,
@@ -31,6 +32,7 @@ data class LanguageData(
3132
}
3233

3334
@Serializable
35+
@Deprecated("use org.modelix.mode.data.*")
3436
data class ConceptData(
3537
val uid: String? = null,
3638
val name: String,
@@ -41,23 +43,27 @@ data class ConceptData(
4143
val extends: List<String> = emptyList(),
4244
)
4345

46+
@Deprecated("use org.modelix.mode.data.*")
4447
sealed interface IConceptFeatureData {
4548
val uid: String?
4649
val name: String
4750
}
4851

4952
@Serializable
53+
@Deprecated("use org.modelix.mode.data.*")
5054
data class PropertyData (
5155
override val uid: String? = null,
5256
override val name: String,
5357
val type: PropertyType = PropertyType.STRING
5458
) : IConceptFeatureData
5559

60+
@Deprecated("use org.modelix.mode.data.*")
5661
enum class PropertyType {
5762
STRING, BOOLEAN, INT
5863
}
5964

6065
@Serializable
66+
@Deprecated("use org.modelix.mode.data.*")
6167
data class ChildLinkData(
6268
override val uid: String? = null,
6369
override val name: String,
@@ -67,6 +73,7 @@ data class ChildLinkData(
6773
) : IConceptFeatureData
6874

6975
@Serializable
76+
@Deprecated("use org.modelix.mode.data.*")
7077
data class ReferenceLinkData(
7178
override val uid: String? = null,
7279
override val name: String,

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/MetaModelGenerator.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ import org.modelix.metamodel.*
66
import org.modelix.model.api.*
77
import java.nio.file.Path
88
import kotlin.reflect.KClass
9+
import org.modelix.model.data.LanguageData
10+
import org.modelix.model.data.ConceptData
11+
import org.modelix.model.data.PropertyData
12+
import org.modelix.model.data.ChildLinkData
13+
import org.modelix.model.data.ReferenceLinkData
14+
import org.modelix.model.data.PropertyType
915

1016
private val reservedPropertyNames: Set<String> = setOf(
1117
"constructor", // already exists on JS objects

metamodel-generator/src/main/kotlin/org/modelix/metamodel/generator/TypescriptMMGenerator.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ package org.modelix.metamodel.generator
22

33
import java.nio.file.Path
44
import kotlin.io.path.writeText
5+
import org.modelix.model.data.LanguageData
6+
import org.modelix.model.data.PropertyData
7+
import org.modelix.model.data.ChildLinkData
8+
import org.modelix.model.data.ReferenceLinkData
9+
import org.modelix.model.data.PropertyType
510

611
class TypescriptMMGenerator(val outputDir: Path) {
712

metamodel-generator/src/test/kotlin/org/modelix/metamodel/generator/KotlinGeneratorTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.charleskorn.kaml.Yaml
44
import kotlinx.serialization.decodeFromString
55
import org.junit.Test
66
import java.io.File
7+
import org.modelix.model.data.LanguageData
78

89
class KotlinGeneratorTest {
910

metamodel-gradle/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies {
2929
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
3030

3131
implementation(project(":metamodel-generator"))
32+
implementation(project(":model-api"))
3233
}
3334

3435
// ------------- Download MPS for the functional test ------------------------------------------------------------------
@@ -75,6 +76,7 @@ testing {
7576
dependencies {
7677
// functionalTest test suite depends on the production code in tests
7778
implementation(project)
79+
implementation(project(":model-api"))
7880
implementation(project(":metamodel-generator"))
7981
implementation(project(":metamodel-export-mps"))
8082
}

metamodel-gradle/src/functionalTest/kotlin/org/modelix/metamodel/gradle/MetaModelGradlePluginFunctionalTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
package org.modelix.metamodel.gradle
55

66
import java.io.File
7-
import java.nio.file.Files
87
import kotlin.test.assertTrue
98
import kotlin.test.Test
109
import org.gradle.testkit.runner.GradleRunner
1110
import org.junit.Rule
1211
import org.junit.rules.TemporaryFolder
13-
import org.modelix.metamodel.generator.LanguageData
12+
import org.modelix.model.data.LanguageData
1413

1514
/**
1615
* A simple functional test for the 'org.modelix.metamodel.gradle.greeting' plugin.

metamodel-gradle/src/main/kotlin/org/modelix/metamodel/gradle/GenerateMetaModelSources.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.gradle.api.tasks.InputDirectory
1010
import org.gradle.api.tasks.Optional
1111
import org.gradle.api.tasks.OutputDirectory
1212
import org.gradle.api.tasks.TaskAction
13-
import org.modelix.metamodel.generator.LanguageData
13+
import org.modelix.model.data.LanguageData
1414
import org.modelix.metamodel.generator.LanguageSet
1515
import org.modelix.metamodel.generator.MetaModelGenerator
1616
import org.modelix.metamodel.generator.TypescriptMMGenerator
@@ -39,7 +39,7 @@ abstract class GenerateMetaModelSources @Inject constructor(of: ObjectFactory) :
3939
fun generate() {
4040
var languages: LanguageSet = LanguageSet(exportedLanguagesDir.get().asFile.walk()
4141
.filter { it.extension.lowercase() == "json" }
42-
.map { LanguageData.fromFile(it) }
42+
.map { LanguageData.fromJson(it.readText()) }
4343
.toList())
4444
val previousLanguageCount = languages.getLanguages().size
4545

0 commit comments

Comments
 (0)