From eb081453e93e6e30c0b6bb92400275529ed3273b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 20 May 2020 02:07:37 +0200 Subject: Fix attribute export to xmi --- .../dse/PartialModelAsLogicInterpretation.xtend | 63 ++++++++++++++++++++-- 1 file changed, 60 insertions(+), 3 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend index f61c7333..48922f5d 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend @@ -1,5 +1,6 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse +import com.google.common.collect.ImmutableMap import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement @@ -153,14 +154,70 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ } override getAllIntegersInStructure() { - new TreeSet(this.integerForwardTrace.keySet) + new TreeSet(allIntegersWithInterpretation.values) + } + + override getAllIntegersWithInterpretation() { + val builder = new HashMap + for (entry : integerForwardTrace.entrySet) { + builder.put(entry.value, entry.key) + } + for (element : partialInterpretation.newElements) { + if (element instanceof IntegerElement) { + builder.put(element, element.value) + } + } + builder } override getAllRealsInStructure() { - new TreeSet(this.realForwardTrace.keySet) + new TreeSet(allRealsWithInterpretation.values) + } + + override getAllRealsWithInterpretation() { + val builder = new HashMap + for (entry : realForwardTrace.entrySet) { + builder.put(entry.value, entry.key) + } + for (element : partialInterpretation.newElements) { + if (element instanceof RealElement) { + builder.put(element, element.value) + } + } + builder } override getAllStringsInStructure() { - new TreeSet(this.stringForwardTrace.keySet) + new TreeSet(allStringsWithInterpretation.values) + } + + override getAllStringsWithInterpretation() { + val builder = new HashMap + for (entry : stringForwardTrace.entrySet) { + builder.put(entry.value, entry.key) + } + for (element : partialInterpretation.newElements) { + if (element instanceof StringElement) { + builder.put(element, element.value) + } + } + builder + } + + override getAllBooleansInStructure() { + new TreeSet(allBooleansWithInterpretation.values) + } + + override getAllBooleansWithInterpretation() { + val builder = new HashMap + for (entry : booleanForwardTrace.entrySet) { + builder.put(entry.value, entry.key) + } + for (element : partialInterpretation.newElements) { + if (element instanceof BooleanElement) { + builder.put(element, element.value) + } + } + builder } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf