From 5a286dab2c1d23e16aad6e96e3ad93d0e15cb931 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 27 Sep 2017 21:10:32 +0200 Subject: PS with outgoing references to excluded objects are supported now --- .../InstanceModel2PartialInterpretation.xtend | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend') 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 1bda1f49..d9c1b8f6 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 @@ -82,8 +82,10 @@ class InstanceModel2PartialInterpretation { if(reference.isMany) { val listOfTargets = source.eGet(reference) as List for(target : listOfTargets) { - val targetElement = target.lookup(object2DefinedElement) - translateLink(interpretation,sourceElement,targetElement) + if(target !== null && object2DefinedElement.containsKey(target)) { + val targetElement = target.lookup(object2DefinedElement) + translateLink(interpretation,sourceElement,targetElement) + } } } else { val target = source.eGet(reference) as EObject @@ -95,7 +97,7 @@ class InstanceModel2PartialInterpretation { } // Transforming the attributes - for(attribute : source.eClass.EAllAttributes.filter[referencesUsed.contains(it)]) { + for(attribute : source.eClass.EAllAttributes.filter[attributesUsed.contains(it)]) { val type = ecore2Logic.relationOfAttribute(ecore2LogicTrace,attribute) val interpretation = type.lookup(partialInterpretationTrace.relation2Interpretation) val sourceElement = source.lookup(object2DefinedElement) -- cgit v1.2.3-70-g09d2