aboutsummaryrefslogtreecommitdiffstats
path: root/Application
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-08 16:45:45 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-08 16:45:45 -0400
commitc33f0b9c4e112ee573d1b26d205a253cc0e487f8 (patch)
tree1ec2c4ab56b5bc0d0d56fa111bab0520c05604b4 /Application
parentFurther development of realistic solver, create generation config for ecore m... (diff)
downloadVIATRA-Generator-c33f0b9c4e112ee573d1b26d205a253cc0e487f8.tar.gz
VIATRA-Generator-c33f0b9c4e112ee573d1b26d205a253cc0e487f8.tar.zst
VIATRA-Generator-c33f0b9c4e112ee573d1b26d205a253cc0e487f8.zip
Configurations for generation and new domain for generation ecore model
Diffstat (limited to 'Application')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend29
1 files changed, 27 insertions, 2 deletions
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
7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
8import hu.bme.mit.inf.dslreasoner.smt.reasoner.SMTSolver 8import hu.bme.mit.inf.dslreasoner.smt.reasoner.SMTSolver
9import hu.bme.mit.inf.dslreasoner.smt.reasoner.SmtSolverConfiguration 9import hu.bme.mit.inf.dslreasoner.smt.reasoner.SmtSolverConfiguration
10import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
11import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.RealisticGuidance
10import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner 12import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
11import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration 13import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
14import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
12import java.util.Map 15import java.util.Map
13import java.util.Optional 16import java.util.Optional
14import org.eclipse.xtext.xbase.lib.Functions.Function1 17import org.eclipse.xtext.xbase.lib.Functions.Function1
15import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
17 18
18class SolverLoader { 19class SolverLoader {
19 def loadSolver(Solver solver, Map<String, String> config) { 20 def loadSolver(Solver solver, Map<String, String> config) {
@@ -86,6 +87,30 @@ class SolverLoader {
86 ] 87 ]
87 } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')} 88 } catch (NumberFormatException e) {console.writeError('''Malformed number format: «e.message»''')}
88 } 89 }
90
91 if(config.containsKey('realistic-guidance')){
92 try{
93 val stringValue = config.get('realistic-guidance');
94 c.realisticGuidance = RealisticGuidance.valueOf(stringValue);
95 }catch(IllegalArgumentException e){
96 console.writeError('''Illegal Guidance Name: «e.message»''')
97 }
98 }
99
100 if(config.containsKey('domain')){
101 val stringValue = config.get('domain');
102 c.domain = stringValue
103 }
104
105 if(config.containsKey('optional-wf')){
106 val stringValue = config.get('optional-wf');
107 c.isWFOptional = Boolean.parseBoolean(stringValue)
108 }
109
110 if(config.containsKey('allow-must-violations')){
111 val stringValue = config.get('allow-must-violations');
112 c.allowMustViolations = Boolean.parseBoolean(stringValue);
113 }
89 ] 114 ]
90 } else { 115 } else {
91 throw new UnsupportedOperationException('''Unknown solver: «solver»''') 116 throw new UnsupportedOperationException('''Unknown solver: «solver»''')