Skip to content
Snippets Groups Projects
Commit 123b9bf0 authored by npedot's avatar npedot
Browse files

sakila rafact scenario

parent f0c691f7
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,8 @@ import unibz.cs.semint.kprime.usecase.current.TransformerHUseCase
import unibz.cs.semint.kprime.usecase.current.TransformerVUseCase
import unibz.cs.semint.kprime.usecase.service.FileIOService
import unibz.cs.semint.kprime.usecase.service.IXMLSerializerService
import java.util.*
import kotlin.collections.ArrayList
class OptimusUseCase {
......@@ -56,7 +58,12 @@ class OptimusUseCase {
return Pair(dbTrasformable11, trasformable11)
}
private fun userAknowledge(message: Any): Boolean {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
private fun userAknowledge(message: String): Boolean {
println()
println(message)
println("Y/N")
val reader = Scanner(System.`in`)
val response = reader.next()
return response.toUpperCase().equals("Y")
}
}
\ No newline at end of file
......@@ -19,12 +19,12 @@ class TransformerHUseCase : TransformerUseCase {
override fun decomposeApplicable(): Applicability {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return Applicability(true,"TransformerHUseCase.decomposeApplicable")
return Applicability(false,"TransformerHUseCase.decomposeApplicable")
}
override fun composeApplicable(): Applicability {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return Applicability(true,"TransformerHUseCase.composeApplicable")
return Applicability(false,"TransformerHUseCase.composeApplicable")
}
}
\ No newline at end of file
......@@ -32,16 +32,17 @@ class TransformerVUseCase(serializer: IXMLSerializerService, fileIOAdapter: File
override fun compose(db: Database, vararg params:String): Transformation {
val changeSet = VJoinUseCase().compute(db)
return Transformation(changeSet, ApplyChangeSetUseCase(serializer).apply(db,changeSet))
val newdb = ApplyChangeSetUseCase(serializer).apply(db, changeSet)
return Transformation(changeSet, newdb)
}
override fun decomposeApplicable(): Applicability {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
// TODO("not implemented decompose applicable logic.")
return Applicability(true,"TransformerVUseCase.decomposeApplicable")
}
override fun composeApplicable(): Applicability {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
// TODO("not implemented compose applicable logic.")
return Applicability(true,"TransformerVUseCase.composeApplicable")
}
......
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")
}
}
package unibz.cs.semint.kprime.scenario
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.ddl.Database
import unibz.cs.semint.kprime.usecase.common.MetaSchemaReadUseCase
fun readMeta(sakilaSource: DataSource): Database? {
val result = MetaSchemaReadUseCase().doit(sakilaSource,
"read-meta-schema sakila-source",
MetaSchemaJdbcAdapter(),
XMLSerializerJacksonAdapter())
return result.ok
}
fun sakilaDataSource(): DataSource {
val user = System.getenv()["sakila_user"] ?: ""//"npedot"
val pass = System.getenv()["sakila_pass"] ?: ""//"password"
val sakilaSource = DataSource(
"psql",
"sakila-source",
"org.postgresql.Driver",
"jdbc:postgresql://localhost:5432/sakila", user, pass)
return sakilaSource
}
......@@ -68,23 +68,5 @@ class SakilaRefactTI {
}
private fun readMeta(sakilaSource: DataSource): Database? {
val result = MetaSchemaReadUseCase().doit(sakilaSource,
"read-meta-schema sakila-source",
MetaSchemaJdbcAdapter(),
XMLSerializerJacksonAdapter())
return result.ok
}
private fun sakilaDataSource(): DataSource {
val user = System.getenv()["sakila_user"] ?: ""//"npedot"
val pass = System.getenv()["sakila_pass"] ?: ""//"password"
val sakilaSource = DataSource(
"psql",
"sakila-source",
"org.postgresql.Driver",
"jdbc:postgresql://localhost:5432/sakila", user, pass)
return sakilaSource
}
}
\ No newline at end of file
package unibz.cs.semint.kprime.usecase
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Test
import unibz.cs.semint.kprime.Starter
import unibz.cs.semint.kprime.adapter.file.FileIOAdapter
import unibz.cs.semint.kprime.adapter.service.XMLSerializerJacksonAdapter
import unibz.cs.semint.kprime.scenario.readMeta
import unibz.cs.semint.kprime.scenario.sakilaDataSource
/**
* Applies Starter to local Sakila Postgres Example.
*/
class OptimusUseCaseTI {
@Test
fun test_starter() {
// given
val database = readMeta(sakilaDataSource())
if (database==null) {
Assert.fail("no database to test")
return
};
// when
val newdb = OptimusUseCase(
XMLSerializerJacksonAdapter(),
FileIOAdapter()
).transfom(database)
// then
assertNotNull(newdb)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment