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:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-04-08 00:58:00 +0200
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-04-08 00:58:00 +0200
commitc1f185fd8fc2c3dfc123d9271726c588963c7c01 (patch)
tree88a5bb94017e7d3f0fbce0a51a78c2549b0977bd /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
parentInfrastructure for objective functions (diff)
downloadVIATRA-Generator-c1f185fd8fc2c3dfc123d9271726c588963c7c01.tar.gz
VIATRA-Generator-c1f185fd8fc2c3dfc123d9271726c588963c7c01.tar.zst
VIATRA-Generator-c1f185fd8fc2c3dfc123d9271726c588963c7c01.zip
Objective POC implementation
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.xtend20
1 files changed, 16 insertions, 4 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 0512a5ee..25036df6 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
@@ -30,6 +30,8 @@ import org.eclipse.core.runtime.Status
30import org.eclipse.core.runtime.jobs.Job 30import org.eclipse.core.runtime.jobs.Job
31import org.eclipse.emf.common.util.URI 31import org.eclipse.emf.common.util.URI
32import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor 32import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
33import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification
34import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference
33 35
34@FinalFieldsConstructor 36@FinalFieldsConstructor
35class ScriptExecutor { 37class ScriptExecutor {
@@ -40,7 +42,7 @@ class ScriptExecutor {
40 /** 42 /**
41 * Executes a script 43 * Executes a script
42 */ 44 */
43 public def executeScript(URI uri) { 45 def executeScript(URI uri) {
44 val job = new Job('''Model Generation: «uri.lastSegment»''') { 46 val job = new Job('''Model Generation: «uri.lastSegment»''') {
45 override protected run(IProgressMonitor monitor) { 47 override protected run(IProgressMonitor monitor) {
46 try{ 48 try{
@@ -57,7 +59,7 @@ class ScriptExecutor {
57 job.schedule(); 59 job.schedule();
58 } 60 }
59 61
60 public def executeScript(ConfigurationScript script, IProgressMonitor monitor) { 62 def executeScript(ConfigurationScript script, IProgressMonitor monitor) {
61 script.activateAllEPackageReferences 63 script.activateAllEPackageReferences
62 val tasks = script.commands.filter(Task) 64 val tasks = script.commands.filter(Task)
63 65
@@ -94,12 +96,12 @@ class ScriptExecutor {
94// } 96// }
95 } 97 }
96 98
97 def public dispatch execute(GenerationTask task, IProgressMonitor monitor) { 99 def dispatch void execute(GenerationTask task, IProgressMonitor monitor) {
98 val generationTaskExecutor = new GenerationTaskExecutor 100 val generationTaskExecutor = new GenerationTaskExecutor
99 generationTaskExecutor.executeGenerationTask(task,this,scriptConsoleFactory,monitor) 101 generationTaskExecutor.executeGenerationTask(task,this,scriptConsoleFactory,monitor)
100 } 102 }
101 103
102 def public dispatch execute(Task task, IProgressMonitor monitor) { 104 def dispatch void execute(Task task, IProgressMonitor monitor) {
103 throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''') 105 throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''')
104 } 106 }
105 107
@@ -174,6 +176,16 @@ class ScriptExecutor {
174 null 176 null
175 } 177 }
176 178
179 def dispatch getObjectiveSpecification(ObjectiveSpecification config) {
180 config
181 }
182 def dispatch getObjectiveSpecification(ObjectiveReference config) {
183 config.referred.specification
184 }
185 def dispatch getObjectiveSpecification(Void config) {
186 null
187 }
188
177 def dispatch getConfiguration(ConfigSpecification config) { 189 def dispatch getConfiguration(ConfigSpecification config) {
178 config 190 config
179 } 191 }