From e01bc17c650947b8495b2c76a4696f22f9f8ed9c Mon Sep 17 00:00:00 2001 From: npedot <nicola.pedot@gmail.com> Date: Wed, 15 Jan 2020 10:18:26 +0100 Subject: [PATCH] refacts sakila scenario from starter --- pom.xml | 2 +- .../unibz.cs.semint.kprime/SakilaScenario.kt | 50 +++++++++++++++++ .../kotlin/unibz.cs.semint.kprime/Starter.kt | 56 ++++--------------- .../unibz.cs.semint.kprime/StarterTI.kt | 22 ++++++++ .../unibz.cs.semint.kprime/StarterTest.kt | 14 ----- 5 files changed, 83 insertions(+), 61 deletions(-) create mode 100644 src/main/kotlin/unibz.cs.semint.kprime/SakilaScenario.kt create mode 100644 src/test/kotlin/unibz.cs.semint.kprime/StarterTI.kt delete mode 100644 src/test/kotlin/unibz.cs.semint.kprime/StarterTest.kt diff --git a/pom.xml b/pom.xml index 6880245..0221a52 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ <version>1.0-SNAPSHOT</version> <properties> - <main.class>unibz.cs.semint.kprime.StarterKt</main.class> + <main.class>unibz.cs.semint.kprime.Starter</main.class> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> diff --git a/src/main/kotlin/unibz.cs.semint.kprime/SakilaScenario.kt b/src/main/kotlin/unibz.cs.semint.kprime/SakilaScenario.kt new file mode 100644 index 0000000..cf7f9ce --- /dev/null +++ b/src/main/kotlin/unibz.cs.semint.kprime/SakilaScenario.kt @@ -0,0 +1,50 @@ +package unibz.cs.semint.kprime + +import unibz.cs.semint.kprime.adapter.repository.MetaSchemaJdbcAdapter +import unibz.cs.semint.kprime.adapter.service.XMLSerializerJacksonAdapter +import unibz.cs.semint.kprime.domain.DataSource +import unibz.cs.semint.kprime.domain.Database +import unibz.cs.semint.kprime.usecase.MetaSchemaReadUseCase + +class SakilaScenario { + + fun run() { + val sakilaMeta = readSakilaMeta() + if (sakilaMeta!=null) { + vsplitSakila(sakilaMeta) + hsplitSakila(sakilaMeta) + identifySakila(sakilaMeta) + } + } + + private fun readSakilaMeta(): Database? { + val type = "psql" + val name = "sakila-source" + val driver = "org.postgresql.Driver" + val path = "jdbc:postgresql://localhost:5432/sakila" + val user = "sammy" + val pass = "pass" + val sakilaSource = DataSource(type,name,driver,path,user,pass) + val result = MetaSchemaReadUseCase().doit(sakilaSource, + "read-meta-schema sakila-source", + MetaSchemaJdbcAdapter(), + XMLSerializerJacksonAdapter()) + return result.ok + } + + private fun vsplitSakila(db: Database) { + // if detect(db):result + // apply(db,result):db + } + + private fun hsplitSakila(db: Database) { + // if detect(db):result + // apply(db,result):db + } + + private fun identifySakila(db: Database) { + // if detect(db):result + // apply(db,result):db + } + +} \ No newline at end of file diff --git a/src/main/kotlin/unibz.cs.semint.kprime/Starter.kt b/src/main/kotlin/unibz.cs.semint.kprime/Starter.kt index 29b40c9..4ddb1c8 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/Starter.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/Starter.kt @@ -1,54 +1,18 @@ package unibz.cs.semint.kprime -import unibz.cs.semint.kprime.adapter.repository.MetaSchemaJdbcAdapter -import unibz.cs.semint.kprime.adapter.service.XMLSerializerJacksonAdapter -import unibz.cs.semint.kprime.domain.DataSource -import unibz.cs.semint.kprime.domain.Database -import unibz.cs.semint.kprime.usecase.MetaSchemaReadUseCase - class Starter { + companion object { - fun main(args:Array<String>) { - val version = "0.1.0-SNAPSHOT" - println("KPrime $version") - val sakilaMeta = readSakilaMeta() - if (sakilaMeta!=null) { - vsplitSakila(sakilaMeta) - hsplitSakila(sakilaMeta) - identifySakila(sakilaMeta) - } - } - - - fun readSakilaMeta():Database? { - val type = "psql" - val name = "sakila-source" - val driver = "org.postgresql.Driver" - val path = "jdbc:postgresql://localhost:5432/sakila" - val user = "sammy" - val pass = "pass" - val sakilaSource = DataSource(type,name,driver,path,user,pass) - val result = MetaSchemaReadUseCase().doit(sakilaSource, - "read-meta-schema sakila-source", - MetaSchemaJdbcAdapter(), - XMLSerializerJacksonAdapter()) - return result.ok - } - - fun vsplitSakila(db:Database) { - // if detect(db):result - // apply(db,result):db - } - - fun hsplitSakila(db:Database) { - // if detect(db):result - // apply(db,result):db - } + /** + * Reads arguments from command lines and eventually gives then as scenario parameters. + */ + fun main(args:Array<String>) { + val version = "0.1.0-SNAPSHOT" + println("KPrime $version") + SakilaScenario().run() + } - fun identifySakila(db:Database) { - // if detect(db):result - // apply(db,result):db - } + } } \ No newline at end of file diff --git a/src/test/kotlin/unibz.cs.semint.kprime/StarterTI.kt b/src/test/kotlin/unibz.cs.semint.kprime/StarterTI.kt new file mode 100644 index 0000000..60862e4 --- /dev/null +++ b/src/test/kotlin/unibz.cs.semint.kprime/StarterTI.kt @@ -0,0 +1,22 @@ +package unibz.cs.semint.kprime + +import org.junit.Test +import org.junit.Assert.* + +/** + * Applies Starter to local Sakila Postgres Example. + */ +class StarterTI { + + @Test + fun test_starter() { + // given + val args = arrayOf<String>() + // when + Starter.main(args) + // then + assertEquals("Alfa", "Alfa") + } + +} + diff --git a/src/test/kotlin/unibz.cs.semint.kprime/StarterTest.kt b/src/test/kotlin/unibz.cs.semint.kprime/StarterTest.kt deleted file mode 100644 index 5560b19..0000000 --- a/src/test/kotlin/unibz.cs.semint.kprime/StarterTest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package unibz.cs.semint.kprime - -import org.junit.Test -import org.junit.Assert.* - -class StarterTest { - - @Test - fun test_starter() { - assertEquals("Alfa", "Alfa") - } - -} - -- GitLab