diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index ebc1942..56c0dda 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -10,7 +10,7 @@ jobs:
DISPLAY: :0
strategy:
matrix:
- os: [ ubuntu-16.04, macos-latest, windows-latest ]
+ os: [ ubuntu-20.04, macos-latest, windows-latest ]
name: Run Tests
runs-on: ${{ matrix.os }}
steps:
@@ -22,7 +22,7 @@ jobs:
- name: Check java
run: java --version
- name: Setup xvfb (Linux)
- if: ${{ matrix.os == 'ubuntu-16.04' }}
+ if: ${{ matrix.os == 'ubuntu-20.04' }}
run: |
sudo apt-get install -y xvfb
sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 &
@@ -33,7 +33,7 @@ jobs:
arguments: --no-parallel initProject test
gradle-version: wrapper
- name: Tests failed
- if: ${{ matrix.os == 'ubuntu-16.04' && failure() }}
+ if: ${{ matrix.os == 'ubuntu-20.04' && failure() }}
run: sudo apt-get install lynx && if [ -f ./code/build/reports/html/junit-noframes.html ]; then lynx -dump ./code/build/reports/html/junit-noframes.html; fi && if [ -f ./code/java/FlintParser/build/reports/tests/test/index.html ]; then lynx -dump ./code/java/FlintParser/build/reports/tests/test/index.html; fi && if [ -f ./code/java/FlintParser/build/reports/tests/test/classes/org.discipl.flint.flintfiller.FlintFillerTest.html ]; then lynx -dump ./code/java/FlintParser/build/reports/tests/test/classes/org.discipl.flint.flintfiller.FlintFillerTest.html; fi
- name: Upload Test Results
if: ${{ always() }}
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 8dc4293..1bec35e 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -4,15 +4,7 @@
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index b119ea6..5f3d50e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
buildscript {
repositories {
maven {
- url = uri("https://projects.itemis.de/nexus/content/repositories/mbeddr")
+ url = uri("https://discplmirror.jfrog.io/artifactory/itemis")
}
mavenCentral()
}
@@ -92,7 +92,8 @@ dependencies {
artifact "com.mbeddr:platform:$mbeddr_version"
mps("com.jetbrains:mps:$mps_version")
- antLib("org.apache.ant:ant-junit:1.10.10")
+ // antLib("org.apache.ant:ant-junit:1.10.10")
+ antLib("org.apache.ant:ant-junit:1.10.12")
mpsGenLib "org.openjfx:javafx-base:$javafx_version:$current_platform"
mpsGenLib "org.openjfx:javafx-controls:$javafx_version:$current_platform"
diff --git a/code/.mps/modules.xml b/code/.mps/modules.xml
index f988afa..a3664eb 100644
--- a/code/.mps/modules.xml
+++ b/code/.mps/modules.xml
@@ -12,6 +12,7 @@
+
\ No newline at end of file
diff --git a/code/java/FlintSources/build.gradle b/code/java/FlintSources/build.gradle
index 66bcded..d0d4876 100644
--- a/code/java/FlintSources/build.gradle
+++ b/code/java/FlintSources/build.gradle
@@ -19,7 +19,8 @@ dependencies {
implementation 'org.apache.commons:commons-exec:1.3'
implementation('org.apache.jena:jena-arq:4.0.0')
- implementation 'org.jsoup:jsoup:1.13.1'
+ // implementation 'org.jsoup:jsoup:1.13.1'
+ implementation 'org.jsoup:jsoup:1.14.3'
implementation "org.koin:koin-core:$koin_version"
testImplementation 'ch.qos.logback:logback-core:1.2.3'
diff --git a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/clients/VersionClientImpl.kt b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/clients/VersionClientImpl.kt
index 1692a91..f875a8b 100644
--- a/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/clients/VersionClientImpl.kt
+++ b/code/java/FlintSources/src/main/kotlin/org/discipl/flint/sources/clients/VersionClientImpl.kt
@@ -77,8 +77,8 @@ class VersionClientImpl(private val queryExecutor: QueryExecutor) : VersionClien
private fun getFullyMappedBWBVersion(mappedBWBVersion: MappedBWBVersion): FullyMappedBWBVersion {
val document = Jsoup.parse(URI(mappedBWBVersion.wettenNl).toURL(), 10000)
val firstArticleHeader = document.getElementsByClass("article__header--law article__header--main").first()
- val firstParagraph = firstArticleHeader.getElementsByTag("p").first()
- val name = firstParagraph.text().substringAfter("Geldend van ")
+ val firstParagraph = firstArticleHeader?.getElementsByTag("p")?.first()
+ val name = firstParagraph?.text()?.substringAfter("Geldend van ") ?: ""
// TODO end date can be heden
val endDate = name.substringAfter("t/m ").split("-").reversed().joinToString("-")
return FullyMappedBWBVersion(mappedBWBVersion, name, endDate)
diff --git a/code/languages/Flint/models/Flint.editor.mps b/code/languages/Flint/models/Flint.editor.mps
index fd86681..aa192d4 100644
--- a/code/languages/Flint/models/Flint.editor.mps
+++ b/code/languages/Flint/models/Flint.editor.mps
@@ -1632,7 +1632,7 @@
-
+
diff --git a/code/solutions/Flint.build0/models/Flint.build.mps b/code/solutions/Flint.build0/models/Flint.build.mps
index 62d8cd8..d0d47d2 100644
--- a/code/solutions/Flint.build0/models/Flint.build.mps
+++ b/code/solutions/Flint.build0/models/Flint.build.mps
@@ -1332,7 +1332,7 @@
-
+
@@ -1574,15 +1574,15 @@
-
-
-
-
-
+
+
+
+
+
@@ -1787,6 +1787,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2086,16 +2098,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -2270,11 +2272,6 @@
-
-
-
-
-
@@ -3070,6 +3067,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/solutions/FlintView.plugin/FlintView.plugin.msd b/code/solutions/FlintView.plugin/FlintView.plugin.msd
new file mode 100644
index 0000000..0252f8a
--- /dev/null
+++ b/code/solutions/FlintView.plugin/FlintView.plugin.msd
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)
+ b0f8641f-bd77-4421-8425-30d9088a82f7(org.apache.commons)
+ 86441d7a-e194-42da-81a5-2161ec62a379(MPS.Workbench)
+ 498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)
+ 8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
+ ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)
+ 6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)
+ 69940819-10c1-4a38-ac44-700b63f993ba(Flint)
+ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
+ 5c67d0a6-96e9-4056-be57-e594d54526b0(com.mbeddr.mpsutil.projectview.views)
+ 732373f1-0d48-4122-bb43-c1606db4baca(com.mbeddr.mpsutil.projectview.runtime)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps b/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps
new file mode 100644
index 0000000..3cd5770
--- /dev/null
+++ b/code/solutions/FlintView.plugin/models/FlintView.plugin.plugin.mps
@@ -0,0 +1,1292 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md
index dffba5d..a9773d4 100644
--- a/docs/USER_GUIDE.md
+++ b/docs/USER_GUIDE.md
@@ -27,6 +27,11 @@ This is the MPS Flint IDE user guide. The Guide covers the following topics.
) in the dialog and hit OK.
![Import From Wetten.nl Dialog](images/importfromwettennldialog.png)
+## [Optional] Use the FlintView
+1. Left click on the "Logical View"
+1. Select "FlintView" from the dropdown menu
+![Select FlintView](images/FlintView.png)
+
## Editing a FlintModel
1. Open the created FlintModel using the navigation menu.
![Created Flint Model](images/openmodel.png)
diff --git a/docs/images/FlintView.png b/docs/images/FlintView.png
new file mode 100644
index 0000000..7938245
Binary files /dev/null and b/docs/images/FlintView.png differ
diff --git a/settings.gradle b/settings.gradle
index 896ace1..67834f2 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,7 +1,7 @@
pluginManagement {
repositories {
maven {
- url = uri("https://projects.itemis.de/nexus/content/repositories/OS/")
+ url = uri("https://discplmirror.jfrog.io/artifactory/itemis")
}
gradlePluginPortal()
}