From 8cc0a2b7b4ff2e85f16f88116c7f81355dfcfe64 Mon Sep 17 00:00:00 2001 From: npedot <nicola.pedot@gmail.com> Date: Wed, 18 Mar 2020 20:54:32 +0100 Subject: [PATCH] returns more information in applicability --- .../usecase/common/XPathTransformUseCase.kt | 4 ++-- .../usecase/current/TransformerXUseCase.kt | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/XPathTransformUseCase.kt b/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/XPathTransformUseCase.kt index 8065f11..80e744f 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/XPathTransformUseCase.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/XPathTransformUseCase.kt @@ -195,9 +195,9 @@ class XPathTransformUseCase { val pathCondition = pathTokens[1] val pathSize = pathTokens[2].toInt() if (pathCondition == ">") - if ((templModel[name])!!.size <= pathSize) violation = "violation: ${templModel[name]} size <= ${pathSize}" + if ((templModel[name])!!.size <= pathSize) violation = "violation: ${name}:${xPaths.getProperty(name)} ${templModel[name]} size <= ${pathSize}" if (pathCondition == "=") - if ((templModel[name])!!.size != pathSize) violation = "violation: ${templModel[name]} size != ${pathSize}" + if ((templModel[name])!!.size != pathSize) violation = "violation: ${name}:${xPaths.getProperty(name)} ${templModel[name]} size != ${pathSize}" } } } diff --git a/src/main/kotlin/unibz.cs.semint.kprime/usecase/current/TransformerXUseCase.kt b/src/main/kotlin/unibz.cs.semint.kprime/usecase/current/TransformerXUseCase.kt index 07d71eb..5eaf742 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/usecase/current/TransformerXUseCase.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/usecase/current/TransformerXUseCase.kt @@ -102,8 +102,18 @@ class TransformerXUseCase( val dbFilePath = workingDir + db.name if (!File(dbFilePath).isFile) return Applicability(false,"db name ${dbFilePath} not exists", transformerParams) - val (mutableMap, violation) = xpathTransform.getTemplateModel(dbFilePath, xPathProperties, transformerParams) - return Applicability(violation.isEmpty(),"decomposeApplicable ${violation.isEmpty()} ${violation}", transformerParams) + var message = "" + var applicable = false + var mutableMap = mutableMapOf<String,Any>() + try { + val (templateMap, violation) = xpathTransform.getTemplateModel(dbFilePath, xPathProperties, transformerParams) + applicable = violation.isEmpty() + message = "decomposeApplicable ${violation.isEmpty()} ${violation}" + mutableMap = templateMap as MutableMap<String, Any> + } catch (e:Exception) { + message = e.localizedMessage + } + return Applicability(applicable, message, mutableMap) } override fun composeApplicable(db: Database, transformationStrategy: TransformationStrategy): Applicability { -- GitLab