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 8065f11057147fec98fe41ac3b31c87054183f14..80e744f8c5e20ed76031e680c0050a17b53049f8 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 07d71ebdbcdae69fa459af538fb134d5d9560ebe..5eaf74240ea8c1c08baed3f456fc562793143973 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 {