diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2020-06-25 19:55:10 +0200 |
---|---|---|
committer | Kristóf Marussy <marussy@mit.bme.hu> | 2020-06-25 19:55:10 +0200 |
commit | c3a6d4b9cf3657070d180aa65ddbf0459e880329 (patch) | |
tree | 780c4fc61578dcb309af53fb0c164c7627e51676 /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend | |
parent | New configuration language parser WIP (diff) | |
parent | Scope unsat benchmarks (diff) | |
download | VIATRA-Generator-c3a6d4b9cf3657070d180aa65ddbf0459e880329.tar.gz VIATRA-Generator-c3a6d4b9cf3657070d180aa65ddbf0459e880329.tar.zst VIATRA-Generator-c3a6d4b9cf3657070d180aa65ddbf0459e880329.zip |
Merge branch 'kris'
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend')
-rw-r--r-- | Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend index 04449a74..3dea677f 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend | |||
@@ -14,6 +14,8 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatt | |||
14 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry | 14 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry |
15 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference | 15 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference |
16 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification | 16 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification |
17 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference | ||
18 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification | ||
17 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference | 19 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference |
18 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification | 20 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification |
19 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification | 21 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification |
@@ -29,14 +31,18 @@ import org.eclipse.core.runtime.IProgressMonitor | |||
29 | import org.eclipse.core.runtime.Status | 31 | import org.eclipse.core.runtime.Status |
30 | import org.eclipse.core.runtime.jobs.Job | 32 | import org.eclipse.core.runtime.jobs.Job |
31 | import org.eclipse.emf.common.util.URI | 33 | import org.eclipse.emf.common.util.URI |
34 | import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor | ||
32 | 35 | ||
36 | @FinalFieldsConstructor | ||
33 | class ScriptExecutor { | 37 | class ScriptExecutor { |
34 | val parser = new ApplicationConfigurationParser | 38 | val parser = new ApplicationConfigurationParser |
35 | 39 | ||
40 | val ScriptConsole.Factory scriptConsoleFactory | ||
41 | |||
36 | /** | 42 | /** |
37 | * Executes a script | 43 | * Executes a script |
38 | */ | 44 | */ |
39 | public def executeScript(URI uri) { | 45 | def executeScript(URI uri) { |
40 | val job = new Job('''Model Generation: «uri.lastSegment»''') { | 46 | val job = new Job('''Model Generation: «uri.lastSegment»''') { |
41 | override protected run(IProgressMonitor monitor) { | 47 | override protected run(IProgressMonitor monitor) { |
42 | try{ | 48 | try{ |
@@ -53,10 +59,10 @@ class ScriptExecutor { | |||
53 | job.schedule(); | 59 | job.schedule(); |
54 | } | 60 | } |
55 | 61 | ||
56 | public def executeScript(ConfigurationScript script, IProgressMonitor monitor) { | 62 | def executeScript(ConfigurationScript script, IProgressMonitor monitor) { |
57 | script.activateAllEPackageReferences | 63 | script.activateAllEPackageReferences |
58 | val tasks = script.commands.filter(Task) | 64 | val tasks = script.commands.filter(Task) |
59 | val intermediateScriptConsole = new ScriptConsole(true,false,null,null,null) | 65 | val intermediateScriptConsole = scriptConsoleFactory.createScriptConsole(false, null, null, null) |
60 | 66 | ||
61 | for(taskIndex : 0..<tasks.size) { | 67 | for(taskIndex : 0..<tasks.size) { |
62 | if(taskIndex>0) { | 68 | if(taskIndex>0) { |
@@ -94,12 +100,12 @@ class ScriptExecutor { | |||
94 | // } | 100 | // } |
95 | } | 101 | } |
96 | 102 | ||
97 | def public dispatch execute(GenerationTask task, IProgressMonitor monitor) { | 103 | def dispatch void execute(GenerationTask task, IProgressMonitor monitor) { |
98 | val generationTaskExecutor = new GenerationTaskExecutor | 104 | val generationTaskExecutor = new GenerationTaskExecutor |
99 | generationTaskExecutor.executeGenerationTask(task,this,monitor) | 105 | generationTaskExecutor.executeGenerationTask(task,this,scriptConsoleFactory,monitor) |
100 | } | 106 | } |
101 | 107 | ||
102 | def public dispatch execute(Task task, IProgressMonitor monitor) { | 108 | def dispatch void execute(Task task, IProgressMonitor monitor) { |
103 | throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''') | 109 | throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''') |
104 | } | 110 | } |
105 | 111 | ||
@@ -174,6 +180,16 @@ class ScriptExecutor { | |||
174 | null | 180 | null |
175 | } | 181 | } |
176 | 182 | ||
183 | def dispatch getObjectiveSpecification(ObjectiveSpecification config) { | ||
184 | config | ||
185 | } | ||
186 | def dispatch getObjectiveSpecification(ObjectiveReference config) { | ||
187 | config.referred.specification | ||
188 | } | ||
189 | def dispatch getObjectiveSpecification(Void config) { | ||
190 | null | ||
191 | } | ||
192 | |||
177 | def dispatch getConfiguration(ConfigSpecification config) { | 193 | def dispatch getConfiguration(ConfigSpecification config) { |
178 | config | 194 | config |
179 | } | 195 | } |
@@ -238,6 +254,7 @@ class ScriptExecutor { | |||
238 | } | 254 | } |
239 | } | 255 | } |
240 | } | 256 | } |
257 | |||
241 | static val boolean measuring = true | 258 | static val boolean measuring = true |
242 | static def restForMeasurements(ScriptConsole console) { | 259 | static def restForMeasurements(ScriptConsole console) { |
243 | if(measuring) { | 260 | if(measuring) { |
@@ -248,4 +265,5 @@ class ScriptExecutor { | |||
248 | Thread.sleep(2500) | 265 | Thread.sleep(2500) |
249 | } | 266 | } |
250 | } | 267 | } |
251 | } \ No newline at end of file | 268 | } |
269 | |||