aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
diff options
context:
space:
mode:
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.xtend32
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
14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry 14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry
15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference 15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification 16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference
18import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference 19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference
18import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification 20import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification 21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
@@ -29,14 +31,18 @@ import org.eclipse.core.runtime.IProgressMonitor
29import org.eclipse.core.runtime.Status 31import org.eclipse.core.runtime.Status
30import org.eclipse.core.runtime.jobs.Job 32import org.eclipse.core.runtime.jobs.Job
31import org.eclipse.emf.common.util.URI 33import org.eclipse.emf.common.util.URI
34import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
32 35
36@FinalFieldsConstructor
33class ScriptExecutor { 37class 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