From ea2106d5a5b5302c407edc3151c42f8d90f3ed6a Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 12 May 2018 18:42:48 +0200 Subject: derived feature -> partial relation bugfix --- .../InstanceModel2PartialInterpretation.xtend | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend index 761e77b1..9a737ab9 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend @@ -75,7 +75,9 @@ class InstanceModel2PartialInterpretation { val attributesUsed = ecore2Logic.allAttributesInScope(ecore2LogicTrace).toSet for(source : objects) { // Translating the references - for(reference : source.eClass.EAllReferences.filter[referencesUsed.contains(it)]) { + for(reference : source.eClass.EAllReferences.filter[ + referencesUsed.contains(it) && !it.derived]) + { val type = ecore2Logic.relationOfReference(ecore2LogicTrace,reference) val interpretation = type.lookup(partialInterpretationTrace.relation2Interpretation) val sourceElement = source.lookup(object2DefinedElement) @@ -97,7 +99,7 @@ class InstanceModel2PartialInterpretation { } // Transforming the attributes - for(attribute : source.eClass.EAllAttributes.filter[attributesUsed.contains(it)]) { + for(attribute : source.eClass.EAllAttributes.filter[attributesUsed.contains(it) && !it.derived]) { val type = ecore2Logic.relationOfAttribute(ecore2LogicTrace,attribute) val interpretation = type.lookup(partialInterpretationTrace.relation2Interpretation) val sourceElement = source.lookup(object2DefinedElement) @@ -105,7 +107,7 @@ class InstanceModel2PartialInterpretation { val listOfTargets = source.eGet(attribute) as List for(target : listOfTargets) { val value = translateValue(target,ecore2LogicTrace,partialInterpretationTrace) - if(value != null) { + if(value !== null) { translateLink(interpretation,sourceElement,value) } } @@ -113,7 +115,7 @@ class InstanceModel2PartialInterpretation { val target = source.eGet(attribute) if(target !== null) { val value = translateValue(target,ecore2LogicTrace,partialInterpretationTrace) - if(value != null) { + if(value !== null) { translateLink(interpretation,sourceElement,value) } } -- cgit v1.2.3-54-g00ecf