From 2ae935d3d6c1dcc49c0de8180623c3bed948d489 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Mon, 27 Aug 2018 18:42:47 +0200 Subject: Config supports "diversity-range" parameter --- .../inf/dslreasoner/application/execution/SolverLoader.xtend | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner') 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 2f64fc76..e6f42709 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 @@ -13,6 +13,7 @@ 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) { @@ -75,6 +76,16 @@ class SolverLoader { } else if(solver === Solver::VIATRA_SOLVER) { return new ViatraReasonerConfiguration => [c| c.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualiser + if(config.containsKey("diversity-range")) { + val stringValue = config.get("diversity-range") + try{ + val range = Integer.parseInt(stringValue) + c.diversityRequirement = new DiversityDescriptor => [ + it.ensureDiversity = true + it.range = range + ] + } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')} + } ] } else { throw new UnsupportedOperationException('''Unknown solver: «solver»''') -- cgit v1.2.3-54-g00ecf