diff --git a/code/java/FlintSources/build.gradle b/code/java/FlintSources/build.gradle index 9c8c96e..9f9b703 100644 --- a/code/java/FlintSources/build.gradle +++ b/code/java/FlintSources/build.gradle @@ -28,7 +28,7 @@ dependencies { implementation "io.ktor:ktor-client-logging:$ktor_version" implementation "io.ktor:ktor-client-core:$ktor_version" - implementation "io.ktor:ktor-client-cio:$ktor_version" + implementation "io.ktor:ktor-client-apache:$ktor_version" implementation "io.ktor:ktor-client-gson:$ktor_version" testImplementation "io.ktor:ktor-client-mock:$ktor_version" diff --git a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/SourceLoader.kt b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/SourceLoader.kt index b01ae86..1f7cbfa 100644 --- a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/SourceLoader.kt +++ b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/SourceLoader.kt @@ -2,11 +2,10 @@ package org.discipl.flint.sources import io.ktor.client.* import io.ktor.client.engine.* -import io.ktor.client.engine.cio.* +import io.ktor.client.engine.apache.* import io.ktor.client.features.* import io.ktor.client.features.json.* import io.ktor.client.features.logging.* -import io.ktor.client.request.* import io.ktor.http.* import org.apache.http.client.HttpClient import org.apache.http.client.config.RequestConfig @@ -27,6 +26,8 @@ import org.discipl.flint.sources.services.triply.SourceServiceImpl import org.discipl.flint.sources.services.triply.TextLineServiceImpl import org.discipl.flint.sources.services.triply.VersionServiceImpl import org.discipl.flint.sources.transformers.* +import org.koin.core.Koin +import org.koin.core.KoinApplication import org.koin.core.component.KoinApiExtension import org.koin.core.component.KoinComponent import org.koin.core.component.inject @@ -36,6 +37,7 @@ import org.koin.dsl.module import java.net.URL import java.util.concurrent.Callable import java.util.concurrent.TimeUnit +import javax.net.ssl.SSLContext internal val demoServiceModule = module { @@ -45,6 +47,7 @@ internal val demoServiceModule = module { } internal val triplyClientsModule = module { + single { SSLContext.getDefault() } single { val timeoutInS = 20 val config = RequestConfig.custom() @@ -53,6 +56,7 @@ internal val triplyClientsModule = module { .setSocketTimeout(timeoutInS * 1000).build() HttpClients.custom() .setConnectionReuseStrategy { _, _ -> false } + .setSSLContext(get()) .setConnectionTimeToLive(timeoutInS.toLong(), TimeUnit.SECONDS) .setDefaultRequestConfig(config) .build() @@ -64,12 +68,13 @@ internal val triplyClientsModule = module { } internal val nsxClientsModule = module(override = true) { + single { SSLContext.getDefault() } single { GsonSerializer { registerTypeAdapter(NsxEmbeddedResult::class.java, NsxEmbeddedResultDeserializer()) } } - single { CIO.create {} } + single { Apache.create { sslContext = get() } } single { HttpClient(get()) { defaultRequest { @@ -98,12 +103,17 @@ internal val nsxClientsModule = module(override = true) { @Suppress("EXPERIMENTAL_API_USAGE") internal val hybridClientModule = module(override = true) { + single { SSLContext.getDefault() } single { GsonSerializer { registerTypeAdapter(NsxEmbeddedResult::class.java, NsxEmbeddedResultDeserializer()) } } - single { CIO.create {} } + single { + Apache.create { + sslContext = get() + } + } single { HttpClient(get()) { defaultRequest { @@ -131,6 +141,7 @@ internal val hybridClientModule = module(override = true) { .setSocketTimeout(timeoutInS * 1000).build() HttpClients.custom() .setConnectionReuseStrategy { _, _ -> false } + .setSSLContext(get()) .setConnectionTimeToLive(timeoutInS.toLong(), TimeUnit.SECONDS) .setDefaultRequestConfig(config) .build() @@ -176,11 +187,22 @@ val serviceModule = hybrideServiceModule @KoinApiExtension object SourceLoader : KoinComponent { - private val koinApp = startKoin { - modules(serviceModule) + private lateinit var koinApp: KoinApplication + fun initWith(sslContext: SSLContext) { + koinApp = startKoin { + modules(serviceModule, module { single(override = true) { sslContext } }) + } + } + + override fun getKoin(): Koin { + if (!this::koinApp.isInitialized) { + koinApp = startKoin { + modules(serviceModule) + } + } + return koinApp.koin } - override fun getKoin() = koinApp.koin val articleService: ArticleService by inject() val asyncArticleService: AsyncArticleService by inject() val parserService: ParserService by inject() diff --git a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/models/Article.kt b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/models/Article.kt index f72acd8..9c4c923 100644 --- a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/models/Article.kt +++ b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/models/Article.kt @@ -3,6 +3,7 @@ package org.discipl.flint.sources.models class Article(override val id: String) : IHasParts { private val _parts = mutableListOf() val name get() = (_parts.first { it is ArticleTitle } as ArticleTitle).text + val nameLineNumber get() = (_parts.first { it is ArticleTitle } as ArticleTitle).lineNr val articleTextParts get() = _parts.filter { it !is ArticleTitle } override val parts: List get() = _parts diff --git a/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/di/TestSourceLoader.kt b/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/di/TestSourceLoader.kt index 3e8ecbe..799aef1 100644 --- a/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/di/TestSourceLoader.kt +++ b/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/di/TestSourceLoader.kt @@ -21,6 +21,7 @@ import org.koin.core.qualifier.Qualifier import org.koin.core.qualifier.named import org.koin.dsl.module import java.util.concurrent.Callable +import javax.net.ssl.SSLContext @Suppress("EXPERIMENTAL_API_USAGE", "EXPERIMENTAL_OVERRIDE") object TestSourceLoader : KoinComponent { diff --git a/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/services/triply/AsyncArticleServiceImplTest.kt b/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/services/triply/AsyncArticleServiceImplTest.kt index 2c26a56..f5398f3 100644 --- a/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/services/triply/AsyncArticleServiceImplTest.kt +++ b/code/java/FlintSources/src/test/kotlin/org/discipl/flint/sources/services/triply/AsyncArticleServiceImplTest.kt @@ -50,7 +50,7 @@ internal class AsyncArticleServiceImplTest { do { Thread.sleep(1000L) status = getStatus() - } while (status != "Ready") + } while (status != "Ready" && status != "ParserInvokerFailed") } val status = getStatus() @@ -113,7 +113,7 @@ internal class AsyncArticleServiceImplTest { do { Thread.sleep(1000L) status = getStatus() - } while (status != "Ready") + } while (status != "Ready" && status != "ParserInvokerFailed") } val status = getStatus() diff --git a/code/java/FlintSources/src/test/resources/logback.xml b/code/java/FlintSources/src/test/resources/logback.xml index e5499f9..29558e5 100644 --- a/code/java/FlintSources/src/test/resources/logback.xml +++ b/code/java/FlintSources/src/test/resources/logback.xml @@ -9,5 +9,5 @@ - + diff --git a/code/languages/Flint/sandbox/models/sources.mps b/code/languages/Flint/sandbox/models/sources.mps index 504eaea..46c5725 100644 --- a/code/languages/Flint/sandbox/models/sources.mps +++ b/code/languages/Flint/sandbox/models/sources.mps @@ -16,6 +16,7 @@ + @@ -57,7 +58,7 @@ - + @@ -67,7 +68,7 @@ - + @@ -77,7 +78,7 @@ - + @@ -87,7 +88,7 @@ - + @@ -97,7 +98,7 @@ - + @@ -107,927 +108,110 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + - - - + + + - - + + - + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + @@ -1037,67 +221,67 @@ - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + @@ -1106,43 +290,44 @@ - + + - - - + + + - + - - + + - + - + - + - - + + - + - + - - + + @@ -1150,13 +335,13 @@ - + - + - - + + @@ -1164,52 +349,53 @@ - + + - - - + + + - - + + - + - + - + - - + + - + - + - - + + - + - + - - + + @@ -1218,115 +404,116 @@ - + + - - - + + + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + @@ -1334,13 +521,13 @@ - + - + - - + + @@ -1348,75 +535,79 @@ - + + - - - + + + - - + + - + + - - - + + + - - + + - + + - - - + + + - - + + - + + - - - + + + - + - - + + - + - + - - + + @@ -1424,51 +615,53 @@ - + + - - - + + + - - + + - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -1476,78 +669,79 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -1555,51 +749,52 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -1607,305 +802,306 @@ - + + - - - - - - + + + + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -1913,78 +1109,79 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -1992,67 +1189,68 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2060,43 +1258,43 @@ - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -2104,61 +1302,61 @@ - - - - + + + + - - - - - - - + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2168,45 +1366,46 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2214,46 +1413,47 @@ - + + - - - - - + + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + @@ -2261,132 +1461,133 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2394,42 +1595,44 @@ - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -2437,104 +1640,105 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - + + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2542,147 +1746,148 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2690,220 +1895,221 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -2913,114 +2119,115 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3028,142 +2235,144 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3173,69 +2382,70 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3243,75 +2453,77 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3319,63 +2531,64 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3383,69 +2596,70 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3453,181 +2667,182 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3637,36 +2852,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -3674,36 +2890,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -3711,36 +2928,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -3748,69 +2966,70 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3818,103 +3037,104 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3922,75 +3142,75 @@ - - - - + + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -3998,162 +3218,164 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4161,93 +3383,95 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4255,87 +3479,88 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4343,69 +3568,70 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4413,165 +3639,166 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4579,105 +3806,106 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4685,96 +3913,97 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4782,63 +4011,64 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4846,69 +4076,70 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -4916,204 +4147,205 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5121,96 +4353,97 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5218,81 +4451,82 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5300,147 +4534,148 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5448,140 +4683,142 @@ - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - + + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5589,120 +4826,121 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5710,183 +4948,184 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5894,91 +5133,93 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -5986,56 +5227,56 @@ - - - - + + + + - - - + + + - - - + + + - - - - + + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6043,53 +5284,54 @@ - + + - - - - - - + + + + + + - - - + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6097,45 +5339,46 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6143,63 +5386,64 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6207,106 +5451,107 @@ - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6314,78 +5559,79 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6393,36 +5639,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -6430,63 +5677,64 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6494,240 +5742,241 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -6735,288 +5984,289 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7024,132 +6274,134 @@ - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7157,105 +6409,106 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7263,72 +6516,73 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7336,162 +6590,164 @@ - + + - - - - - - + + + + + + - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7499,87 +6755,88 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7587,45 +6844,46 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7633,86 +6891,88 @@ - + + - - - - - - + + + + + + - - - - + + + + - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -7720,27 +6980,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -7748,267 +7009,268 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8016,27 +7278,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8044,27 +7307,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8072,27 +7336,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8100,51 +7365,52 @@ - + + - - - - - - - - - + + + + + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8152,121 +7418,122 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8276,27 +7543,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8304,27 +7572,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8332,45 +7601,46 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8378,27 +7648,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8406,27 +7677,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8434,36 +7706,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -8471,63 +7744,64 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8535,252 +7809,253 @@ - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8788,27 +8063,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8816,36 +8092,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -8853,66 +8130,69 @@ - + + - - - - - - + + + + + + - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -8920,45 +8200,46 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -8966,27 +8247,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -8994,27 +8276,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -9022,54 +8305,55 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -9077,36 +8361,37 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + @@ -9114,27 +8399,28 @@ - + + - - - - - + + + + + - - - + + + - + - - - + + + @@ -9142,99 +8428,102 @@ - + + - - - - - - + + + + + + - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - - - - - + + + + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + @@ -9242,51 +8531,53 @@ - + + - - - - - - + + + + + + - + + - - - - - + + + + + - - - + + + - + - - - + + + - - - - + + + + diff --git a/code/languages/LawSource/models/LawSource.behavior.mps b/code/languages/LawSource/models/LawSource.behavior.mps index 2a13bd2..edf39ef 100644 --- a/code/languages/LawSource/models/LawSource.behavior.mps +++ b/code/languages/LawSource/models/LawSource.behavior.mps @@ -44,6 +44,7 @@ + @@ -1028,6 +1029,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1515,6 +1789,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/LawSource/models/LawSource.editor.mps b/code/languages/LawSource/models/LawSource.editor.mps index b1a49e0..761766e 100644 --- a/code/languages/LawSource/models/LawSource.editor.mps +++ b/code/languages/LawSource/models/LawSource.editor.mps @@ -97,6 +97,9 @@ + + + @@ -387,6 +390,21 @@ + + + + + + + + + + + + + + + diff --git a/code/languages/LawSource/models/LawSource.structure.mps b/code/languages/LawSource/models/LawSource.structure.mps index 9ded200..932de13 100644 --- a/code/languages/LawSource/models/LawSource.structure.mps +++ b/code/languages/LawSource/models/LawSource.structure.mps @@ -176,6 +176,11 @@ + + + + + diff --git a/code/solutions/Flint.build0/models/Flint.build.mps b/code/solutions/Flint.build0/models/Flint.build.mps index 916fde9..a193b7a 100644 --- a/code/solutions/Flint.build0/models/Flint.build.mps +++ b/code/solutions/Flint.build0/models/Flint.build.mps @@ -1339,7 +1339,7 @@ - + @@ -2685,16 +2685,6 @@ - - - - - - - - - - @@ -2775,16 +2765,6 @@ - - - - - - - - - - @@ -2795,6 +2775,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/Flint.plugin/models/Flint.plugin.plugin.mps b/code/solutions/Flint.plugin/models/Flint.plugin.plugin.mps index 2fab772..44b39ae 100644 --- a/code/solutions/Flint.plugin/models/Flint.plugin.plugin.mps +++ b/code/solutions/Flint.plugin/models/Flint.plugin.plugin.mps @@ -82,6 +82,8 @@ + + @@ -1247,12 +1249,6 @@ - - - - - - @@ -18550,6 +18546,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/Flint.runtime/Flint.runtime.msd b/code/solutions/Flint.runtime/Flint.runtime.msd index 788952f..35e6413 100644 --- a/code/solutions/Flint.runtime/Flint.runtime.msd +++ b/code/solutions/Flint.runtime/Flint.runtime.msd @@ -52,6 +52,9 @@ + + + @@ -95,7 +98,6 @@ - @@ -104,9 +106,11 @@ - + + + diff --git a/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps b/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps index c5603bc..5ba24c3 100644 --- a/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps +++ b/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps @@ -1801,7 +1801,7 @@ - + @@ -1810,8 +1810,8 @@ - - + +