From f85989a12221f6fc434c10f4ca47e4d346cd6c76 Mon Sep 17 00:00:00 2001 From: npedot <nicola.pedot@gmail.com> Date: Mon, 23 Nov 2020 11:46:52 +0100 Subject: [PATCH] adds parse inclusion,double inclusion,multivalued schema constraint --- .../domain/ddl/SchemaCmdParser.kt | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/SchemaCmdParser.kt b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/SchemaCmdParser.kt index 97f1123..c65fb94 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/SchemaCmdParser.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/SchemaCmdParser.kt @@ -12,10 +12,26 @@ object SchemaCmdParser { } fun parseFunctionals(tableName: String,setExpression: String): Set<Constraint> { + return parseConstraint(setExpression, tableName, Constraint.TYPE.FUNCTIONAL.name) + } + + fun parseMultivalued(tableName: String,setExpression: String): Set<Constraint> { + return parseConstraint(setExpression, tableName, Constraint.TYPE.MULTIVALUED.name) + } + + fun parseInclusion(tableName: String,setExpression: String): Set<Constraint> { + return parseConstraint(setExpression, tableName, Constraint.TYPE.INCLUSION.name) + } + + fun parseDoubleInclusion(tableName: String,setExpression: String): Set<Constraint> { + return parseConstraint(setExpression, tableName, Constraint.TYPE.DOUBLE_INCLUSION.name) + } + + private fun parseConstraint(setExpression: String, tableName: String, type:String): Set<Constraint> { val constraintsToAdd = Constraint.set(setExpression) for (constraint in constraintsToAdd) { - constraint.name = tableName + ".functional" - constraint.type = Constraint.TYPE.FUNCTIONAL.name + constraint.name = "$tableName.$type" + constraint.type = type constraint.source.table = tableName constraint.target.table = tableName } -- GitLab