aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend19
1 files changed, 8 insertions, 11 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend
index aa98e268..c3ba9f81 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend
@@ -2,8 +2,6 @@ package hu.bme.mit.inf.dslreasoner.application.execution
2 2
3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript 3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask 4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
5import hu.bme.mit.inf.dslreasoner.application.validation.MetamodelValidator
6import hu.bme.mit.inf.dslreasoner.application.validation.QueryAndMetamodelValidator
7import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic 5import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
8import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration 6import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration
9import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel 7import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
@@ -35,12 +33,10 @@ class GenerationTaskExecutor {
35 val scopeLoader = new ScopeLoader 33 val scopeLoader = new ScopeLoader
36 val statisticsUtil = new StatisticSections2CSV 34 val statisticsUtil = new StatisticSections2CSV
37 35
38 val metamodelValidator = new MetamodelValidator
39 val queryAndMetamodelValidator = new QueryAndMetamodelValidator
40
41 def executeGenerationTask( 36 def executeGenerationTask(
42 GenerationTask task, 37 GenerationTask task,
43 ScriptExecutor scriptExecutor, 38 ScriptExecutor scriptExecutor,
39 ScriptConsole.Factory scriptConsoleFactory,
44 IProgressMonitor monitor) 40 IProgressMonitor monitor)
45 { 41 {
46 monitor.subTask('''Collecting all resources''') 42 monitor.subTask('''Collecting all resources''')
@@ -62,7 +58,7 @@ class GenerationTaskExecutor {
62 val memoryLimit = scriptExecutor.getMemoryLimit(configSpecification) 58 val memoryLimit = scriptExecutor.getMemoryLimit(configSpecification)
63 59
64 // 2. create console 60 // 2. create console
65 val console = new ScriptConsole(true,false, 61 val console = scriptConsoleFactory.createScriptConsole(false,
66 if(messageFile!==null) URI.createURI(messageFile.path) else null, 62 if(messageFile!==null) URI.createURI(messageFile.path) else null,
67 if(debugFolder!==null) URI.createURI('''«debugFolder.path»/errors.txt''') else null, 63 if(debugFolder!==null) URI.createURI('''«debugFolder.path»/errors.txt''') else null,
68 if(statisticsFile!==null) URI.createURI(statisticsFile.path) else null 64 if(statisticsFile!==null) URI.createURI(statisticsFile.path) else null
@@ -132,11 +128,12 @@ class GenerationTaskExecutor {
132 // 5. create a solver and a configuration 128 // 5. create a solver and a configuration
133 // 5.1 initialize 129 // 5.1 initialize
134 val solver = solverLoader.loadSolver(task.solver,configurationMap) 130 val solver = solverLoader.loadSolver(task.solver,configurationMap)
135 131 val objectiveSpecification = scriptExecutor.getObjectiveSpecification(task.objectives)
136 val solverConfig = solverLoader.loadSolverConfig(task.solver,configurationMap,console) 132 val objectiveEntries = objectiveSpecification?.entries ?: emptyList
133 val solverConfig = solverLoader.loadSolverConfig(task.solver,configurationMap,objectiveEntries,console)
137 // 5.2 set values that defined directly 134 // 5.2 set values that defined directly
138 solverConfig.solutionScope = new SolutionScope => [ 135 solverConfig.solutionScope = new SolutionScope => [
139 it.numberOfRequiredSolution = if(task.numberSpecified) { 136 it.numberOfRequiredSolutions = if(task.numberSpecified) {
140 task.number 137 task.number
141 } else { 138 } else {
142 1 139 1
@@ -303,7 +300,7 @@ class GenerationTaskExecutor {
303 console.flushStatistics 300 console.flushStatistics
304 console.writeMessage("Model generation finished") 301 console.writeMessage("Model generation finished")
305 } catch(Exception e) { 302 } catch(Exception e) {
306 console.writeError(''' 303 console.writeError('''
307 Error occured («e.class.simpleName»): «e.message» 304 Error occured («e.class.simpleName»): «e.message»
308 «FOR s : e.stackTrace SEPARATOR "\n"» «s»«ENDFOR»''') 305 «FOR s : e.stackTrace SEPARATOR "\n"» «s»«ENDFOR»''')
309 } 306 }
@@ -349,4 +346,4 @@ class GenerationTaskExecutor {
349 return false 346 return false
350 } 347 }
351 } 348 }
352} \ No newline at end of file 349}