diff --git a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt index 26323e021e7fa5dfae7f3a335e0ef7f7df0338af..58eab26d73ebf5e7f769fa816c128ff967e59901 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt @@ -3,23 +3,15 @@ package unibz.cs.semint.kprime.scenario import unibz.cs.semint.kprime.adapter.service.XMLSerializerJacksonAdapter import unibz.cs.semint.kprime.domain.* import unibz.cs.semint.kprime.usecase.XMLSerializeUseCase -import javax.xml.crypto.Data class PersonVSplitScenario { fun run() { val personMetadata = buildPersonMetadata() - print(XMLSerializeUseCase(XMLSerializerJacksonAdapter()).prettyDatabase(personMetadata).ok) - vsplitSakila(personMetadata) + vsplitPersonMetadata(personMetadata) } - private fun vsplitSakila(personMetadata: Database) { - val detected = detect(personMetadata) - if (detected.ok!=null) - apply(personMetadata,detected) - } - private fun buildPersonMetadata(): Database { val db = Database() val personTable = Table() @@ -35,10 +27,26 @@ class PersonVSplitScenario { primaryConstraint.name="primaryKey.person" primaryConstraint.source.columns.add(colSSN) primaryConstraint.source.columns.add(colT) + primaryConstraint.type=Constraint.TYPE.PRIMARY_KEY.name db.schema.constraints.add(primaryConstraint) return db } + private fun vsplitPersonMetadata(personMetadata: Database) { + printDb(personMetadata) + val detected = detect(personMetadata) + if (detected.ok!=null) { + val applied = apply(personMetadata, detected) + if (applied.ok!=null) printDb(applied.ok) + } + } + + private fun printDb(db:Database) { + println() + println("--------------------------------------------------------------------------") + println(XMLSerializeUseCase(XMLSerializerJacksonAdapter()).prettyDatabase(db)) + } + private fun detect(personMetadata: Database): UseCaseResult<Database> { return UseCaseResult("done detect",personMetadata) } @@ -46,5 +54,4 @@ class PersonVSplitScenario { private fun apply(personMetadata: Database, detected: UseCaseResult<Database>): UseCaseResult<Database>{ return UseCaseResult("done apply", personMetadata) } - } \ No newline at end of file