From c33f0b9c4e112ee573d1b26d205a253cc0e487f8 Mon Sep 17 00:00:00 2001 From: 20001LastOrder Date: Thu, 8 Aug 2019 16:45:45 -0400 Subject: Configurations for generation and new domain for generation ecore model --- .../application/execution/SolverLoader.xtend | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'Application') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend index a9573fbf..bed0b3cf 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend @@ -7,13 +7,14 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Solver import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration import hu.bme.mit.inf.dslreasoner.smt.reasoner.SMTSolver import hu.bme.mit.inf.dslreasoner.smt.reasoner.SmtSolverConfiguration +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.RealisticGuidance import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import java.util.Map import java.util.Optional import org.eclipse.xtext.xbase.lib.Functions.Function1 -import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor class SolverLoader { def loadSolver(Solver solver, Map config) { @@ -86,6 +87,30 @@ class SolverLoader { ] } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')} } + + if(config.containsKey('realistic-guidance')){ + try{ + val stringValue = config.get('realistic-guidance'); + c.realisticGuidance = RealisticGuidance.valueOf(stringValue); + }catch(IllegalArgumentException e){ + console.writeError('''Illegal Guidance Name: «e.message»''') + } + } + + if(config.containsKey('domain')){ + val stringValue = config.get('domain'); + c.domain = stringValue + } + + if(config.containsKey('optional-wf')){ + val stringValue = config.get('optional-wf'); + c.isWFOptional = Boolean.parseBoolean(stringValue) + } + + if(config.containsKey('allow-must-violations')){ + val stringValue = config.get('allow-must-violations'); + c.allowMustViolations = Boolean.parseBoolean(stringValue); + } ] } else { throw new UnsupportedOperationException('''Unknown solver: «solver»''') -- cgit v1.2.3-54-g00ecf