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 OszkarSemerath <oszkar.semerath@gmail.com>2018-02-15 23:03:20 +0100
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-02-15 23:03:20 +0100
commit92f94b063ec9a65d04178788f3858c750fbf16e7 (patch)
tree5e1d9d7b64075931a8200080f5b2736685d14c71 /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
parentFirst complete scope grammar (diff)
downloadVIATRA-Generator-92f94b063ec9a65d04178788f3858c750fbf16e7.tar.gz
VIATRA-Generator-92f94b063ec9a65d04178788f3858c750fbf16e7.tar.zst
VIATRA-Generator-92f94b063ec9a65d04178788f3858c750fbf16e7.zip
Generation specification -> execution
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.xtend111
1 files changed, 111 insertions, 0 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
new file mode 100644
index 00000000..32d44540
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend
@@ -0,0 +1,111 @@
1package hu.bme.mit.inf.dslreasoner.application.execution
2
3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference
9import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
10import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
11import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task
12import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification
13import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference
14import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification
15import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference
16import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification
17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference
18import java.util.LinkedHashMap
19
20class ScriptExecutor {
21
22 def static void main(String[] args) {
23 println("generator")
24 }
25
26 public def executeScript(ConfigurationScript script) {
27 val tasks = script.commands.filter(Task)
28 for(task : tasks.filterNull) {
29 task.execute
30 }
31 }
32
33 def public dispatch execute(GenerationTask task) {
34
35 }
36
37 def public dispatch execute(Task task) {
38 throw new IllegalArgumentException('''Unsupported task type: «task.class.simpleName»!''')
39 }
40
41 def dispatch getMetamodelSpecification(MetamodelSpecification config) {
42 config
43 }
44 def dispatch getMetamodelSpecification(MetamodelReference config) {
45 config.referred.specification
46 }
47 def dispatch getMetamodelSpecification(Void config) {
48 null
49 }
50
51 def dispatch getPatternSpecification(PatternSpecification config) {
52 config
53 }
54 def dispatch getPatternSpecification(GraphPatternReference config) {
55 config.referred.specification
56 }
57 def dispatch getPatternSpecification(Void config) {
58 null
59 }
60
61 def dispatch getPartialModelSpecification(PartialModelSpecification config) {
62 config
63 }
64 def dispatch getPartialModelSpecification(PartialModelReference config) {
65 config.referred.specification
66 }
67 def dispatch getPartialModelSpecification(Void config) {
68 null
69 }
70
71 def dispatch getFileSpecification(FileSpecification config) {
72 config
73 }
74 def dispatch getFileSpecification(FileReference config) {
75 config.referred.specification
76 }
77 def dispatch getFileSpecification(Void config) {
78 null
79 }
80
81 def dispatch getScopeSpecification(ScopeSpecification config) {
82 config
83 }
84 def dispatch getScopeSpecification(ScopeReference config) {
85 config.referred.specification
86 }
87 def dispatch getScopeSpecification(Void config) {
88 null
89 }
90
91 def dispatch getConfiguration(ConfigSpecification config) {
92 config
93 }
94 def dispatch getConfiguration(ConfigReference config) {
95 config.config.specification
96 }
97 def dispatch getConfiguration(Void config) {
98 null
99 }
100 def transformToMap(ConfigSpecification config) {
101 val map = new LinkedHashMap
102
103 if(config != null) {
104 for(entry : config.entries) {
105 map.put(entry.key,entry.value)
106 }
107 }
108
109 return map
110 }
111} \ No newline at end of file