diff options
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 | 111 |
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 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.application.execution | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript | ||
4 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask | ||
5 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference | ||
6 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference | ||
7 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification | ||
8 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference | ||
9 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification | ||
10 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification | ||
11 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task | ||
12 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification | ||
13 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference | ||
14 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification | ||
15 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference | ||
16 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification | ||
17 | import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference | ||
18 | import java.util.LinkedHashMap | ||
19 | |||
20 | class 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 | ||