From ceb343120eb62ecb4e35a777116c5dff8ca41479 Mon Sep 17 00:00:00 2001
From: npedot <nicola.pedot@gmail.com>
Date: Wed, 9 Dec 2020 11:20:26 +0100
Subject: [PATCH] fixes changeSet size computation

---
 .../domain/ddl/Schema.kt                      | 19 +++++++++++++++----
 .../domain/dml/ChangeSet.kt                   |  4 +---
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
index 6d6d485..cb8b6fd 100644
--- a/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
+++ b/src/main/kotlin/unibz.cs.semint.kprime/domain/ddl/Schema.kt
@@ -28,6 +28,12 @@ class Schema () {
         return ArrayList()
     }
 
+    fun constraintsByType(type :Constraint.TYPE): Set<Constraint> {
+        var resultCols = mutableSetOf<Column>()
+        return constraints().filter { c ->
+            c.type == type.name }.toSet()
+    }
+
     fun tables():ArrayList<Table> {
         if (tables!=null) return tables as ArrayList<Table>
         return ArrayList()
@@ -54,13 +60,18 @@ class Schema () {
     }
 
     fun addKey(tableName:String, k:Set<Column>): Constraint {
+        val primaryConstraint = buildKey(tableName, k)
+        constraints().add(primaryConstraint)
+        return primaryConstraint
+    }
+
+    fun buildKey(tableName: String, k: Set<Column>): Constraint {
         val primaryConstraint = Constraint()
-        primaryConstraint.name="pkey_$tableName"
-        primaryConstraint.source.table="$tableName"
+        primaryConstraint.name = "pkey_$tableName"
+        primaryConstraint.source.table = "$tableName"
         primaryConstraint.source.columns.addAll(k)
         primaryConstraint.target.columns.addAll(k)
-        primaryConstraint.type= Constraint.TYPE.PRIMARY_KEY.name
-        constraints().add(primaryConstraint)
+        primaryConstraint.type = Constraint.TYPE.PRIMARY_KEY.name
         return primaryConstraint
     }
 
diff --git a/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/ChangeSet.kt b/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/ChangeSet.kt
index a71cfed..3a40b10 100644
--- a/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/ChangeSet.kt
+++ b/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/ChangeSet.kt
@@ -94,9 +94,7 @@ class ChangeSet() {
     }
 
     fun size(): Int {
-        return createView.size +createTable.size + createConstraint.size
-            + dropView.size + dropTable.size + dropConstraint.size
-            + dropMapping.size
+        return createView.size +createTable.size + createConstraint.size + createMapping.size + dropView.size + dropTable.size + dropConstraint.size + dropMapping.size
     }
 
     @JsonIgnore
-- 
GitLab