From 09c0f7bd18e6cec7f8e37bd2bcac9849636d33d1 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Mon, 11 May 2020 22:03:54 +0200 Subject: Bigliteral serialization in xmi transformation fixed --- .../bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Framework/hu.bme.mit.inf.dslreasoner.logic2ecore') diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend index 92deeae6..08c6b7b7 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend @@ -20,6 +20,8 @@ import org.eclipse.emf.ecore.EcorePackage import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder import java.util.Map +import org.eclipse.emf.ecore.EAttribute +import java.math.BigDecimal class Logic2Ecore { val extension LogicStructureBuilder structureBuilder = new LogicStructureBuilder @@ -92,7 +94,7 @@ class Logic2Ecore { list += l.key } else { try { - sourceObject.eSet(attributeType,l.key) + sourceObject.eSet(attributeType,translateType(attributeType.EAttributeType,l.key)) } catch(Exception e) { e.printStackTrace } @@ -107,6 +109,16 @@ class Logic2Ecore { return element2Object.values.root } + def translateType(EDataType type, Object value) { + if(type == EcorePackage.eINSTANCE.EFloat) { + val bd = value as BigDecimal + return bd.floatValue + } else if( type == EcorePackage.eINSTANCE.EDouble ) { + val bd = value as BigDecimal + return bd.doubleValue + } else return value + } + // if(attributeType.EAttributeType.isSuperTypeOf(targetObject.eClass)) { // val expression = ecore2Logic.IsAttributeValue(forwardTrace,sourceElement,targetElement,attributeType) -- cgit v1.2.3-54-g00ecf